1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00
Commit Graph

380 Commits

Author SHA1 Message Date
Paul Eggert
7e2a154398 Update from Gnulib
This incorporates:
2018-11-03 nstrftime: simplify test for mktime failure
2018-11-02 gnulib-common.m4: port _Noreturn to C++
2018-10-22 std-gnu11: Support Autoconf versions < 2.64
2018-10-22 Assume Autoconf >= 2.63
2018-10-16 Remove support for Ultrix
2018-10-16 getloadavg: Remove support for ConvexOS
2018-10-16 getloadavg: Remove support for Sony NEWS
2018-10-16 Remove support for Dynix/ptx
2018-10-16 fsusage: Remove support for AIX 3
2018-10-16 fsusage, stat-size, getloadavg: Remove support for AIX PS/2
2018-10-16 getloadavg: Remove support for HP-UX on m68k
2018-10-16 fsusage, mountlist: Remove support for DolphinOS
2018-10-16 getloadavg: Remove support for Alliant FX/2800
2018-10-16 getloadavg: Remove support for tek4300
2018-10-16 getloadavg: Remove support for Ardent
* build-aux/config.guess, build-aux/config.sub, lib/_Noreturn.h:
* lib/fsusage.c, lib/getgroups.c, lib/getloadavg.c:
* lib/nstrftime.c, lib/time.in.h, m4/errno_h.m4:
* m4/fsusage.m4, m4/getgroups.m4, m4/gnulib-common.m4, m4/longlong.m4:
* m4/std-gnu11.m4, m4/stdint.m4:
Copy from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate:
2018-11-13 10:59:31 -08:00
Paul Eggert
3d91dc1bb5 Update lib/regex from glibc via Gnulib
This syncs recent refactorings from glibc, and incorporates:
2018-10-15 libc-config: merge from glibc
2018-10-15 regex: depend on libc-config
* .gitignore: Do not ignore m4/_*.m4.
* lib/cdefs.h: New file, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/libc-config.h, m4/__inline.m4: New files, copied from Gnulib.
* lib/regcomp.c, lib/regex.c, lib/regex_internal.c:
* lib/regex_internal.h, lib/regexec.c:
Copy from glibc via Gnulib.
2018-10-15 00:57:57 -05:00
Paul Eggert
6b8fd34c4a Update from Gnulib
This is minor refactoring that should not affect Emacs builds.
It incorporates:
2018-10-12 Make better use of Autoconf
* m4/environ.m4, m4/fsusage.m4, m4/manywarnings.m4, m4/socklen.m4:
Copy from Gnulib.
2018-10-14 22:12:46 -05:00
Paul Eggert
cf1ebfa055 Update from Gnulib
This incorporates:
2018-10-05 explicit_bzero: make it possible to namespace
2018-10-04 fcntl: make it possible to namespace
2018-10-01 mkostemp, mkostemps: fix C++ compilation on Mac OS X
2018-09-19 maint: mktime.c now shared with glibc
2018-09-18 file-has-acl: fix test failure on Cygwin 2.9
2018-09-18 gettime: nanotime never existed
* admin/merge-gnulib (AVOIDED_MODULES): Add mkdir.
* doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
* lib/acl_entries.c, lib/explicit_bzero.c, lib/fcntl.c:
* lib/get-permissions.c, lib/gettime.c, lib/mktime.c:
* lib/set-permissions.c, lib/stdlib.in.h, m4/acl.m4, m4/gettime.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2018-10-08 18:22:22 -07:00
Paul Eggert
fc389d3a83 Update from Gnulib
This incorporates:
2018-09-10 timespec: fix resolution confusion
2018-09-09 mktime: simplify in prep for glibc merge
2018-09-07 intprops: minor clarification of code
2018-09-06 stddef: Override max_align_t on NetBSD 8.0/x86
2018-09-06 fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku
2018-09-06 strtoll, strtoull: Rely on limits-h module
2018-09-06 limits-h: Provide numerical limits macros
2018-09-06 fcntl: Don't access nonexistent optional argument
2018-09-02 mktime: fix unlikely race+overflow bug
2018-08-31 mktime, timegm: simplify glibc time64_t
2018-08-31 mktime, timegm: simplify merge to glibc
* build-aux/config.guess, build-aux/config.sub:
* lib/dtotimespec.c, lib/fcntl.c, lib/intprops.h:
* lib/limits.in.h, lib/mktime-internal.h, lib/mktime.c:
* lib/stat-time.h, lib/strtol.c, lib/timegm.c:
* lib/timespec-add.c, lib/timespec-sub.c, lib/timespec.h:
* lib/utimens.c, m4/limits-h.m4, m4/stddef_h.m4:
Copy from Gnulib.
2018-09-10 21:22:54 -07:00
Paul Eggert
f1acdff5e0 Update from Gnulib
* build-aux/config.sub, lib/intprops.h, lib/regex_internal.c:
* lib/regex_internal.h, lib/unistd.in.h, m4/limits-h.m4:
* m4/stdint.m4, m4/unistd_h.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2018-08-27 19:00:14 -07:00
Paul Eggert
d904cc83f3 Use Gnulib regex for lib-src
Emacs regular expressions forked from everyone else long ago.
This makes it official and should allow simplification later.
etags.c now uses the glibc regex API, falling back on a
Gnulib-supplied substitute lib/regex.c if necessary.
Emacs proper now uses its own regular expression module.
Although this patch may look dauntingly large, most of it
was generated automatically by admin/merge-gnulib
and contains an exact copy of the glibc regex source,
and the by-hand changes do not grow the Emacs source code.
* admin/merge-gnulib (GNULIB_MODULES): Add regex.
(AVOIDED_MODULES): Add btowc, langinfo, lock, mbrtowc, mbsinit,
nl_langinfo, wchar, wcrtomb, wctype-h.
* lib-src/Makefile.in (regex-emacs.o): Remove; Gnulib does it now.
(etags_deps, etags_libs): Remove regex-emacs.o.
* lib-src/etags.c: Go back to including regex.h.
(add_regex): Use unsigned char translation array,
since glibc regex requires that.
* lib/Makefile.in (not_emacs_OBJECTS, for_emacs_OBJECTS): New macros.
(libegnu_a_OBJECTS): Use them, to avoid building e-regex.o.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
* lib/regex_internal.h, lib/regexec.c, m4/builtin-expect.m4:
* m4/eealloc.m4, m4/glibc21.m4, m4/mbstate_t.m4, m4/regex.m4:
New files, copied from Gnulib.
* src/regex-emacs.h, src/conf_post.h:
(RE_TRANSLATE_TYPE, RE_TRANSLATE, RE_TRANSLATE_P):
Move from src/conf_post.h to src/regex-emacs.h,
so that they don’t interfere with compiling lib/regex.c.
2018-08-05 19:36:09 -07:00
Paul Eggert
ba8eb994f8 Update from gnulib
This incorporates:
2018-08-05 Fix link error regarding 'rpl_environ'
* build-aux/config.guess, lib/unistd.in.h, lib/warn-on-use.h:
* m4/extern-inline.m4: Copy from Gnulib.
2018-08-05 17:40:48 -07:00
Paul Eggert
d216d7d248 Substitute a <ieee754.h> on hosts lacking it
* .gitignore: Add lib/ieee754.h.
* admin/merge-gnulib (GNULIB_MODULES): Add ieee754-h.
* configure.ac: Remove ieee754.h check, as Gnulib now does that.
* etc/NEWS: Mention this.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/ieee754.in.h, m4/ieee754-h.m4: New files, from Gnulib.
* src/lisp.h (IEEE_FLOATING_POINT): Now a macro so that it
can be used in #if.
* src/lread.c, src/print.c: Include <ieee754.h> if
IEEE_FLOATING_POINT, not if HAVE_IEEE754_H.
* src/lread.c (string_to_number):
* src/print.c (float_to_string):
Process NaNs only on IEEE hosts, and assume <ieee754.h>
in that case.
2018-08-01 19:01:51 -07:00
Paul Eggert
848f0f73e9 Fix floating point exceptions on Alpha (Bug#32086)
Backport from master.
* admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
* m4/fpieee.m4: New file, copied from Gnulib.
* m4/gnulib-comp.m4: Regenerate.
2018-07-08 10:52:12 -07:00
Paul Eggert
0c3e283c76 Fix floating point exceptions on Alpha (Bug#32086)
* admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
* m4/fpieee.m4: New file, copied from Gnulib.
* m4/gnulib-comp.m4: Regenerate.
2018-07-08 09:26:22 -07:00
Paul Eggert
891536aaad Update from Gnulib
This incorporates:
2018-07-01 getloadavg: don't redefine WINDOWS32
2018-07-01 manywarnings: omit -Wswitch-default
* build-aux/config.sub, lib/getloadavg.c, m4/manywarnings.m4:
Copy from Gnulib.
2018-07-03 23:51:31 -07:00
Paul Eggert
35e9dcab51 Update from Gnulib
This incorporates:
2018-06-29 regex: glibc does not use intprops.h
2018-06-28 regex: port to recently proposed glibc regex merge
2018-06-25 Continue to use spaces for indentation, not tabs
2018-06-25 manywarnings: Don't enable -Wjump-misses-init by default
2018-06-25 acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
2018-06-24 manywarnings: accommodate GCC 9: remove -Wchkp and -Wabi
2018-06-24 maint: clarify comments about sticky EOF
2018-06-24 af_alg: avoid hangs when reading from streams
2018-06-17 crypto: use byteswap
2018-06-17 getloadavg: Return 0 on MS-Windows without Cygwi
2018-06-17 getloadavg: Allow building on MS-Windows without Cygwin
* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
* lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
* lib/getloadavg.c, lib/gettimeofday.c, lib/md5.c, lib/pselect.c:
* lib/set-permissions.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
* lib/time.in.h, m4/getloadavg.m4, m4/gnulib-common.m4:
* m4/manywarnings.m4, m4/pthread_sigmask.m4, m4/vararrays.m4:
Copy from Gnulib.
2018-06-29 17:32:35 -07:00
Paul Eggert
79f15092b9 Update from Gnulib
This incorporates:
2018-05-21 crypto: omit stream ops Emacs doesn’t need
2018-05-13 truncate: Fix compilation error on Android
2018-05-13 imaxdiv: Fix compilation error on Android
2018-05-13 Support selective inclusion of recent mingw.org headers
2018-05-13 Add cross-compilation guesses for Linux systems sans glibc
2018-05-13 stdioext: Fix compilation errors with newer Android headers
2018-05-07 af_alg: Pacify --enable-gcc-warnings
2018-05-06 af_alg: Fix bug with streams that are not at position 0
2018-05-06 Followup to 'af_alg: New module'
2018-05-05 crypto/{md5,sha1,sha256,sha512}: simplify
2018-05-05 af_alg: New module
2018-05-05 af_alg: Improve function signature
2018-04-28 md5sum: Use AF_ALG when available
2018-04-28 sha512sum: Use AF_ALG when available
2018-04-28 sha256sum: Use AF_ALG when available
2018-04-28 sha1sum: Use AF_ALG when available
2018-05-05 all: Replace more http URLs by https URLs
2018-05-03 maint: port more modules to GCC 8
2018-05-03 Simplify code; drop support for Borland C++ on Windows
* admin/merge-gnulib (GNULIB_MODULES): Use crypto/md5-buffer
rather than crypto/md5, since Emacs doesn’t use the stream
operations that in recent Gnulib pull in other stuff Emacs doesn’t
need.  Similarly for crypto/sha1-buffer, crypto/sha256-buffer,
crypto/sha512-buffer.
* build-aux/config.guess, build-aux/config.sub, lib/dosname.h:
* lib/dup2.c, lib/errno.in.h, lib/euidaccess.c, lib/fcntl.c:
* lib/fcntl.in.h, lib/fpending.c, lib/fsync.c, lib/getdtablesize.c:
* lib/getopt.c, lib/gettimeofday.c, lib/inttypes.in.h, lib/md5.c:
* lib/md5.h, lib/open.c, lib/pipe2.c, lib/putenv.c, lib/sha1.c:
* lib/sha1.h, lib/sha256.c, lib/sha256.h, lib/sha512.c:
* lib/sha512.h, lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
* lib/stdlib.in.h, lib/sys_stat.in.h, lib/sys_types.in.h:
* lib/timespec.h, lib/unistd.in.h, lib/utimens.c, m4/c-strtod.m4:
* m4/gnulib-common.m4, m4/inttypes.m4, m4/lstat.m4, m4/nocrash.m4:
* m4/pselect.m4, m4/readlink.m4, m4/stdio_h.m4, m4/symlink.m4:
* m4/unistd_h.m4, m4/utimens.m4:
Copy from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
2018-05-21 11:43:07 -07:00
Paul Eggert
2b9ab8c8fb Update from Gnulib
This incorporates:
2018-04-27 manywarnings: port to GCC 8.0
* build-aux/config.sub, m4/manywarnings.m4: Copy from Gnulib.
2018-04-28 16:56:48 -07:00
Paul Eggert
e9bfd114a5 Update from Gnulib
This incorporates:
2018-03-28 time_rz: fix workaround for Mac OS X 10.6 infloop
* m4/time_rz.m4: Copy from Gnulib.
2018-03-28 14:23:20 -07:00
Paul Eggert
72fad885b6 Update from Gnulib
This incorporates:
2018-03-26 time_rz: work around Mac OS X 10.6 infloop
2018-03-20 euidaccess: Port to native Windows.
* lib/euidaccess.c, lib/time_rz.c, m4/time_rz.m4: Copy from Gnulib.
2018-03-27 13:31:23 -07:00
Paul Eggert
7ce25de888 Autoupdate from Gnulib 2018-03-20 09:26:37 -07:00
Paul Eggert
630da78a3c Update from gnulib
This includes:
2018-02-18 warnings: Add support for Objective C
2018-02-03 stdlib: Fix compilation error on OpenIndiana
* lib/gnulib.mk.in: Regenerate.
* lib/stdlib.in.h, m4/getloadavg.m4, m4/stdlib_h.m4, m4/warnings.m4:
Copy from gnulib.
2018-02-20 13:45:27 -08:00
Paul Eggert
37b2f9f356 Merge from pkg-config
* m4/pkg.m4: Copy from pkg-config 0.29.2.
2018-02-11 13:10:41 -08:00
Paul Eggert
100e33979b Update from gnulib
This includes:
2018-01-31 environ: Fix link error on 64-bit Cygwin
2018-01-27 Fix malfunction of socket functions on HP-UX in 64-bit mode
2018-01-26 manywarnings: fix maintainer comment
2018-01-23 Merge strftime.c changes from glibc
* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
* lib/gnulib.mk.in, lib/nstrftime.c, lib/unistd.in.h, m4/extensions.m4:
* m4/manywarnings.m4: Update.
2018-02-01 09:21:39 -08:00
Paul Eggert
7519897727 Merge from gnulib, mostly to fix copyright years 2018-01-01 01:25:56 -08:00
Paul Eggert
d263ce25cd Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 01:25:56 -08:00
Paul Eggert
bb267f17f9 Merge from origin/emacs-26
63b04c11d5 Fix copyright years by hand
5c7dd8a783 Update copyright year to 2018
220a9ecba1 Merge from Gnulib
312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
39ca289a7a Allow customization of decoding of "man" command
f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
acd289c5a4 Fix problems with indexing in User manual
b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
7175496d7a Fix doc string of 'enable-recursive-minibuffers'
5b38406491 Fix documentation of delsel and of killing text

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
2018-01-01 01:13:04 -08:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Paul Eggert
220a9ecba1 Merge from Gnulib
This incorporates:
2018-01-01 maint: Run 'make update-copyright'
2017-12-29 Add cross-compilation results for GNU/Hurd.
2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
2017-12-31 17:21:33 -08:00
Paul Eggert
d20161b25e Merge from origin/emacs-26
a89f0b6f33 maint: shorten https://lists.gnu.org/archive/html/... links
8be3aee281 Merge from Gnulib
265cee553f Work around GCC bug 80776 on Fedora 27 x86
dc7a97fb84 Tweak copy-file, rename-file doc
cfa2a944d4 Change font-lock-extend-region-multiline handling in mhtml...
a8664cc998 Minor cleanup in tramp-gvfs-handle-file-local-copy
55c5b12fa0 Add test for Bug#29423 in Tramp.
3198a1646e Avoid jumbled order in HTML rendered by shr.el
23bfc2d2db Make sure 'dired-filename' property is always put by ls-lisp
f7fdaea4c0 A better solution for bug#29347
86e6ed8521 ; * src/thread.c (acquire_global_lock): Fix thinko in last...
f300852037 Avoid a hang after C-g while sit-for on a Unix TTY
d7fc719ff1 Improve the doc string of 'list-packages'
b4f67ebb92 Improve discoverability of 'defvar' for suppressing warnings
8a2b204e64 Improve discoverability of 'read-buffer-completion-ignore-...
eea4e9194c Improve documentation of self-insert-uses-region-functions
e6e41dac87 Reflect changes in copy-file and rename-file in doc strings
0ec534070f * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (...
1d0dbdff6c Reorder type predicates in ELisp manual
b081ec9dd7 Fix backward scrolling in buffers with header-line
8e40429c96 ; Fix some doc typos
ed2c542920 * lisp/bindings.el (buffer-file-coding-system): Add explic...
d82474e452 * src/fns.c (syms_of_fns) <overriding-plist-environment>: ...
292c09ff6d Fix incorrect interaction of drag/drop and double click (b...
d6fadb1d26 * lisp/menu-bar.el (menu-bar-options-save): Add display-li...
daa959efbc * lisp/menu-bar.el (menu-bar-options-save): Add global-dis...
17fc74d1b9 * lisp/follow.el (follow-mode): Restore mode line lighter....
f20c2e2f3d ; Compare process status against 127 exactly
2d203ffb7e Extract the common part of ruby-flymake-simple and ruby-fl...
09944d499a Add Rubocop Flymake backend
c65a0ae7c4 ; Fix a typo
7ab7603125 Update nt/INSTALL.W64 (Bug#28601)
11db253c08 Remove incorrect NEWS item about VC state indicator (Bug#2...
2fdc01c036 * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
735c8b516e Make c-defun-name analyze more thoroughly a function type ...
92f0c4cd56 Avoid bogus abbreviated file names if HOME changes
8d450453fa * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
37a3b4ea40 Fix erc keep-place module with new defaults (Bug#29111)
6c312605bf Add window divider faces to NS (bug#29353)

# Conflicts:
#	etc/NEWS
#	lisp/ruler-mode.el
2017-11-25 22:55:35 -08:00
Paul Eggert
8be3aee281 Merge from Gnulib
This incorporates:
2017-11-23 stat: work around Solaris bug with tv_nsec < 0
2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
* build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
* lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
* lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
* lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
* m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
* m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
* m4/vararrays.m4:
Copy from Gnulib.
2017-11-25 22:48:09 -08:00
Paul Eggert
99ceefa8ec Merge from origin/emacs-26
79108894db Port to IBM xlc 12.01
d14956099d Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
b1573a97e1 Use alignas to fix GCALIGN-related bugs
5d68dc9a2f Change vectorlike from struct to union
6aa0a26b46 Don't enable cursor-sensor-mode in mhtml-mode
2b8ef8dddf * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
fe85ce1e16 Unbreak interactive run of a flymake test (bug#29267)
48ad00390d Fix Bug#29225
42daf83f08 CC Mode: Fix defun-open being recognized as brace-list-ope...
7775c47298 Merge from Gnulib
e470d16448 Pacify GCC when configured --with-x-toolkit=no
49450d0951 * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
e286b3381f Fix more flymake-diag-region eob corner cases and add test...

# Conflicts:
#	src/lisp.h
2017-11-13 10:54:20 -08:00
Paul Eggert
7775c47298 Merge from Gnulib
This incorporates:
2017-11-11 faccessat: port to macOS (Bug#29231)
2017-11-05 fstatat: pacify GCC on unusual platform
* build-aux/config.guess, build-aux/config.sub:
* doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
* lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
Copy from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
2017-11-11 23:12:17 -08:00
Paul Eggert
135bca574c Port file-system-info to non-Microsoft
* admin/merge-gnulib (GNULIB_MODULES): Add fsusage.
* doc/emacs/files.texi (Directories): Remove documentation of
now-obsolete directory-free-space-program and
directory-free-space-args.
* etc/NEWS: Mention change.
* etc/PROBLEMS: Slow df is no longer a problem.
* lib/fsusage.c, lib/fsusage.h, m4/fsusage.m4:
New files, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lisp/dired.el (dired-free-space-program)
(dired-free-space-args): These aliases are now obsolete.
* lisp/files.el (directory-free-space-program)
(directory-free-space-args): Now obsolete.
(get-free-disk-space): Just call file-system-info instead
of the now-obsolete directory-free-space-program.
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_fsusage): New macro.
* src/fileio.c: Include fsusage.h.
(blocks_to_bytes, Ffile_system_info) [!DOS_NT]: New functions.
(syms_of_fileio) [!DOS_NT]: Defsubr file-system-info.
2017-10-01 22:33:20 -07:00
Paul Eggert
3ab2f9bbb9 Merge from gnulib
This incorporates:
2017-09-28 string: code style
2017-09-25 sys_types: update URL
2017-09-23 install-sh: do not assume / = //
2017-09-21 mktime: port to OpenVMS
* build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
* m4/sys_types_h.m4: Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2017-09-29 21:56:21 -07:00
Paul Eggert
6bbbc38b34 Merge from Gnulib
This incorporates:
2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
2017-09-13 all: Replace many more http URLs by https URLs
* build-aux/config.guess, build-aux/config.sub:
* build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
* lib/allocator.h, lib/count-leading-zeros.h:
* lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
* lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
* lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
* lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
* m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
* m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2017-09-17 13:06:54 -07:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Paul Eggert
a0202fdc85 Merge from Gnulib
This incorporates:
2017-09-13 all: prefer https: URLs
This just changes http: to https: in comments,
in files copied from Gnulib.
2017-09-13 02:08:36 -07:00
Paul Eggert
b079ee72ac Merge from gnulib
This incorporates:
2017-09-08 stddef: Avoid conflict with system-defined max_align_t
2017-08-24 warnings: fix compilation with old autoconf
2017-08-23 glob: merge from glibc with Zanella glob changes
2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
* doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
* lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
* m4/warnings.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2017-09-10 08:40:43 -07:00
Paul Eggert
794c3cd3a2 Merge from Gnulib; use ‘open’ for O_CLOEXEC
This incorporates:
2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
2017-08-15 extensions: enable NetBSD specific extensions
2017-08-14 open: support O_CLOEXEC
2017-08-13 reallocarray: new module
* admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
it now supports O_CLOEXEC and this simplifies Emacs.
* build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
* lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
Copy from Gnulib.
* lib/cloexec.c, lib/cloexec.h, lib/open.c:
* m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
New files, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
Remove, as Gnulib does this for us.
* src/filelock.c (create_lock_file):
* src/sysdep.c (emacs_open, emacs_pipe):
Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
2017-08-16 14:04:33 -07:00
Paul Eggert
a6ad98ad66 Improve make-temp-file performance on local files
For the motivation behind this patch, please see Bug#28023 and:
http://emacshorrors.com/posts/make-temp-name.html
Although, given the recent changes to Tramp, the related security
problem in make-temp-file is already fixed, make-temp-file still has
several unnecessary system calls.  In the typical case on GNU/Linux,
this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
getpid, unlink, umask) by 2 (open, close).
* admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
that Emacs is using it directly.
* configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
no longer needed.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lisp/files.el (files--make-magic-temp-file): Rename from
make-temp-file.
(make-temp-file): Use make-temp-file-internal for
non-magic file names.
* src/fileio.c: Include tempname.h.
(make_temp_name_tbl, make_temp_name_count)
(make_temp_name_count_initialized_p, make_temp_name): Remove.
(Fmake_temp_file_internal): New function.
(Fmake_temp_name): Use it.
* src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
instead of make_temp_name.
2017-08-12 15:14:45 -07:00
Paul Eggert
904be8c4cf Merge from gnulib
This incorporates:
2017-08-09 tempname: do not depend on secure_getenv
2017-08-08 extensions: add _OPENBSD_SOURCE
2017-08-06 manywarnings: Add support for C++
2017-08-06 warnings, manywarnings: Add support for multiple languages
* admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
* lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
Copy from gnulib.
2017-08-09 11:46:06 -07:00
Paul Eggert
b8748dd093 Merge from gnulib
This incorporates:
2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
2017-08-01 manywarnings: port to 32-bit GCC bug
* lib/gnulib.mk.in: Regenerate.
* m4/manywarnings.m4: Copy from gnulib.
2017-08-04 22:47:05 -07:00
Paul Eggert
3a8d0cc825 Avoid most stat calls when completing file names
* admin/merge-gnulib (GNULIB_MODULES): Add d-type.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* m4/d-type.m4: New file, copied from gnulib.
* src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
[!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
(dirent_type): New function.
(file_name_completion): Use it, to avoid unnecessary calls to
stat-like functions on GNU/Linux and other platforms with d_type.
(file_name_completion_stat): Just follow the link; there is no
need to try first with AT_SYMLINK_NOFOLLOW since the directory
entry was already checked to exist.
2017-07-31 12:56:51 -07:00
Paul Eggert
9b971bdd34 Merge from gnulib
This incorporates:
2017-07-23 Rename module 'strftime' to 'nstrftime'
* admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
* build-aux/config.guess: Copy from gnulib.
* lib/nstrftime.c: Rename from lib/strftime.c.
* m4/nstrftime.m4: Rename from m4/strftime.m4.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
2017-07-23 22:23:49 -07:00
Paul Eggert
59f6972134 Use explicit_bzero to clear GnuTLS keys
* admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
* lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* src/gnutls.c (clear_storage): New function.
(gnutls_symmetric_aead): Use it instead of memset.
2017-07-16 16:29:12 -07:00
Paul Eggert
252444aaa3 Merge from gnulib
This incorporates:
2017-07-16 explicit_bzero: new module
2017-07-15 getdtablesize: Add minimal support for OpenVMS.
* lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
* m4/string_h.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2017-07-16 16:29:11 -07:00
Paul Eggert
3128d5d10e Merge from gnulib
This incorporates:
2017-07-13 Improve cross-compilation guesses for native Windows
2017-07-11 More systematic m4 quoting and indentation
2017-07-10 Make sure $host and $host_os are defined when used
2017-07-03 stdioext: Port to OpenVMS
2017-06-24 xalloc-oversized: port to icc
* doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
* lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
* m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
* m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
Copy from Gnulib.
2017-07-13 19:24:49 -07:00
Paul Eggert
f6ef15cf84 Use unlocked stdio more systematically
This can improve performance significantly on stdio-bottlenecked code.
E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
* admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
* lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
* lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
* lib-src/profile.c, lib-src/update-game-score.c:
Include unlocked-io.h instead of stdio.h, since these programs are
single-threaded.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
* src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
* src/lread.c, src/term.c:
Include sysstdio.h, possibly instead of stdio.h, to define
the unlocked functions if the system does not provide them.
* src/charset.c, src/lread.c (getc_unlocked):
Remove, since sysstdio.h now defines it if needed.
* src/cm.c (cmputc, cmcheckmagic):
* src/dispnew.c (update_frame, update_frame_with_menu)
(update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
* src/emacs.c (main, Fdump_emacs):
* src/fileio.c (Fdo_auto_save, Fset_binary_mode):
* src/image.c (slurp_file, png_read_from_file, png_load_body)
(our_stdio_fill_input_buffer):
* src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
* src/lread.c (readbyte_from_file):
* src/minibuf.c (read_minibuf_noninteractive):
* src/print.c (printchar_to_stream, strout)
(Fredirect_debugging_output):
* src/sysdep.c (reset_sys_modes, procfs_ttyname)
(procfs_get_total_memory):
* src/term.c (tty_ring_bell, tty_send_additional_strings)
(tty_set_terminal_modes, tty_reset_terminal_modes)
(tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
(tty_write_glyphs_with_face, tty_insert_glyphs)
(tty_menu_activate):
* src/xfaces.c (Fx_load_color_file):
Use unlocked stdio when it should be safe.
* src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
(fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
(fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
(putc_unlocked, putchar_unloced): Provide substitutes if not declared.
2017-06-22 11:22:53 -07:00
Philipp Stephani
d682f0daa3 Add command to replace buffer contents
Add a new command 'replace-buffer-contents' that uses the Myers diff
algorithm to non-destructively replace the accessible portion of the
current buffer.  The Myers algorithm is implemented in Gnulib.

* src/editfns.c (Freplace_buffer_contents): New command.
(set_bit, bit_is_set, buffer_chars_equal): New helper functions.
(syms_of_editfns): Define new command.

* test/src/editfns-tests.el (replace-buffer-contents-1)
(replace-buffer-contents-2): New unit tests.

* src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.

* admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
2017-06-17 15:40:58 +02:00
Paul Eggert
07ab837491 Merge from gnulib
This incorporates:
2017-06-11 getopt-posix: port to glibc 2.25.90
2017-06-04 same-inode: port better to VMS 8.2 and later
* doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
* m4/sys_types_h.m4: Copy from gnulib.
2017-06-11 17:30:06 -07:00
Paul Eggert
178d0cb5f5 Improve performance by avoiding strtoumax
This made (string-to-number "10") 20% faster on my old desktop,
an AMD Phenom II X4 910e running Fedora 25 x86-64.
* admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
* m4/strtoumax.m4: Remove.
* src/editfns.c (str2num): New function.
(styled_format): Use it instead of strtoumax.  Use ptrdiff_t
instead of uintmax_t.  Check for integer overflow.
* src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
Move to private scope and make them enums.
(string_to_number): Compute integer value directly during
first pass instead of revisiting it with strtoumax later.
2017-06-01 16:06:38 -07:00
Paul Eggert
2e1bebe279 Merge with gnulib, pacifying GCC 7
This incorporates:
2017-05-16 manywarnings: update for GCC 7
2017-05-15 sys_select: Avoid "was expanded before it was required"
* configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
-Wformat-overflow=2 options, due to too many false alarms.
* doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
Copy from gnulib.
* m4/gnulib-comp.m4: Regenerate.
* src/coding.c (decode_coding_iso_2022):
Fix bug uncovered by -Wimplicit-fallthrough.
* src/conf_post.h (FALLTHROUGH): New macro.
Use it to mark all switch cases that fall through.
* src/editfns.c (styled_format): Use !, not ~, on bool.
* src/gtkutil.c (xg_check_special_colors):
When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
(xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
this bug was actually caught by Clang.
* src/search.c (boyer_moore):
Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
Tell GCC that glyph->u.glyphless.ch must be a character.
2017-05-16 10:27:41 -07:00
Paul Eggert
10037e4be2 Merge from gnulib
This incorporates:
2017-05-14 same-inode: Adapt for windows-stat-inodes
2017-05-14 windows-stat-inodes: New module
2017-05-14 stat-time: Adapt for windows-stat-timespec
* lib/gnulib.mk.in: Regenerate.
* lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
Copy from gnulib.
2017-05-14 12:40:03 -07:00
Paul Eggert
4132bd74e9 Merge from gnulib
This incorporates:
2017-05-13 largefile: Simplify
2017-05-13 largefile: Improve and document
2017-05-13 truncate: New module
2017-05-13 windows-stat-timespec: New module
2017-05-13 windows-stat-override: New module
2017-05-11 getopt-posix: port to mingw
2017-05-11 gettimeofday: Increase precision on mingw
2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
2017-05-10 Implement a way to opt out from MSVC support
2017-05-09 tzset: Expand comment about TZ problem on native Windows
* build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
* lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
* lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
* lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
* m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
* m4/unistd_h.m4: Copy from gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
2017-05-14 01:29:29 -07:00
Paul Eggert
5c1631b9e9 Merge from pkg-config
* m4/pkg.m4: Copy from pkg-config 0.29.1.
2017-05-03 18:19:25 -07:00
Paul Eggert
634d0a907f Merge from gnulib
This incorporates:
2017-05-01 New module 'localtime-buffer'
2017-04-30 utimens: Add support for native Windows
* admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
* configure.ac (tzset): No need for Emacs itself to check now.
* lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
* m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/localtime-buffer.c, lib/localtime-buffer.h:
* m4/localtime-buffer.m4: New files, copied from gnulib.
* src/editfns.c (init_editfns): Assume tzset is callable.
2017-05-01 15:33:26 -07:00
Paul Eggert
b6aa3446df Merge from gnulib
This incorporates:
2017-04-30 strftime-fixes: New module
2017-04-30 mktime: Work around TZ problem on native Windows
2017-04-30 ctime, localtime: New modules
2017-04-30 gettimeofday: Provide higher resolution on native Windows
2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
2017-04-29 Make use of module 'utime-h'
2017-04-30 Fix a few typos
* admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
* lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
* m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
* m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
Copy from gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
2017-04-30 14:53:17 -07:00
Paul Eggert
7e4dae99d6 Merge from gnulib
This avoids incorporating the following, which I suspect are
more trouble for Emacs than they’re worth:
2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
* admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
2017-04-30 00:40:33 -07:00
Paul Eggert
abd769131d Merge from gnulib
This incorporates:
2017-04-24 time_rz: fix heap buffer overflow vulnerability
2017-04-23 stat-time: Update comments.
2017-04-22 ftoastr: cite a newer paper
2017-04-21 gettext-h: Avoid -Wundef warning.
* lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
* m4/getopt.m4: Copy from gnulib.
* m4/gnulib-comp.m4: Regenerate.
2017-04-27 15:24:07 -07:00
Paul Eggert
43bc45ba16 Merge from gnulib (Bug#26398)
This incorporates:
2017-04-08 getopt: prefer - to _ in new file names
2017-04-08 getopt: port recent getopt changes to macOS
* .gitignore: Add lib/getopt-cdefs.h.
* lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
* lib/getopt-core.h: Rename from lib/getopt_core.h.
* lib/getopt-ext.h: Rename from lib/getopt_ext.h.
* lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
* lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
* lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
Copy from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
2017-04-09 00:55:23 -07:00
Paul Eggert
022755953f Merge from gnulib
This merges some getopt fixes from Zack Weinberg, and affects only
non-GNUish platforms.  It incorporates:
2017-04-06 getopt-gnu: omit some duplicate code
2017-04-06 getopt-posix: use angle-bracket include
2017-04-06 getopt: annotate files with relationship to glibc
2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
2017-04-06 getopt: better handling of ambiguous options
2017-04-06 getopt: refactor long-option handling
2017-04-06 getopt: tidy up _getopt_initialize a bit
2017-04-06 getopt: merge from glibc: repetition reduction
2017-04-06 getopt: clean up error reporting
2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
2017-04-06 getopt: harmonize comments with glibc
2017-04-06 getopt: remove USE_NONOPTION_FLAGS
2017-04-06 getopt: tabify, in preparation for merge with glibc
2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
* build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
* lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
* lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
* lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
Copy from gnulib.
* lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
* lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
New files, taken from gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4:
Regenerate.
2017-04-06 16:30:09 -07:00
Paul Eggert
fa90c5e86e Merge from gnulib
This gets Emacs working again with HP-UX Itanium cc.
It incorporates:
2017-03-19 stdalign: tweak version# and test for HP-UX IA64
2017-03-18 stdalign: restore previous behavior for HP-UX IA64
2017-03-17 stat-time, timespec: Support header files in C++ mode
2017-03-17 stdalign: Make it work with HP-UX cc
2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
2017-03-14 gnulib-tool: don't produce tests with only snippets
2017-03-14 limits-h: Make it work with HP-UX cc.
* etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
* lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
Copy from gnulib.
2017-03-19 13:09:31 -07:00
Paul Eggert
fac0bb9cf7 Merge from gnulib
This incorporates:
2017-03-14 snippets: move unadjusted snippet sources to lib
2017-03-14 gnulib-tool: fix typo in comment output
2017-03-14 snippets: work around GNU Make 3.82 VPATH
2017-03-13 gnulib-tool: minor --gnu-make fixups
2017-03-12 gnulib-tool: new option --gnu-make
* .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
lib/warn-on-use.h.  Change exception from
build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
* admin/authors.el (authors-renamed-files-regexps):
* admin/notes/copyright, make-dist:
The snippet files moved from build-aux/snippet to lib.
* lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
* lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
* lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
2017-03-14 14:50:02 -07:00
Paul Eggert
026c2cbf35 Remove some stray gnulib files
* admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
(GNULIB_MODULES): Remove unsetenv, as it is not needed and
the --avoid=unsetenv option avoided most of it anyway.
* lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
* lib/gnulib.mk: Regenerate.
2017-03-12 00:03:38 -08:00
Paul Eggert
cbd4708db2 Merge from gnulib
This incorporates:
2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
* doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
2017-03-12 00:03:37 -08:00
Paul Eggert
74f87fd111 logb now works correctly on large integers
* admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
* etc/NEWS: Document the change.
* lib/count-leading-zeros.c, lib/count-leading-zeros.h:
* m4/count-leading-zeros.m4: New files, copied from Gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/floatfns.c: Include count-leading-zeros.h.
(Flogb): Do not convert fixnum to float before taking the log,
as the rounding error can cause the answer to be off by 1.
* src/lisp.h (EMACS_UINT_WIDTH): New constant.
* test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
2017-03-03 09:19:08 -08:00
Paul Eggert
f1fe3fcfc5 Merge from gnulib
This incorporates:
2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
2017-02-24 ftoastr: port to -Wdouble-promotion
* lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
2017-03-03 08:46:11 -08:00
Paul Eggert
65eee8392f Do not use Gnulib’s m4/wint_t.m4.
* admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
Fix typo so that warn-on-use.m4 is removed too.
* configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
* m4/wint_t.m4: Remove.
2017-01-01 02:35:36 -08:00
Paul Eggert
aaf1f4a33c Merge from gnulib, continued
* m4/wint_t.m4: New file, copied from gnulib.
2017-01-01 02:04:55 -08:00
Paul Eggert
5a59e28dec Merge from gnulib
This incorporates:
2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
2016-12-17 getlogin: Port to newer mingw
2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
2016-12-17 Avoid redefinition errors on MSVC
* lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
* m4/stdint.m4, m4/unistd_h.m4:
Copy from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
Plus, this commit updates the indenting on copyright notices to
match that of gnulib.
2017-01-01 01:32:56 -08:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Paul Eggert
5942af6141 Merge from gnulib
This incorporates:
2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
2016-12-12 fpending: port to native Windows with MSVC
* .gitignore: Do not ignore lib/stdio-impl.h.
* lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
Copy from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/stdio-impl.h:
New file, copied from gnulib.
* nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
2016-12-15 12:19:45 -08:00
Paul Eggert
bbd84f86bc Merge from gnulib
This incorporates:
2016-11-15 sys_time: add gnulib::timeval for C++
2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
2016-11-13 strftime: don't use __THROW
2016-11-12 strftime: tune %q
2016-11-12 Merge strftime.c changes from glibc
2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
2016-11-05 strftime,strptime: support %q to represent the quarter

The glibc changes in turn incorporate the following strftime.c changes:
2015-10-20 Convert misc function definitions to prototype style
2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
2010-01-09 Add support for XPG7 testing
2009-10-30 Implement Burmese language locale for Myanmar
2008-06-13 [BZ #6612] pass reference to tzset_called around
2007-10-16 [BZ #5184] Add tzset_called argument

* build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
* m4/manywarnings.m4: Copy from gnulib.
2016-11-19 16:01:32 -08:00
Paul Eggert
63eebff30e Update from gnulib
This incorporates:
2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
2016-10-13 stdint: port SIZE_MAX to glibc s390
2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
* lib/gnulib.mk: Regenerate.
* lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
* m4/utimes.m4: Copy from gnulib.
2016-10-27 08:28:07 -07:00
Paul Eggert
0041ce8189 Update from gnulib
This incorporates:
2016-09-22 stdint: port to GCC 7
2016-09-22 limits-h, stdint: don't assume extensions
* doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
2016-09-22 14:54:09 -07:00
Paul Eggert
c0603964fd Port recent flexmember changes to NetBSD
The NetBSD library supports localtime_rz directly, and without
this change 'configure' omitted the flexmember test that is marked
as conditional on localtime_rz.  Emacs now needs to use
flexmember.m4 even when localtime_rz works.
Problem reported by Thomas Klausner.
* admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
2016-09-21 15:18:06 -07:00
Paul Eggert
d9741b61c8 Use flexmembers on IBM XL C for AIX
This removes a workaround where Emacs did not use flexible
array members when compiled with IBM XL C.  Instead, avoid
the problem by making the aliasing issues more obvious to
this compiler.
* admin/merge-gnulib: Don’t remove m4/flexmember.m4.
* m4/flexmember.m4: Copy from gnulib.
* configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
* src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
problem that would otherwise mess up code generated for flexible
array members by IBM XL C for AIX, V12.1.
* src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
by gnulib code.
2016-09-20 08:32:15 -07:00
Paul Eggert
8226ac0ae4 Update from gnulib
This incorporates:
2016-09-16 extensions: fix typo in comment
2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
* m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
2016-09-16 00:56:15 -07:00
Paul Eggert
8f4b6a20bf Update from gnulib
This incorporates:
2016-09-15 stdint: support new _WIDTH macros
2016-09-15 limits-h: new module
2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
2016-09-15 extensions: port to more ISO C TSes
2016-09-13 intprops: new macro TYPE_WIDTH
2016-09-13 extensions: port to recent ISO C TRs
* .gitignore: Add lib/limits.h.
* doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
* lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
* m4/sys_types_h.m4: Copy from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
* nt/gnulib.mk: Merge changes from lib/gnulib.mk.
2016-09-15 15:55:30 -07:00
Paul Eggert
12a7e0f88e Update from gnulib
This incorporates:
2016-09-07 flexmember: new macro FLEXALIGNOF
2016-09-07 flexmember: port better to GCC + valgrind
2016-08-18 Port modules to use getprogname explicitly
2016-09-02 manywarnings: add -fno-common
* admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
* configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
since Emacs assumes C99 and therefore removes m4/flexmember.m4.
* lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
* m4/manywarnings.m4: Copy from gnulib.
* lib/flexmember.h: New file, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
2016-09-07 18:10:11 -07:00
Paul Eggert
7f9721d399 Update from gnulib
This incorporates:
2016-07-03 mktime: call tzset as per POSIX
* doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
Copy from gnulib.
2016-08-03 15:12:06 -07:00
Paul Eggert
e7b01df5cf Update from gnulib
This incorporates:
2016-05-30 Use GCC_LINT, not lint
2016-05-29 secure_getenv: Port to many more platforms.
* doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
* m4/secure_getenv.m4: Copy from gnulib.
2016-05-30 16:13:04 -07:00
Paul Eggert
6f5db0255c Sync from gnulib
This incorporates:
2016-05-17 manywarnings: update for GCC 6.1
2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
* m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
2016-05-18 00:49:28 -07:00
Paul Eggert
3707f609cb Sync from gnulib
This incorporates:
2016-05-01 mktime: port to stricter signed overflow checking
2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
2016-05-01 mktime: resurrect DEBUG_MKTIME testing
2016-05-01 mktime: simplify DEBUG_MKTIME
2016-05-01 Port mktime_internal offset to unsigned time_t
2016-04-27 xstrtol: prohibit monstrosities like "1bB"
2016-04-13 mktime: improve integer overflow checking
2016-04-13 intprops: check two's complement assumption
2016-04-13 intprops, mktime, strtol: assume two's complement
* lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
* lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
Copy from gnulib.
2016-05-01 18:37:01 -07:00
Paul Eggert
ff2c764764 Merge from origin/emacs-25
80128a7 Fix stability confusion in sort-tests
1e4aa42 Avoid describe-key error with lambdas
a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
f501116 Sync with gnulib
c4963f9 Fix doc for Universal Time
2016-04-11 09:07:15 -07:00
Paul Eggert
f501116ea8 Sync with gnulib
This incorporates:
2016-04-03 stdint: detect good enough pre-C++11 stdint.h in C++ mode
2016-04-01 stddef: support configuring with g++
* doc/misc/texinfo.tex, lib/stddef.in.h, m4/stdint.m4:
Copy from gnulib.
2016-04-03 23:12:29 -07:00
Paul Eggert
b48197d8ed Merge from gnulib
This incorporates:
2016-03-15 std-gnu11: improve clang support
* m4/std-gnu11.m4: Copy from gnulib.
2016-03-15 13:59:45 -07:00
John Wiegley
63efcc2686 Merge from origin/emacs-25
facb5e2 Update Emacs manual section related to character folding
4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
f8df21b Update admin/notes/unicode
950be68 Add symref-filepattern entries for c?perl-mode
8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
985dacf ; NEWS update for the last change in etags
741a6f8 Sync with gnulib
7352c6c Rework C source files to avoid ^(
a589e9a By default, etags produces unqualified Perl tag names
72c7438 Indent methods with keyword names correctly
28532a9 Propertize character literals and special global variables
        differently
a7d6f39 ; Fix last change in NEWS
83b2a20 Change how /etc/NEWS presents character folding
b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
        off by default""
711ca36 Properly handle lambda as read function (bug 22961)
1b9d616 Propertize operator symbol names with symbol syntax class
9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
366ec77 Allow using the left shift operator without spaces on both sides
02bf7cc Properly handle unquoting in wdired (bug 22938)
16cf469 ; Spelling fix and tighten up comment
f50bc04 Allow splat operator before percent literal
991c801 Don't apply the return value of goto-char as syntax class
6e63b3e Guard against nested percent literals
066f3bc Recognize iuwu-mod after an escaped newline
6f7a57c Fix symbolic mode string conversion for s and t
50b9826 Update 'ucs-names' database
993b2fb Improve doc string of 'shell-command'
b71c717 Make the code in movemail_strftime more general
cc057e4 Speed up redisplay of binary files with long series of nulls
e51b27e Remove the highlighting support for quoting 'like this' inside
        Lisp docstrings
b1abce1 Restore leading space in movemail pop output
98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
dc9d837 Don't misindent computed property generator methods
7923112 Fix mbox files produced by movemail on MS-Windows
c45a1ca doc string file descriptor exhaustion fix
265141b Fix Bug#22814
2016-03-11 13:33:32 -08:00
Paul Eggert
741a6f8ed4 Sync with gnulib
This incorporates:
2016-03-08 intprops: make .h file license match module
2016-03-08 acl: fix missing return on Cygwin
2016-03-05 extern-inline: port to PGI CC
* doc/misc/texinfo.tex, lib/intprops.h, lib/set-permissions.c:
* m4/extern-inline.m4:
Copy from gnulib.
2016-03-10 07:59:19 -08:00
Paul Eggert
1f7feecaee Use Gnulib filevercmp for version comparison
* admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
* doc/lispref/strings.texi (Text Comparison):
* etc/NEWS, src/fns.c:
* test/src/fns-tests.el (fns-tests-string-version-lessp):
Rename newly-introduced function to string-version-lessp, by
analogy with strverscmp.
* lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/fns.c: Include <filevercmp.h>.
(gather_number_from_string): Remove.
(Fstring_version_lessp): Reimplement via filevercmp.
2016-02-21 13:27:40 -08:00
Paul Eggert
8456ba1d49 - 2016-02-09 14:26:40 -08:00
Paul Eggert
f2e9d1b384 Sync with gnulib
This incorporates:
2016-02-09 stdalign: port to clang 3.7.0
2016-02-06 misc: port better to gcc -fsanitize=address
* doc/misc/texinfo.tex, lib/stdalign.in.h, m4/acl.m4, m4/getgroups.m4:
Copy from gnulib.
2016-02-09 09:07:23 -08:00
Paul Eggert
b50075dd05 Build with C11 if available
* admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
* m4/std-gnu11.m4: New file, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
2016-02-02 14:44:40 -08:00
Paul Eggert
1698036a43 Merge from gnulib
This incorporates:
2016-01-24 openat_proc_name: fix last '/' overwritten on OS/2 kLIBC
2016-01-24 closedir, dirfd, opendir: port to OpenSolaris 5.10
2016-01-15 detect utimes() correctly on OS/2 kLIBC
2016-01-15 openat_proc_name: port to OS/2 kLIBC
2016-01-14 stdint: check _INTPTR_T_DECLARED for intptr_t etc.
2016-01-14 opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
2016-01-14 dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
2016-01-14 binary-io: don't put fd in binary mode if a console on EMX
2016-01-14 sig2str: list all signals on FreeBSD >= 7
2016-01-13 acl-permissions: port to USE_ACL==0 platforms
2016-01-12 mktime: rename macro to avoid glibc clash
2016-01-12 Port "$@" to OpenIndiana ksh93
2016-01-12 Port Universal Time settings to strict POSIX
* build-aux/gitlog-to-changelog, build-aux/update-copyright:
* doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
* lib/binary-io.h, lib/dirent.in.h, lib/dirfd.c, lib/dup2.c:
* lib/fcntl.c, lib/fdopendir.c, lib/mktime.c, lib/openat-proc.c:
* lib/sig2str.h, lib/stdint.in.h, m4/dirfd.m4, m4/dup2.m4:
* m4/fcntl.m4, m4/utimes.m4:
Copy from gnulib.
* m4/gnulib-comp.m4: Regenerate.
2016-01-24 14:51:22 -08:00
Paul Eggert
fabb1fa31d Port cleanup attribute to OpenBSD
The OpenBSD C compiler issues false alarms about strcpy, strcat, and
sprintf, and this messes up 'configure' when it tests for the cleanup
attribute.  Work around the problem by using __has_attribute directly.
Problem reported by Joakim Jalap (Bug#22385).
* configure.ac: Don’t use AX_GCC_VAR_ATTRIBUTE.
* m4/ax_gcc_var_attribute.m4: Remove.
* src/conf_post.h (__has_attribute): Provide a substitute, for
non-GCC or older GCC compilers.  All uses changed to assume
the substitute.  Check for the cleanup attribute.
* src/emacs-module.c (module_has_cleanup): Just use __has_attribute.
2016-01-17 14:11:09 -08:00
Paul Eggert
e79b06e6de Avoid stdio in SIGINT handler
* admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/ignore-value.h: New file, from gnulib.
* src/keyboard.c: Include it.
(write_stdout, read_stdin): New functions.
(handle_interrupt): Use them instead of printf and getchar,
and avoid fflush when handling signals.
2016-01-03 15:04:07 -08:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Paul Eggert
982530518f Merge from gnulib
This mostly just updates copyright dates of gnulib files.
It also updates to the latest version of texinfo.tex.
2016-01-01 01:13:18 -08:00
Paul Eggert
36649e0150 Spelling and grammar fixes 2015-11-29 21:52:17 -08:00
Aurélien Aptel
307e76c799 Add dynamic module module support
* configure.ac: Add '--with-modules' option.  Conditionally add
  dynlib.o and module.o to the list of objects.  Add any system
  specific flags to the linker flags to support dynamic libraries.
* m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
  attributes.
* src/Makefile.in: Conditionally add module objects and linker flags.
* src/alloc.c (garbage_collect_1): protect module local values from
  GC.
* src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
* src/emacs_module.h: New header file included by modules.  Public
  module API.
* src/module.c: New module implementation file.

Co-authored-by: Philipp Stephani <phst@google.com>
2015-11-18 14:24:19 -05:00
Paul Eggert
e668176e7d Merge from gnulib
This incorporates:
2015-10-13 binary-io, u64, unistd: port to strict C
2015-09-26 c-ctype: do not worry about EBCDIC + char signed
2015-09-25 c-ctype: port better to z/OS EBCDIC
2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
* doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
* lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
Copy from gnulib.
2015-10-13 23:34:47 -07:00
Paul Eggert
2856b1dd6f Merge from gnulib
This incorporates:
2015-07-27 time_rz: port better to MinGW
2015-07-27 time: port __need_time_t to MinGW
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
* lib/time-internal.h: New file, from gnulib.
2015-07-27 16:51:22 -07:00
Paul Eggert
af32fa9562 New optional ZONE arg for format-time-string etc.
This simplifies time conversions in other time zones.
It also prevents display-time-world tampering with TZ (Bug#21020).
* admin/admin.el (add-release-logs):
Use improved add-log-time-format API.
* admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
(GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
* configure.ac (tzalloc): Remove test for this, since
Emacs no longer uses HAVE_TZALLOC directly.
* doc/lispref/os.texi (Time of Day, Time Conversion)
(Time Parsing):
* etc/NEWS: Document the new behavior.
Merge from gnulib, incorporating:
2015-07-25 strftime: fix newly-introduced bug on Solaris
2015-07-23 fprintftime, strftime: use timezone_t args
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
* m4/time_h.m4:
Update from gnulib.
* lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
New files from gnulib.
* lisp/time-stamp.el (time-stamp-string):
* lisp/time.el (display-time-world-list)
(display-time-world-display):
Use new API, with time zone arg.
* lisp/time.el (display-time-world-display):
Fix race when current-time advances while we're running.
* lisp/vc/add-log.el (add-log-iso8601-time-zone)
(add-log-iso8601-time-string): Accept optional time zone arg.
* lisp/vc/add-log.el (add-change-log-entry):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
* nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
Add rules for the time module, since they're now needed
for tzalloc etc.
* src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
(emacs_getenv_TZ, emacs_setenv_TZ): New decls.
* src/editfns.c: Include errno.h.
(set_time_zone_rule): Omit unnecessary forward decl.
(initial_tz): Remove, replacing with ...
(local_tz, wall_clock_tz, utc_tz): New static vars and constants.
(tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
(emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
(tzlookup): New static functions.
(init_editfns): New arg DUMPING.  All uses changed.
(init_editfns): Omit most initialization if dumping, not if
!initialized.  Initialize wall_clock_tz and local_tz.
(emacs_nmemftime, format_time_string): Time zone argument can now
be any time zone, not just a boolean for UTC or local time.  All
callers changed.
(Fformat_time_string, Fencode_time, Fcurrent_time_string)
(Fcurrent_time_zone): New optional arg ZONE.
(Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
the same form as with the other new additions.
(decode_time_zone): Remove; no longer needed.
(tzvalbuf): Now file-scope.
(emacs_getenv_TZ, emacs_setenv_TZ): New functions.
(syms_of_editfns): Define Qwall.
* src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
* src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
[!HAVE_TZALLOC]:
Remove; now supplied by gnulib.
* src/emacs.c (main):
* src/lisp.h (init_editfns): Adjust to init_editfns API change.
2015-07-26 12:44:54 -07:00
Paul Eggert
1323c13978 Merge from gnulib
This incorporates:
2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
2015-07-02 update-copyright: fix test failure with perl >= 5.22
2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
* build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
* lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
2015-07-05 08:23:11 -07:00
Paul Eggert
325bf192ae Merge from gnulib
This incorporates:
2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
2015-06-05 stdio: Don't redefine gets when using C++
2015-06-05 acl-permissions: port to AIX, C89 HP-UX
2015-06-02 file-has-acl: fix build on Mac OS X 10
2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
2015-06-01 pthread_sigmask: discount system version if a simple macro
2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
* doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
* lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
* m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
* lib/gnulib.mk: Regenerate.
2015-06-06 18:38:30 -07:00
Paul Eggert
6c52e9b93b Merge from gnulib
This incorporates:
2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
2015-05-26 stdio: fix probe on mingw under gcc 5.1
* admin/merge-gnulib (GNULIB_MODULES):
Replace qacl with qcopy-acl, since we don't need the rest of qacl.
* doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
* lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
* lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
Get latest versions from gnulib.
* lib/get-permissions.c, lib/set-permissions.c: New files.
* lib/gnulib.mk, m4/gnulib-comp.m4:
Regenerate.
* nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
2015-05-27 17:55:06 -07:00
Paul Eggert
6eaa9a57a1 Merge from gnulib
This incorporates:
2015-04-29 extern-inline: no need for workaround in GCC 5.1
2015-04-26 file-has-acl: port to CentOS 6
* m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
2015-04-29 20:12:24 -07:00
Paul Eggert
27e6afeb6f Merge from gnulib
This incorporates:
2015-04-24 file-has-acl: new module, split from acl
2015-04-24 manywarnings: add GCC 5.1 warnings
2015-04-21 lstat: fix cross-compilation 'ln -s' problem
2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
2015-04-15 acl: On Linux, check for acls without libacl
2015-04-14 tempname: avoid unused parameter warnings (trivial)
* lib/acl-internal.c: New file, from gnulib.
* lib/file-has-acl.c: Remove; no longer imported from gnulib.
* lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
* m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
Update from gnulib.
2015-04-24 22:41:56 -07:00
Paul Eggert
2346856168 Generate a ChangeLog file from commit logs
* .gitignore: Add 'ChangeLog'.
* build-aux/gitlog-to-changelog: New file, from Gnulib.
* build-aux/gitlog-to-emacslog: New file.
* CONTRIBUTE: Document the revised workflow.
* Makefile.in (clean): Remove *.tmp and etc/*.tmp*
instead of just special cases.
(CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
(ChangeLog, unchanged-history-files, change-history)
(change-history-commit): New rules.
* admin/admin.el (make-manuals-dist--1):
Don't worry about doc/ChangeLog.
* admin/authors.el: Add a FIXME.
* admin/make-tarball.txt:
* lisp/calendar/icalendar.el:
* lisp/gnus/deuglify.el:
* lisp/obsolete/gulp.el:
* lwlib/README:
Adjust to renamed ChangeLog history files.
* admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
* admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
Remove obsolete discussion of merging ChangeLog files.
New section "Maintaining ChangeLog history".
* build-aux/git-hooks/pre-commit:
Reject attempts to commit files named 'ChangeLog'.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* make-dist: Make and distribute top-level ChangeLog if there's a
.git directory.  Distribute the new ChangeLog history files
instead of scattered ChangeLog files.  Distribute the new files
gitlog-to-changelog and gitlog-to-emacslog.
Fixes: bug#19113
2015-04-07 00:00:55 -07:00
Paul Eggert
ccf00107f7 Merge from gnulib
This incorporates:
2015-03-19 fdopendir: port better to MinGW
2015-03-18 fdopendir: fix typo in comment
2015-02-24 glob, etc.: port to MSVC v18 on MS-Windows 8.1
* lib/dirent.in.h, lib/fdopendir.c: Update from gnulib.
* lib/dirfd.c, m4/dirfd.m4: New files from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
2015-03-19 12:33:44 -07:00
Paul Eggert
27bd6dadf4 Merge from gnulib
* lib/getdtablesize.c, m4/dup2.m4, m4/fcntl.m4:
Update from gnulib, incorporating:
2015-02-23 dup2: doc and test for Android bug
2015-02-23 Replace dup2() on Android
2015-02-22 Android doesn't define RLIM_SAVED_*
2015-02-24 16:40:23 -08:00
Paul Eggert
066b17df68 Merge from gnulib
* doc/misc/texinfo.tex: Update from gnulib.
* lib/getdtablesize.c, lib/getopt.c, lib/signal.in.h, lib/tempname.c:
* lib/tempname.h, m4/dup2.m4, m4/fcntl.m4, m4/getdtablesize.m4:
Update from gnulib, incorporating:
2015-02-20 getdtablesize: port better for Android
2015-02-19 fcntl: Fix cross compiling
2015-02-18 dup2, fcntl: cross-compile better for Android
2015-02-18 getopt: don't crash on memory exhaustion
2015-02-17 tempname: allow compilation with C++ (trivial)
2015-02-17 dup2, fcntl: port to AIX
2015-02-16 getdtablesize, dup2, fcntl: port to Android
2015-02-11 getdtablesize, signal_h: Fix Android build
2015-02-11 maint: various whitespace cleanups in tempname
2015-02-20 23:32:45 -08:00
Paul Eggert
39c2fa3f4e Merge from gnulib and try to repair bad merge
This attempts to repair problems introduced by the bad merge
5491fd1098.  The easiest way for me
to fix the badly-merged gnulib files was to run
'admin/merge-gnulib', so I did that, which also imported the
following changes:
* build-aux/update-copyright, m4/gnulib.m4:
Update from gnulib, incorporating:
2015-01-15 time: port to MinGW32 3.21
2015-01-15 update-copyright: apply to self
2015-01-11 update-copyright: recognize groff's \(co marker
2015-01-27 22:24:47 -08:00
Fabián Ezequiel Gallina
8e9166c92c Merge from origin/emacs-24
a012c7b Fix copyright years by hand
732fd4c Update copyright year to 2015

Conflicts:
	INSTALL.REPO
	admin/notes/lel-TODO
	doc/man/grep-changelog.1
	doc/misc/eww.texi
	etc/CONTRIBUTE
	etc/GNU
	etc/NEWS
	etc/refcards/emacsver.tex
	etc/refcards/ru-refcard.tex
	lib-src/grep-changelog
	lib-src/test-distrib.c
	lib/alloca.in.h
	lib/binary-io.h
	lib/c-ctype.h
	lib/c-strcasecmp.c
	lib/c-strncasecmp.c
	lib/careadlinkat.c
	lib/close-stream.c
	lib/dosname.h
	lib/dup2.c
	lib/filemode.h
	lib/fpending.c
	lib/fpending.h
	lib/getgroups.c
	lib/getloadavg.c
	lib/getopt.in.h
	lib/getopt1.c
	lib/getopt_int.h
	lib/gettext.h
	lib/gettime.c
	lib/gettimeofday.c
	lib/group-member.c
	lib/md5.c
	lib/md5.h
	lib/memrchr.c
	lib/sha1.c
	lib/sig2str.c
	lib/stdarg.in.h
	lib/stdbool.in.h
	lib/stdlib.in.h
	lib/strftime.c
	lib/strtoimax.c
	lib/strtol.c
	lib/strtoll.c
	lib/strtoull.c
	lib/tempname.c
	lib/time_r.c
	lib/unsetenv.c
	lib/xalloc-oversized.h
	lisp/gnus/gnus-setup.el
	lisp/progmodes/cap-words.el
	lisp/w32-common-fns.el
	m4/alloca.m4
	m4/dup2.m4
	m4/filemode.m4
	m4/getgroups.m4
	m4/getloadavg.m4
	m4/gettime.m4
	m4/gettimeofday.m4
	m4/gnulib-common.m4
	m4/group-member.m4
	m4/manywarnings.m4
	m4/memrchr.m4
	m4/mktime.m4
	m4/pathmax.m4
	m4/pthread_sigmask.m4
	m4/sig2str.m4
	m4/ssize_t.m4
	m4/st_dm_mode.m4
	m4/stat-time.m4
	m4/stdarg.m4
	m4/stdbool.m4
	m4/stddef_h.m4
	m4/stdio_h.m4
	m4/strftime.m4
	m4/strtoimax.m4
	m4/strtoll.m4
	m4/strtoull.m4
	m4/strtoumax.m4
	m4/time_h.m4
	m4/timer_time.m4
	m4/timespec.m4
	m4/unistd_h.m4
	m4/utimbuf.m4
	nextstep/README
	nt/addsection.c
	src/insdel.c
	src/w32heap.c
	test/automated/package-x-test.el
2015-01-28 00:09:39 -03:00
Paul Eggert
215942da54 Merge from gnulib
* lib/stdio.in.h, m4/stdio_h.m4: Update from gnulib, incorporating:
2015-01-05 stdio: fix use of PRIdMAX on modern mingw
2015-01-06 09:15:29 -08:00
Paul Eggert
035f5aaa91 Merge from gnulib, incorporating:
2015-01-01 version-etc: new year
2015-01-01 11:06:53 -08:00
Paul Eggert
732fd4c7e1 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 09:18:06 -08:00
Paul Eggert
1e6879dbdb Prefer stpcpy to strcat
* admin/merge-gnulib (GNULIB_MODULES): Add stpcpy.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/stpcpy.c, m4/stpcpy.m4: New files, from gnulib.
* lib-src/ebrowse.c (sym_scope_1, operator_name, open_file):
* lib-src/emacsclient.c (get_server_config, set_local_socket)
(start_daemon_and_retry_set_socket):
* lib-src/etags.c (main, C_entries, relative_filename):
* lib-src/pop.c (sendline):
* lib-src/update-game-score.c (main):
* lwlib/xlwmenu.c (resource_widget_value):
* src/callproc.c (child_setup):
* src/dbusbind.c (xd_signature_cat):
* src/doc.c (get_doc_string, Fsnarf_documentation):
* src/editfns.c (Fuser_full_name):
* src/frame.c (xrdb_get_resource):
* src/gtkutil.c (xg_get_file_with_chooser):
* src/tparam.c (tparam1):
* src/xfns.c (xic_create_fontsetname):
* src/xrdb.c (gethomedir, get_user_db, get_environ_db):
* src/xsmfns.c (smc_save_yourself_CB):
Rewrite to avoid the need for strcat, typically by using stpcpy
and/or lispstpcpy.  strcat tends to be part of O(N**2) algorithms.
* src/doc.c (sibling_etc):
* src/xrdb.c (xdefaults):
Now a top-level static constant.
2014-12-25 15:44:23 -08:00
Paul Eggert
e3040f2aee Merge from gnulib
2014-12-20 utimens: remove unnecessary assert
2014-12-16 stdalign: port better to HP compilers
2014-12-16 stdalign: work around Apple GCC 4.0 bug
* lib/stdalign.in.h, lib/utimens.c, m4/stdalign.m4: Update from gnulib.
2014-12-22 18:44:04 -08:00
Paul Eggert
b81a183791 Merge from gnulib
2014-12-12 stddef: support C11's max_align_t
2014-12-08 apply _GL_ATTRIBUTE_PURE to some inline functions
2014-12-02 support GNU format printf and scanf on mingw
* doc/misc/texinfo.tex, lib/stat-time.h, lib/stddef.in.h:
* lib/timespec.h, m4/extensions.m4, m4/stddef_h.m4, m4/stdio_h.m4:
Update from gnulib.
* lib/gnulib.mk: Regenerate.
2014-12-12 16:04:10 -08:00
Paul Eggert
dc7a3ba28b Merge from gnulib.
2014-11-14 extern-inline: update commentary about GCC bugs
2014-11-06 unistd: port to iOS
2014-11-04 update from texinfo
* doc/misc/texinfo.tex, lib/unistd.in.h, m4/extern-inline.m4:
Update from gnulib.
2014-11-14 12:25:11 -08:00
Paul Eggert
821339c944 Merge from gnulib.
This incorporates:
2014-10-18 readlinkat: port to AIX 7.1
2014-10-07 fcntl: fix error reporting by dupfd
* lib/fcntl.c, lib/readlinkat.c, lib/unistd.in.h, m4/readlinkat.m4:
* m4/unistd_h.m4: Update from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
2014-10-18 23:33:40 -07:00
Paul Eggert
dac5be10f3 Merge from gnulib.
This incorporates:
2014-09-11 fcntl-h: fix compilation with Intel C++ compiler
2014-09-04 pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
2014-09-23 11:20:38 -07:00
Paul Eggert
da25527e97 Merge from gnulib, incorporating:
2014-09-02 gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
2014-09-01 manywarnings: add GCC 4.9 warnings
* m4/gnulib-common.m4, m4/manywarnings.m4: Update from gnulib.
2014-09-02 12:17:23 -07:00
Paul Eggert
f9caea8233 Vector-sorting fixes.
It's not safe to call qsort or qsort_r, since they have undefined
behavior if the user-specified predicate is not a total order.
Also, watch out for garbage-collection while sorting vectors.
* admin/merge-gnulib (GNULIB_MODULES): Add vla.
* configure.ac (qsort_r): Remove, as we no longer use qsort-like
functions.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/vla.h, m4/vararrays.m4: New files, copied from gnulib.
* lib/stdlib.in.h, m4/stdlib_h.m4: Sync from gnulib, incorporating:
2014-08-29 qsort_r: new module, for GNU-style qsort_r
The previous two files' changes are boilerplate generated by
admin/merge-gnulib, and should not affect Emacs.
* src/fns.c: Include <vla.h>.
(sort_vector_predicate) [!HAVE_QSORT_R]: Remove.
(sort_vector_compare): Remove, replacing with ....
(inorder, merge_vectors, sort_vector_inplace, sort_vector_copy):
... these new functions.
(sort_vector): Rewrite to use the new functions.
GCPRO locals, since the predicate can invoke the GC.
Since it's in-place return void; caller changed.
(merge): Use 'inorder', for clarity.

Fixes: debbugs:18361
2014-08-30 15:59:39 -07:00
Paul Eggert
c7d117f39e Merge from gnulib, incorporating:
2014-08-04 extern-inline: port to FreeBSD, DragonFly
* lib/gnulib.mk: Regenerate (comment change only).
* m4/extern-inline.m4: Update from gnulib.
2014-08-04 11:44:49 -07:00
Paul Eggert
5c6476b48a Simplify timerfd configuration and fix some minor glitches.
* configure.ac (HAVE_TIMERFD): Define only if TFD_CLOEXEC works,
since the code leaked file descriptors to children when !TFD_CLOEXEC.
(HAVE_TIMERFD_CLOEXEC): Remove; no longer used.
* m4/clock_time.m4 (gl_CLOCK_TIME): Don't check for clock_getres.
This reverts the previous change to this file, so it matches
gnulib again.
* src/atimer.c (TIMERFD_CREATE_FLAGS): Remove; we now assume TFD_CLOEXEC.
(alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
Fall back on timer_create if timerfd_create fails at runtime.
(resolution) [HAVE_CLOCK_GETRES]: Remove; we now rely on the
kernel primitives to do resolution.  All uses removed.
(timerfd) [!HAVE_TIMERFD]: Define to be -1, for convenience.
(turn_on_atimers): Clear timer_create-based timers too,
for consistency.
2014-07-31 13:17:01 -07:00
Dmitry Antipov
768b24eb0e On GNU/Linux, use timerfd for asynchronous timers.
* configure.ac (toplevel): Check whether GNU/Linux-specific
timerfd functions and macros are available.
* m4/clock_time.m4 (gl_CLOCK_TIME): Check for clock_getres as well.
* src/atimer.c (toplevel) [HAVE_TIMERFD]: Include sys/timerfd.h.
(toplevel): Rename alarm_timer_ok to special_timer_available.
[HAVE_TIMERFD]: Declare timerfd.
[HAVE_CLOCK_GETRES]: Declare resolution.
(start_atimer) [HAVE_CLOCK_GETRES]: Round up timestamp to
system timer resolution.
(set_alarm) [HAVE_TIMERFD]: Use timerfd_settime.
(timerfd_callback) [HAVE_TIMERFD]: New function.
(atimer_result, debug_timer_callback, Fdebug_timer_check)
[ENABLE_CHECKING]: New function for the sake of automated tests.
(init_atimer) [HAVE_TIMERFD]: Setup timerfd.
[HAVE_CLOCK_GETRES]: Likewise for system timer resolution.
[ENABLE_CHECKING]: Defsubr test function.
* src/atimer.h (timerfd_callback) [HAVE_TIMERFD]: Add prototype.
* src/lisp.h (add_timer_wait_descriptor) [HAVE_TIMERFD]: Likewise.
* src/process.c (add_timer_wait_descriptor) [HAVE_TIMERFD]: New function.
* test/automated/timer-tests.el (timer-tests-debug-timer-check): New test.
2014-07-28 10:28:15 +04:00
Paul Eggert
73bfe891e2 Omit redundant extern decls.
Most of this patch is from Dmitry Antipov, in:
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html
* configure.ac (WERROR_CFLAGS): Add -Wredundant-decls.
* lib-src/emacsclient.c (getenv): Remove decl.
* lib-src/make-docfile.c (write_globals): Add ATTRIBUTE_CONST for
Fbyteorder, Ftool_bar_height, Fmax_char, Fidentity.
* lwlib/lwlib-Xm.c (lw_motif_widget_p, xm_update_one_value)
(xm_create_dialog, xm_destroy_instance, xm_popup_menu)
(xm_set_keyboard_focus, xm_set_main_areas): Remove decls.
* src/commands.h (update_mode_lines):
* src/frame.h (Qbackground_color, Qforeground_color)
(x_set_menu_bar_lines):
* src/ftfont.c (ftfont_font_format):
* src/intervals.h (Qkeymap, Qfont):
* src/keyboard.c (timer_check, safe_run_hooks, Qregion_extract_function):
* src/lisp.h (Ffboundp, Qnil, Qt, Qlambda, Qintegerp, Qwholenump)
(Qsymbolp, Qlisp, Qconsp, Qstringp, Qarrayp, Qbufferp, Qmarkerp)
(Qvectorp, Qbuffer_or_string_p, Qchar_table_p, Qvector_or_char_table_p)
(Qfloatp, Qnumberp, Qfont_spec, Qfont_entity, Qfont_object)
(Fbyteorder, wrong_type_argument, Fmax_char, syms_of_composite)
(Fidentity, extract_float, init_display, syms_of_display, Qdisplay):
(Qimage, Qbox, redisplay_preserve_echo_area, char_table_ref)
(char_table_set, char_table_translate, Qautoload, Qbottom, Qtop)
(Qvisible, Qfont, Qfront_sticky, Qrear_nonsticky, init_sigio)
(Qtool_bar, Qheader_line):
* src/macros.c (Fexecute_kbd_macro):
* src/xdisp.c (Ftool_bar_height, Ftool_bar_height):
* src/xterm.c (x_delete_terminal, XSetIMValues):
* src/xterm.h (x_set_window_size, x_query_color, x_get_focus_frame)
(x_implicitly_set_name, popup_activated)
(widget_store_internal_border):
Remove redundant decls.
* src/frame.c [USE_X_TOOLKIT]: Include widget.h.
* src/keyboard.c (Fexit_recursive_edit, Fabort_recursive_edit):
Remove _Noreturn, as make-docfile now does that for us.
* src/lisp.h (DEFUN): Don't declare fnname here; rely on make-docfile.
(Qregion_extract_function): New decl.
* src/window.c, src/xfns.c: Include menu.h.
2014-06-17 09:09:19 -07:00
Paul Eggert
0071d45b61 Backport fcntl.h AIX fix from the trunk.
This fixes a bug with the shell freezing.  See:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17598#185
Merge from gnulib, incorporating:
2014-05-31 dup2, fcntl, fcntl-h: port to AIX 7.1
* lib/fcntl.in.h, m4/dup2.m4, m4/fcntl.m4:
Update from gnulib.
2014-06-11 13:03:46 -07:00
Paul Eggert
eed652d649 Merge from gnulib.
This incorporates:
2014-06-02 acl: apply pure attribute to two functions
2014-06-01 gnulib-common.m4: add _GL_UNUSED_LABEL
2014-05-31 dup2, fcntl, fcntl-h: port to AIX 7.1
2014-05-30 ftoastr: work around compiler bug in IBM xlc 12.1
* lib/acl-internal.h, lib/fcntl.in.h, lib/ftoastr.h:
* m4/dup2.m4, m4/fcntl.m4, m4/gnulib-common.m4:
Update from gnulib.
2014-06-01 16:58:38 -07:00
Paul Eggert
035159ed54 Don't substitute sigprocmask for pthread_sigmask.
sigprocmask isn't portable in a multithreaded process.
* configure.ac (gl_THREADLIB): Remove dummy.
Merge from gnulib, incorporating:
2014-05-28 pthread_sigmask, timer-time: use gl_THREADLIB only if needed
* m4/pthread_sigmask.m4, m4/timer_time.m4: Update from gnulib.
* src/Makefile.in (LIB_PTHREAD_SIGMASK): Remove; all uses removed.

Fixes: debbugs:17561
2014-05-29 08:05:06 -07:00
Paul Eggert
8208d2bf95 Assume C99 or later.
* lib/stdarg.in.h, lib/stdbool.in.h, m4/stdarg.m4, m4/stdbool.m4:
Remove.
* configure.ac (_AC_PROG_CC_C89): Define a dummy, to keep 'configure'
smaller.
(gl_PROG_CC_C99): Use this to get C99 or later.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Remove stdarg, stdbool.
(GNULIB_TOOL_FLAGS): Avoid stdarg, stdbool.
* doc/lispref/internals.texi (C Dialect): Document this.
* etc/NEWS: Document this.
* nt/gnulib.mk: Remove stdarg and stdbool modules.
* src/bytecode.c (B__dummy__): Remove.
* src/conf_post.h (bool_bf) [!NS_IMPL_GNUSTEP]: Use bool.
(FLEXIBLE_ARRAY_MEMBER): Now always empty.
* src/dbusbind.c (XD_DEBUG_MESSAGE) [!DBUS_DEBUG]:
* src/regex.c (DEBUG_PRINT): Assume varargs macros.
* src/lisp.h (DEFUN_FUNCTION_INIT): Remove.  All uses now assume C99.

Fixes: debbugs:17487
2014-05-17 01:11:31 -07:00
Paul Eggert
c56327b55d Don't require pkg-config when building from repository.
* INSTALL: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'.
* INSTALL.REPO: pkg-config is no longer required to build from
the repository.
* autogen.sh: Don't check for pkg-config.
(progs): Remove pkg-config.
(pkg_config_min, AUTORECONF_ENV, env_space, ACLOCAL_PATH):
Remove.  All uses removed.
* m4/pkg.m4: New file, built by admin/merge-pkg-config.
* configure.ac: Remove unnecessary m4_pattern_forbid of ^PKG_ and
an AC_ARG_VAR of PKG_CONFIG_PATH.  pkg.m4 does that for us.
(EMACS_CHECK_MODULES): Remove workaround for old pkg-config bug,
as we use pkg.m4 from a newer pkg-config.
* admin/merge-pkg-config: New script.
* admin/notes/copyright: Update for m4/*.m4, in particular m4/pkg.m4.
* etc/NEWS: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'.
* etc/PROBLEMS (Build-time-problems): Remove pkg-config problem
that is no longer an issue.
* nt/INSTALL: Remove no-longer-needed notes about pkg-config.
2014-05-16 08:49:13 -07:00
Paul Eggert
0d18109565 Merge from gnulib.
This incorporates:
2014-03-04 stdint: fix missing SIZE_MAX on Android
2013-03-02 sys_types: avoid autoconf warning about gl_SYS_TYPES_H
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/stdint.in.h, lib/sys_types.in.h, m4/sys_types_h.m4:
Update from gnulib.

Fix oversight preventing lib/sys/types.h from being generated.
* admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don't avoid sys_types.
2014-03-07 10:57:11 -08:00
Paul Eggert
f1037d0b8b Merge from gnulib.
2014-02-21 timer: fix uClibc detection of threading
2014-02-21 maintainer-makefiles: provide AC_PROG_SED for older autoconf
* texinfo.tex: Update from gnulib.
2014-02-23 23:12:42 -08:00
Paul Eggert
51fb39ec63 Merge from gnulib.
This incorporates:
2014-01-22 qacl: check for fchmod
* m4/acl.m4: Update from gnulib.
2014-01-22 18:48:44 -08:00
Paul Eggert
bada50fc50 Merge from gnulib.
This incorporates:
2014-01-07 update from texinfo
2014-01-06 md5, sha1, sha256, sha512: support older autoconf
2014-01-10 23:01:30 -08:00
Paul Eggert
3d81471038 Merge from gnulib.
This incorporates:
2014-01-02 manywarnings: remove -Wmudflap
This ports better to GCC 4.9-to-be.
2014-01-02 17:59:58 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Paul Eggert
9ebada6af6 Automate the procedure for updating copyright year.
* admin/merge-gnulib (GNULIB_MODULES): Add update-copyright.
* admin/notes/years: Mention admin/update-copyright.
* admin/update-copyright: New file.
* build-aux/update-copyright: New file.
* make-dist: Distribute it.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* msdos/autogen/Makefile.in: Update copyright year.
2013-12-24 10:27:53 -08:00
Paul Eggert
e9ad5665ed Merge from gnulib, incorporating:
2013-12-17 gettimeofday: port recent C++ fix to Emacs
2013-12-17 gettimeofday: fix C++ crosscompilation
2013-12-17 qacl: port to Windows better
* lib/file-has-acl.c, lib/time.in.h, m4/gettimeofday.m4, m4/time_h.m4:
Update from gnulib.
* lib/gnulib.mk: Regenerate.
2013-12-17 12:43:43 -08:00
Paul Eggert
a8f9bc05c3 Remove the option of using libcrypto.
This scorches the earth and waits for spring;
see Ted Zlatanov and Stefan Monnier in
<http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00323.html>.
* configure.ac (with_openssl_default, HAVE_LIB_CRYPTO): Remove.
Do not say whether Emacs is configured to use a crypto library,
since it's no longer an option.
(gl_CRYPTO_CHECK): Define a dummy.
* lib/gl_openssl.h, m4/gl-openssl.m4: Remove.
* admin/merge-gnulib: Remove lib/gl_openssh.h and m4/gl-openssl.m4.
* src/Makefile.in (LIB_CRYPTO): Remove.
(LIBES): Don't use it.
2013-12-10 21:37:30 -08:00
Paul Eggert
7d01e13ced * configure.ac: Disable libcrypto by default.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: fix link error with partial lib
* m4/gl-openssl.m4: Update from gnulib.
2013-12-09 18:44:28 -08:00
Paul Eggert
e9551b12f8 Use libcrypto's checksum implementations if available, for speed.
On commonly used platform libcrypto uses architecture-specific
assembly code, which is significantly faster than the C code we
were using.  See Pádraig Brady's note in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00000.html>.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
2013-12-07 md5, sha1, sha256, sha512: add 'auto', and set-default method
2013-12-04 include_next: minimize code duplication
2013-12-03 md5, sha1, sha256, sha512: support mandating use of openssl
2013-12-02 md5, sha1, sha256, sha512: use openssl routines if available
* configure.ac (--without-all): Set with_openssl_default too.
Use gl_SET_CRYPTO_CHECK_DEFAULT to default to 'auto'.
(HAVE_LIB_CRYPTO): New var.
Say whether Emacs is configured to use a crypto library.
* lib/gl_openssl.h, m4/absolute-header.m4, m4/gl-openssl.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h:
* lib/sha256.c, lib/sha256.h, lib/sha512.c, lib/sha512.h:
* m4/include_next.m4, m4/md5.m4, m4/sha1.m4, m4/sha256.m4, m4/sha512.m4:
Update from gnulib.
* src/Makefile.in (LIB_CRYPTO): New macro.
(LIBES): Use it.
2013-12-08 00:05:36 -08:00
Paul Eggert
220a304ac3 Merge from gnulib.
This incorporates:
2013-11-08 extern-inline: port better to OS X 10.9
2013-11-08 fpending: fix regression on DragonFly BSD
* lib/fpending.h, m4/extern-inline.m4, m4/fpending.m4:
Update from gnulib.
2013-11-08 08:24:40 -08:00
Paul Eggert
758bed52af Merge from gnulib.
This incorporates:
2013-10-14 acl: allow cross-compilation to Gentoo
2013-10-18 extern-inline: make safe for -Wundef usage
2013-09-30 fpending: use pure+const function attrs
* lib/fpending.h, m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
2013-10-22 21:01:46 -07:00
Paul Eggert
46e5e833d9 Merge from gnulib.
This incorporates:
2013-10-10 strtoumax: port to Solaris 8
2013-10-09 strtoimax, strtoumax: port to HP-UX 11.11
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/inttypes.in.h, lib/strtoimax.c, m4/inttypes.m4, m4/strtoimax.m4:
* m4/strtoumax.m4:
Update from gnulib.
2013-10-12 13:00:38 -07:00
Paul Eggert
595e113b15 Improve support for popcount and counting trailing zeros.
Do this by using the Gnulib modules for this.
This should generate faster code on non-GCC, non-MSC platforms,
and make the code a bit more portable, at least in theory.
* admin/merge-gnulib (GNULIB_MODULES): Add count-one-bits
and count-trailing-zeros.
* lib/count-one-bits.c, lib/count-one-bits.h:
* lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
* m4/count-one-bits.m4, m4/count-trailing-zeros.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* nt/gnulib.mk: Merge changes from lib/gnulib.mk.
* src/data.c: Include <count-one-bits.h>, <count-trailing-zeros.h>.
(USE_MSC_POPCOUNT, POPCOUNT_STATIC_INLINE)
(NEED_GENERIC_POPCOUNT, popcount_size_t_generic)
(popcount_size_t_msc, popcount_size_t_gcc):
Remove; now done by Gnulib.
(popcount_size_t): Now a macro that defers to Gnulib.
(count_trailing_zero_bits): Return int, for consistency with
Gnulib and because Emacs prefers signed to unsigned int.
Don't assume that size_t is either unsigned int or unsigned long
or unsigned long long.
(size_t_to_host_endian): Do not assume that size_t is either
exactly 32 or exactly 64 bits wide.
* src/lisp.h (BITS_PER_SIZE_T): Define consistently with BITS_PER_LONG
etc., so that it's now an enum constant, not a macro.
No need to assume that it's either 32 or 64.

Fixes: debbugs:15550
2013-10-07 14:37:19 -07:00
Paul Eggert
4eed315732 Use hardware support for byteswapping on glibc x86 etc.
On Fedora 19 x86-64, the new bswap_64 needs 1 instruction,
whereas the old swap64 needed 30.
* admin/merge-gnulib (GNULIB_MODULES): Add byteswap.
* lib/byteswap.in.h, m4/byteswap.m4: New files, copied from Gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/fringe.c (init_fringe_bitmap) [WORDS_BIGENDIAN]:
* src/sound.c (le2hl, le2hs, be2hl) [!WINDOWSNT]:
Use byteswap.h's macros to swap bytes.
* src/lisp.h (swap16, swap32, swap64): Remove.
All uses replaced by bswap_16, bswap_32, bswap_64.
2013-10-04 00:36:22 -07:00
Paul Eggert
0a858ebfc5 Merge from gnulib.
* src/conf_post.h (__has_builtin, assume): Remove; gnulib now does these.
* src/lisp.h: Include <verify.h>, for 'assume'.

This also incorpoprates:
2013-10-02 verify: new macro 'assume'
2013-09-26 dup2, dup3: work around another cygwin crasher
2013-09-26 getdtablesize: work around cygwin issue
2013-10-03 00:06:52 -07:00