summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Stop using newly-deprecated dosname Gnulib modulePaul Eggert2020-03-282-28/+1
| | | | | | | | | Code is supposed to use the filename module now. * admin/merge-gnulib (GNULIB_MODULES): Replace dosname with filename. * lib/dosname.h: Remove this forwarding stub. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib-src/emacsclient.c, src/fileio.c: Include filename.h instead of dosname.h.
* Update from GnulibPaul Eggert2020-03-285-38/+123
| | | | | | | | | | This incorporates: 2020-03-28 Use module 'filename' instead of module 'dosname' 2020-03-28 dosname: Redirect to 'filename' * lib/at-func.c, lib/canonicalize-lgpl.c, lib/dosname.h: Copy from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib/filename.h: New file, copied from Gnulib.
* Update from gnulibPaul Eggert2020-03-251-0/+8
| | | | | | | This incorporates: 2020-03-25 getopt-posix: port __GETOPT_PREFIX to macOS 2020-03-22 acl-permissions: Improve autoconf macro * lib/getopt-pfx-core.h, m4/acl.m4: Copy from Gnulib.
* Add ‘nofollow’ flag to set-file-timesPaul Eggert2020-03-073-1/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a companion to the recent set-file-modes patch. It adds support for a ‘nofollow’ flag to set-file-times (Bug#39773). Like the set-file-modes patch, it needs work in the w32 port. * admin/merge-gnulib (GNULIB_MODULES): Add futimens, utimensat. Remove utimens. * doc/lispref/files.texi (Changing Files): * etc/NEWS: Mention the change. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lisp/files.el (copy-directory): * lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file): * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file): * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file): * lisp/tar-mode.el (tar-copy): * test/lisp/filenotify-tests.el (file-notify-test03-events): * test/lisp/files-tests.el: (files-tests-file-name-non-special-set-file-times): * test/lisp/net/tramp-tests.el (tramp-test22-file-times): When setting file times, avoid following symbolic links when the file is not supposed to be a symbolic link. * lib/futimens.c, lib/utimensat.c, m4/futimens.m4, m4/utimensat.m4: New files, copied from Gnulib. * lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file): When creating a file that is not supposed to exist already, use the excl flag to check this. * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times): * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times): * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-times): Accept an optional FLAG arg that is currently ignored, and add a FIXME comment for it. * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-times): * src/fileio.c (Fset_file_times): Support an optional FLAG arg. * src/fileio.c (Fcopy_file): Use futimens instead of set_file_times, as it’s simpler and is a POSIX API. * src/sysdep.c (set_file_times): Move from here ... * src/w32.c (set_file_times): ... to here, and make it static, since it is now used only in w32.c. Presumably w32.c should also add support for futimens and utimensat (the POSIX APIs, which Emacs now uses) and it can remove fdutimens (the Gnulib API, which Emacs no longer uses).
* Update from GnulibPaul Eggert2020-03-071-1/+3
| | | | | | This incorporates: 2020-03-07 open, openat: port to (O_RDWR | O_RDONLY) != 0 * lib/open.c: Copy from Gnulib.
* Update from GnulibPaul Eggert2020-02-241-0/+6
| | | | | | | This incorporates: 2020-02-24 getloadavg: don't use /usr/local when cross-compiling on AIX 2020-02-24 fcntl: add witness of gnulib override * lib/fcntl.in.h, m4/getloadavg.m4: Copy from Gnulib.
* Add 'nofollow' flag to set-file-modes etc.Paul Eggert2020-02-233-0/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids some race conditions (Bug#39683). E.g., if some other program changes a file to a symlink between the time Emacs creates the file and the time it changes the file’s permissions, using the new flag prevents Emacs from inadvertently changing the permissions of a victim in some completely unrelated directory. * admin/merge-gnulib (GNULIB_MODULES): Add fchmodat. * doc/lispref/files.texi (Testing Accessibility, Changing Files): * doc/lispref/os.texi (File Notifications): * etc/NEWS: Adjust documentation accordingly. * lib/chmodat.c, lib/fchmodat.c, lib/lchmod.c, m4/fchmodat.m4: * m4/lchmod.m4: New files, copied from Gnulib. * lib/gnulib.mk.in: Regenerate. * lisp/dired-aux.el (dired-do-chmod): * lisp/doc-view.el (doc-view-make-safe-dir): * lisp/emacs-lisp/autoload.el (autoload--save-buffer): * lisp/emacs-lisp/bytecomp.el (byte-compile-file): * lisp/eshell/em-pred.el (eshell-pred-file-mode): * lisp/files.el (backup-buffer-copy, copy-directory): * lisp/gnus/mail-source.el (mail-source-movemail): * lisp/gnus/mm-decode.el (mm-display-external): * lisp/gnus/nnmail.el (nnmail-write-region): * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy) (tramp-adb-handle-write-region): * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly): * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-write-region): * lisp/net/tramp.el (tramp-handle-write-region) (tramp-make-tramp-temp-file): * lisp/server.el (server-ensure-safe-dir): * lisp/url/url-util.el (url-make-private-file): When getting or setting file modes, avoid following symbolic links when the file is not supposed to be a symbolic link. * lisp/doc-view.el (doc-view-make-safe-dir): Omit no-longer-needed separate symlink test. * lisp/gnus/gnus-util.el (gnus-set-file-modes): * lisp/net/tramp.el (tramp-handle-file-modes): * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-modes): * src/fileio.c (symlink_nofollow_flag): New function. (Ffile_modes, Fset_file_modes): Support an optional FLAG arg. All C callers changed. * lisp/net/ange-ftp.el (ange-ftp-set-file-modes): * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes): * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes): * lisp/net/tramp-smb.el (tramp-smb-handle-set-file-modes): * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-modes): Accept an optional FLAG arg that is currently ignored, and add a FIXME comment for it. * m4/gnulib-comp.m4: Regenerate.
* Update from GnulibPaul Eggert2020-02-237-25/+37
| | | | | | | | | This incorporates: 2020-02-23 use 'restrict' * lib/careadlinkat.h, lib/md5.h, lib/sha1.h, lib/sha256.h: * lib/sha512.h, lib/strftime.h, lib/string.in.h, m4/nstrftime.m4: Copy from Gnulib. * m4/gnulib-comp.m4: Regenerate.
* Update from GnulibPaul Eggert2020-02-2310-198/+310
| | | | | | | | | | | | | | | This incorporates: 2020-02-22 fchmodat, lchmod: simplify 2020-02-22 lchmod: fix link error on Solaris 10 2020-02-22 use 'restrict' in all POSIX function declarations 2020-02-22 chmodat, chownat: new modules * lib/gnulib.mk.in: Regenerate. * lib/inttypes.in.h, lib/openat.h, lib/signal.in.h: * lib/stdio.in.h, lib/stdlib.in.h, lib/string.in.h: * lib/sys_stat.in.h, lib/time.in.h, lib/unistd.in.h, m4/inttypes.m4: * m4/signal_h.m4, m4/stdio_h.m4, m4/stdlib_h.m4, m4/string_h.m4: * m4/sys_socket_h.m4, m4/sys_stat_h.m4, m4/time_h.m4: * m4/unistd_h.m4: Copy from Gnulib.
* Update from GnulibPaul Eggert2020-02-223-0/+24
| | | | | | | | This incorporates: 2020-02-21 largefile: remove _DARWIN_USE_64_BIT_INODE 2020-02-21 Add ‘extern "C"’ to count-one-bits.h etc. * lib/count-leading-zeros.h, lib/count-one-bits.h: * lib/count-trailing-zeros.h, m4/largefile.m4: Copy from Gnulib.
* Update from GnulibPaul Eggert2020-02-095-24/+42
| | | | | | | | | | | | | This incorporates: 2020-02-08 lchmod: ensure declaration on HP-UX 2020-02-08 fchmodat: fix endless recursion on Cygwin 2020-02-08 Fix compilation errors in a testdir 2020-02-07 fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks 2020-02-04 Port _Noreturn to older Clang 2020-02-03 libc-config: port to Apple’s Clang variant * lib/_Noreturn.h, lib/c++defs.h, lib/libc-config.h, lib/sys_stat.in.h: * m4/gnulib-common.m4, m4/sys_stat_h.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Update from GnulibPaul Eggert2020-01-272-32/+23
| | | | | | | | | This incorporates: 2020-01-27 regex: port to non-GCC pre-IEC-60559 2020-01-24 regex: port to Gawk on nonstandard platforms 2020-01-21 regex: fix bug with >=16 subexpressions 2020-01-21 regex: simplify definition of BITSET_WORD_BITS * lib/regex.c, lib/regex_internal.h: Copy from Gnulib.
* Remove Gnulib putenv codePaul Eggert2020-01-182-206/+0
| | | | | | | | | | It’s not needed, since Emacs always uses the system putenv and all platforms have putenv. This improves on the fix for Bug#19874. Suggested by Bruno Haible. * admin/merge-gnulib (GNULIB_MODULES): Remove putenv. * configure.ac: Remove workarounds for Gnulib putenv module. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib/putenv.c, m4/putenv.m4: Remove.
* Update from gnulibPaul Eggert2020-01-134-1/+12
| | | | | | | | | | | | | | This incorporates: 2020-01-10 fix major regression from 2020-01-04 2020-01-05 tests: avoid GCC over-optimization 2020-01-04 fix AC_CHECK_DECL so it deactivates clang's built-ins 2020-01-03 getopt-posix: fix compilation failure in testdirs 2020-01-03 doc: mention the 64-bit inode number problem 2020-01-02 wchar: make the HP-UX workaround work on HP-UX 11.31 * build-aux/config.guess, build-aux/config.sub, lib/inttypes.in.h: * lib/stdlib.in.h, lib/unistd.in.h, m4/00gnulib.m4, m4/largefile.m4: * m4/unistd_h.m4: Copy from Gnulib * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* Update from gnulibPaul Eggert2019-12-3151-153/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This incorporates: 2019-12-23 mktime, nstrftime: tweak division performance 2019-12-22 count-leading-zeros: assume 'long long' 2019-12-22 count-one-bits: assume 'long long' 2019-12-22 count-trailing-zeros: assume 'long long' 2019-12-12 inttypes-incomplete: assume 'long long' 2019-12-22 malloca: assume 'long long' 2019-12-22 stdint: assume 'long long' 2019-12-22 strtoll, strtoimax, strtoumax: assume 'long long' 2019-12-22 prefer lib_SOURCES to unconditional AC_LIBOBJ 2019-12-19 nstrftime: avoid a shadowing warning 2019-12-18 improve port of AC_C_RESTRICT to Oracle C++ 2019-12-12 stdalign: port to xlclang 16.01 2019-12-11 stddef, unistd: fix compilation error in C++ mode on MSVC 2019-12-08 fix compilation errors in C++ mode on Haiku 2019-12-08 fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64 2019-12-08 fix compilation error in C++ mode on OpenBSD * build-aux/config.guess, doc/misc/texinfo.tex: * lib/count-leading-zeros.h, lib/count-one-bits.h: * lib/count-trailing-zeros.h, lib/inttypes.in.h, lib/malloca.h: * lib/mktime.c, lib/nstrftime.c, lib/signal.in.h, lib/stdalign.in.h: * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h: * lib/strtoimax.c, lib/unistd.in.h, m4/gnulib-common.m4: * m4/inttypes.m4, m4/largefile.m4, m4/malloca.m4, m4/strtoimax.m4: * m4/strtoll.m4: Copy from Gnulib. Also, change copyright notices in some other Gnulib-copied files to exactly match Gnulib, as Gnulib updated them in a trivially different way. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* Update copyright year to 2020Paul Eggert2020-01-01168-185/+205
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Update from GnulibPaul Eggert2019-12-063-80/+68
| | | | | | | | | | | | This incorporates: 2019-12-06 nstrftime: better width support for %N, %z 2019-12-03 Avoid hassles caused by [[noreturn]] in C++ 2019-12-02 Fix mistakes in --enable-threads=isoc fixes from 2019-12-01 * admin/merge-gnulib (AVOIDED_MODULES): Avoid pthread-h. * lib/_Noreturn.h, lib/nstrftime.c, m4/gnulib-common.m4: * m4/timer_time.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* etags: remove some arbitrary limitsPaul Eggert2019-11-262-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | etags had undefined behavior if input files, lines, tags, etc., had more than INT_MAX bytes. Clean up the usage of integer types to fix the overflow errors I found. * admin/merge-gnulib (GNULIB_MODULES): Add mempcpy. * lib-src/etags.c: Include inttypes.h, intprops.h. (memcpyz): New function. Use it to simplify several occurrences of memcpy followed by storing a trailing '\0'. (xnew): Use xnmalloc, to catch overflow on integer multiplication. (xrnew): Change last arg to multiplier. The type is not needed. All callers changed. (node, lineno, charno, linecharno, invalidcharno, make_tag): (pfnote, add_node, number_len, C_symtype, lbz, Makefile_targets) (readline): Use intmax_t for line numbers and character positions, instead of int or long. (linebuffer, make_tag, pfnote, total_size_of_entries, put_entry) (in_word_set, C_symtype, token, cstack, pushclass_above): (popclass_above, write_classname, consider_token, C_entries) (Ruby_functions, Makefile_targets, Lua_functions, TeX_commands) (TeX_decode_env, erlang_func, erlang_attribute, erlang_atom) (substitute, regex_tag_multiline, nocase_tail, readline_interval) (readline, savenstr, concat, etags_getcwd, relative_filename) (linebuffer_setlen): Use ptrdiff_t for object sizes, instead of int or long or unsigned or size_t. (write_classname, C_entries): Avoid sprintf, as the result could exceed INT_MAX bytes and then behavior goes haywire. (main): Use int, instead of unsigned, for argv counts. (get_language_from_filename): Use bool for boolean. (Ruby_functions): Prefer strcpy to memcpy when copying "=". (linebuffer_setlen): Use ‘if’ instead of ‘while’. (memory_full, xnmalloc, xnrealloc): New functions. (xmalloc): Use memory_full, and take a ptrdiff_t instead of a size_t. (xrealloc): Remove; no longer needed. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib/mempcpy.c, m4/mempcpy.m4: New files, copied from Gnulib.
* Update from GnulibPaul Eggert2019-11-2611-39/+173
| | | | | | | | | | | | | | | | | | | | | This incorporates: 2019-11-24 Fix errors in C++ mode on mingw 2019-11-24 time_r: Fix for mingw (regression from 2019-11-16) 2019-11-24 sys_time: Fix errors in C++ mode on mingw 2019-11-22 intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+ 2019-11-21 Disable many _GL_CXXALIASWARN on non-glibc 2019-11-21 Fix various errors in _GL_CXXALIAS_SYS invocations 2019-11-19 intprops: INT_MULTIPLY_WRAPV speedup for GCC 9.3+ 2019-11-18 stdint: Define [u]intptr_t correctly on 64-bit native Windows 2019-11-18 stdint: Fix value of WINT_MAX when we override wint_t 2019-11-18 stdint: Avoid "conflicting types" error on mingw 5.22 2019-11-16 time_r: Fix for mingw 2019-11-06 regex: now back in sync with glibc * lib/intprops.h, lib/regexec.c, lib/signal.in.h: * lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h: * lib/string.in.h, lib/sys_select.in.h, lib/sys_time.in.h: * lib/time.in.h, lib/unistd.in.h, m4/time_r.m4: Copy from Gnulib.
* Update from GnulibPaul Eggert2019-11-052-26/+14
| | | | | | | This incorporates: 2019-10-24 timespec-add, timespec-sub: simplify * lib/timespec-add.c, lib/timespec-sub.c: Copy from Gnulib.
* Update from GnulibPaul Eggert2019-10-244-56/+28
| | | | | | | | | | | This incorporates: 2019-10-23 nstrftime: speed up integer overflow checking 2019-10-23 port better to GCC under macOS 2019-10-15 inttypes: use more-robust test for int range 2019-10-14 update-copyright: use en dashes in .texi ranges * build-aux/update-copyright, lib/intprops.h, lib/inttypes.in.h: * lib/nstrftime.c, lib/verify.h: Copy from Gnulib.
* Update from GnulibPaul Eggert2019-10-116-121/+69
| | | | | | | | | | | | | | | | This incorporates: 2019-10-11 Simplify and regularize regex use of ‘assert’ 2019-10-09 regex: omit debug assignment when not debugging 2019-10-09 regex: tell compiler there’s at most 256 arcs out 2019-10-09 regex: simplify by assuming C99 2019-10-09 regex: avoid copying of uninitialized storage 2019-09-29 fbufmode: Fix compilation error on glibc >= 2.28 systems 2019-09-28 Update comments that refer to POSIX 2019-09-23 Update URLs and associated text * doc/misc/texinfo.tex, lib/open.c, lib/regcomp.c: * lib/regex_internal.c, lib/regex_internal.h, lib/regexec.c: * lib/stdio-impl.h: Copy from Gnulib.
* Update some URLsPaul Eggert2019-09-232-2/+2
| | | | | | | | | | | | | | | | | This mostly changes http: to https: in URLs. It also updates some URLs that have moved, removes some URLs that no longer work, recommends against using procmail (procmail.org no longer works), and removes some mentions of the no-longer-existing Gmane, LPF and VTW. It doesn't update all URLs, just the ones I had time for. * GNUmakefile (help): * admin/admin.el (manual-doctype-string): * admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map): * admin/charsets/mapconv: * lisp/net/soap-client.el (soap-create-envelope): * lisp/org/org.el (org-doi-server-url): * lisp/textmodes/bibtex.el (bibtex-generate-url-list): Prefer https: to http: un URLs.
* Update from GnulibPaul Eggert2019-09-2223-77/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | This incorporates: 2019-09-22 Update some URLs 2019-09-15 fcntl-h: fix compilation error of creat.c on MSVC 2019-09-15 creat: new module 2019-09-15 access: new module 2019-09-09 Add option to assume best, not worst, when cross-compiling. * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex: * lib/careadlinkat.c, lib/careadlinkat.h, lib/count-leading-zeros.h: * lib/count-trailing-zeros.h, lib/diffseq.h, lib/fcntl.in.h: * lib/ftoastr.c, lib/get-permissions.c: * lib/ieee754.in.h, lib/inttypes.in.h, lib/mktime.c, lib/open.c: * lib/pathmax.h, lib/pipe2.c, lib/stddef.in.h, lib/stdint.in.h: * lib/stdlib.in.h, lib/str-two-way.h, lib/string.in.h, lib/time.in.h: * lib/timegm.c, lib/unistd.in.h, m4/canonicalize.m4: * m4/extern-inline.m4, m4/fcntl_h.m4, m4/fdopendir.m4: * m4/getgroups.m4, m4/getopt.m4, m4/gettimeofday.m4: * m4/gnulib-common.m4, m4/largefile.m4: * m4/lstat.m4, m4/memmem.m4, m4/mktime.m4, m4/nocrash.m4, m4/open.m4: * m4/pselect.m4, m4/putenv.m4, m4/readlink.m4, m4/regex.m4: * m4/symlink.m4, m4/unistd_h.m4, m4/utimens.m4, m4/utimes.m4: Copy from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * m4/open-slash.m4: New file, copied from Gnulib.
* Update from GnulibPaul Eggert2019-09-023-44/+86
| | | | | | | | | | This incorporates: 2019-08-25 intprops.h, verify.h: port better to clang 2019-08-21 New strip-trailing-space option for srclist-update * .gitattributes: Remove doc/misc/texinfo.tex special case, which is no longer needed now that Gnulib trims blank-at-eol. * build-aux/install-sh, doc/misc/texinfo.tex, lib/intprops.h: * lib/regex_internal.c, lib/verify.h: Copy from Gnulib.
* Update from GnulibPaul Eggert2019-08-171-23/+34
| | | | | | | This incorporates: 2019-08-17 intprops: port to Oracle Developer Studio 12.6 2019-08-14 intprops: support uchar, ushort _WRAPV dests * lib/intprops.h: Copy from Gnulib.
* Update from GnulibPaul Eggert2019-08-142-42/+147
| | | | | | | | This incorporates: 2019-08-14 intprops: pacify picky GCC 2019-08-14 intprops: support unsigned *_WRAPV results 2019-08-12 verify: improve diagnostic quality in recent GCC * lib/intprops.h, lib/verify.h: Copy from Gnulib.
* Port double-slash test to z/OSPaul Eggert2019-07-241-0/+1
| | | | | | | | | | * admin/merge-gnulib (GNULIB_MODULES): Add double-slash-root. Emacs was already using this Gnulib module indirectly, so this is merely noting that there is now a direct dependency. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * src/fileio.c (search_embedded_absfilename): Use DOUBLE_SLASH_IS_DISTINCT_ROOT instead of (WINDOWSNT || CYGWIN). Simplify.
* Improve pdumper doc; say unexec is deprecatedPaul Eggert2019-07-231-2/+1
| | | | | | | | | | | Say that pdumping cannot redump unless -batch is used. Say that the traditional unexec dumping method is by default not available, and is deprecated. Don't call dump files "portable", as dump files are not any more portable than the Emacs executables themselves. Just call them "dump files". Similar, prefer "portable dumper" (since the dumper code is portable) to "portable dumping" (since the dump file is not). Be more systematic about calling them "dump files" instead of "dumped images" or whatnot.
* Make fingerprint handling compatible with LTOAndreas Schwab2019-07-092-2/+2
| | | | | | | | | | Tell the compiler that the fingerprint variable is modified unpredictably. * lib/fingerprint.h (fingerprint): Remove const. * lib/fingerprint.c (fingerprint): Likewise. * src/pdumper.c (Fdump_emacs_portable): Cast fingerprint variable. (pdumper_load): Likewise. * lib-src/make-fingerprint.c (main): Likewise.
* Update from GnulibPaul Eggert2019-07-066-5/+14
| | | | | | | | | | | | This incorporates: 2019-07-06 thread, lock, cond, tls: Remove support for Pth threads 2019-07-02 verify: document ‘assume’ better 2019-06-30 Include <stdlib.h> when needed 2019-06-30 inet_ntop, inet_pton: Avoid conflict with native Windows * build-aux/config.sub, lib/faccessat.c, lib/fcntl.c, lib/fstatat.c: * lib/readlinkat.c, lib/verify.h, m4/pthread_sigmask.m4: * m4/sys_socket_h.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Prefer PATH_MAX to MAXPATHLENPaul Eggert2019-06-251-2/+2
| | | | | | | | | | | | | | | | PATH_MAX is standardized, MAXPATHLEN is not. Also, the Gnulib pathmax module fixes some rare bugs with PATH_MAX. So prefer PATH_MAX to MAXPATHLEN unless we know the latter is also correct (for some platform-specific code). * admin/merge-gnulib (GNULIB_MODULES): Add pathmax. This module was already present, as a dependency of canonicalize-lgpl, but now Emacs is using it directly. Sort. * lib-src/emacsclient.c: Include stdint.h, pathmax.h. (get_current_dir_name): Sync to current src/sysdep.c. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * src/sysdep.c: Include pathmax.h. (get_current_dir_name_or_unreachable): Use PATH_MAX instead of MAXPATHLEN.
* Avoid some strlen work, primarily via strnlenPaul Eggert2019-06-252-2/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/merge-gnulib (GNULIB_MODULES): Add strnlen. * lib-src/etags.c (find_entries): * src/emacs.c (main): * src/nsmenu.m (parseKeyEquiv:): * src/nsterm.m (ns_xlfd_to_fontname): * src/term.c (vfatal): Prefer !*X to !strlen (X). * lib-src/etags.c (pfnote, add_regex): * lib-src/pop.c (pop_open): * lib-src/update-game-score.c (main): * lwlib/lwlib.c (lw_separator_p): * src/doprnt.c (doprnt): * src/emacs.c (main): * src/inotify.c (inotifyevent_to_event): * src/keyboard.c (menu_separator_name_p, parse_tool_bar_item): * src/sysdep.c (get_current_dir_name_or_unreachable): * src/xdisp.c (store_mode_line_string): Use strnlen to avoid unnecessary work with strlen. * lib-src/etags.c (Prolog_functions, prolog_pr) (Erlang_functions, erlang_func): Prefer ptrdiff_t to size_t when either will do. (prolog_pr, erlang_func): New arg LASTLEN, to avoid unnecessary strlen call. All callers changed. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib/strnlen.c, m4/strnlen.m4: New files, copied from Gnulib. * lwlib/lwlib.c (lw_separator_p): * src/json.c (json_has_prefix): Use strncmp to avoid unecessary work with strlen + memcmp. * src/process.c (set_socket_option): Use SBYTES instead of strlen.
* Update from GnulibPaul Eggert2019-06-252-10/+9
| | | | | | | This incorporates: 2019-06-24 unistd: stddef.h and sys/types.h namespace cleanup * lib/gnulib.mk.in: Regenerate. * lib/unistd.in.h: Copy from gnulib.
* Fix locating pdump by symlinkDaniel Colascione2019-06-235-0/+781
| | | | | | | | | | | * admin/merge-gnulib (GNULIB_MODULES): Add canonicalize-lgpl module * build-aux/config.guess, build-aux/gitlog-to-changelog, build-aux/update-copyright, lib/canonicalize-lgpl.c, lib/gnulib.mk.in, lib/malloca.c, lib/malloca.h, lib/pathmax.h, m4/canonicalize.m4, m4/double-slash-root.m4, m4/gnulib-comp.m4, m4/malloca.m4, my/pathmax.4: copy from GNUlib or regenerate from update * src/emacs.c: find dump by canonical path
* Fix extraclean in a different way for info+lib/sysPaul Eggert2019-06-201-0/+1
| | | | | | | * Makefile.in (extraclean): * lib/Makefile.in (extraclean): Use rmdir but suppress any error indication. That way, ‘make extraclean’ will remove the directory if it’s empty, and successfully do nothing otherwise.
* Leave the emtpy info and lib/sys in extracleanLars Ingebrigtsen2019-06-201-1/+0
| | | | | | | * lib/Makefile.in: Ditto. * Makefile.in (extraclean): Don't use GNU-specific rmdir; just leave the empty directory be.
* Make extraclean return tree to pristine state by deleting moreLars Ingebrigtsen2019-06-201-0/+3
| | | | | | | | | | | | | | | | | * src/Makefile.in (extraclean): Remove TAGS and config.in. * Makefile.in (extraclean): Remove info, configure and emacsver.texi in extraclean. * admin/unidata/Makefile.in (extraclean): Make it depend on distclean to remove .elc files. * leim/Makefile.in (extraclean): Depend on bootstrap-clean to remove generated .el files. * lib/Makefile.in (extraclean): Added target to remove sys directory and run distclean. * lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.
* Use copy_file_range to copy filesPaul Eggert2019-06-072-0/+45
| | | | | | | | | | | | | The copy_file_range syscall (introduced in Linux kernel version 4.5) can copy files more efficiently via server-side copy etc. * admin/merge-gnulib (GNULIB_MODULES): Add copy-file-range. * lib/copy-file-range.c, m4/copy-file-range.m4: New files, copied from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * src/fileio.c (Fcopy_file): Try copy_file_range first, falling back on read+write only if copy_file_range failed or if the input is empty and so could be a /proc file.
* Update from GnulibPaul Eggert2019-06-074-16/+36
| | | | | | | | | This incorporates: 2019-06-04 copy-file-range: new module 2019-05-28 binaty-io: O_BINARY on consoles no longer fails * doc/misc/texinfo.tex, lib/binary-io.c, lib/binary-io.h: * lib/unistd.in.h, m4/unistd_h.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Update from GnulibPaul Eggert2019-05-292-59/+76
| | | | | | | | | | | | | | | | | | | | This incorporates: 2019-05-24 flexmember: update comments 2019-05-18 pthread_sigmask: fix --enable-threads=windows compilation 2019-05-14 close-stream, closein, closeout: simplify 2019-05-09 verify: remove verify_true 2019-05-09 verify: support C2X and C++17 static_assert * build-aux/config.guess, build-aux/config.sub: * doc/misc/texinfo.tex, lib/flexmember.h, lib/verify.h: * m4/flexmember.m4, m4/pthread_sigmask.m4: Copy from Gnulib * m4/gnulib-comp.m4: Regenerate. 2019-05-26 Paul Eggert <eggert@cs.ucla.edu> Update author/maintainer info This mostly updates email addresses and fixes spellings of author and maintainer names.
* Update from GnulibPaul Eggert2019-04-304-48/+116
| | | | | | | * build-aux/config.guess, doc/misc/texinfo.tex: * lib/mktime-internal.h, lib/mktime.c, lib/timegm.c: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Improve port to platforms lacking euidaccess (Bug#35406)Paul Eggert2019-04-241-1/+4
| | | | | | | * lib-src/emacsclient.c (set_local_socket): Use faccessat with AT_EACCESS instead of using euidaccess. * admin/merge-gnulib, lib/gnulib.mk.in, m4/gnulib-comp.m4: Revert previous change.
* Port to platforms lacking euidaccess (Bug#35406)Paul Eggert2019-04-241-4/+1
| | | | | * admin/merge-gnulib (GNULIB_MODULES): Add euidaccess. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* Merge from gnulibPaul Eggert2019-04-242-1/+2
|
* Replace executable’s fingerprint in placePaul Eggert2019-04-146-2/+632
| | | | | | | | | | | | | | | | | | | | | | | * admin/merge-gnulib (GNULIB_MODULES): Add memmem-simple. (AVOIDED_MODULES): Add memchr. * configure.ac (HAVE_PDUMPER): AC_SUBST it, too, for use in makefiles. * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o. * lib/fingerprint.c: New file. * lib/memmem.c, lib/str-two-way.h, m4/memmem.m4: New files, copied from Gnulib. * lib/fingerprint.h: Rename from src/fingerprint.h. * lib-src/make-fingerprint.c: Include limits.h, sys/stat.h, fingerprint.h, intprops.h, min-max.h. (SSIZE_MAX): New macro, if not already defined. (main): Without -r, Replace the fingerprint in the input file instead of generating a fingerprint.c. * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * src/Makefile.in (HAVE_PDUMPER, MAKE_PDUMPER_FINGERPRINT): New macros. (temacs$(EXEEXT)): Use them to replace the fingerprint instead of precalculating it. (mostlyclean, ctagsfiles1): Do not worry about fingerprint.c.
* Update from GnulibPaul Eggert2019-04-132-0/+17
| | | | | | | | This incorporates: 2019-04-07 Add copyright notices in several files * build-aux/config.sub, doc/misc/texinfo.tex, lib/_Noreturn.h: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Update from Gnulib.Paul Eggert2019-03-257-29/+32
| | | | | | | | | | | | | | | | This incorporates: 2019-03-23 Support cross-compilation to musl libc 2019-03-23 noreturn: In C++ mode with clang, use _Noreturn as fallback 2019-03-22 _Noreturn: beware of C's _Noreturn in C++ pre C++11 2019-03-19 Help making signal handlers more reliable 2019-03-18 _Noreturn: clang and MSVC do support [[noreturn]] in C++11 2019-03-17 _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 2019-03-14 all: Update URLs to msdn.microsoft.com * doc/misc/texinfo.tex, lib/_Noreturn.h, lib/gettimeofday.c: * lib/mktime.c, lib/regcomp.c, lib/regexec.c, lib/stat-time.h: * lib/utimens.c, m4/fdopendir.m4, m4/getgroups.m4: * m4/gettimeofday.m4, m4/gnulib-common.m4, m4/putenv.m4, m4/utimes.m4: Update from gnulib.
* Update from GnulibPaul Eggert2019-03-103-7/+14
| | | | | | | | | | | | | This incorporates: 2019-03-10 alloca-opt: Fix conflict mingw's new <alloca.h> file 2019-03-03 getloadavg: Write NULL for the null pointer Reported by Michal Privoznik <mprivozn@redhat.com>. * lib/getloadavg.c (getloadavg): Write NULL instead of 0. * build-aux/config.guess, build-aux/move-if-change: * doc/misc/texinfo.tex, lib/alloca.in.h, lib/getloadavg.c: * m4/alloca.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Update from GnulibPaul Eggert2019-02-254-34/+101
| | | | | | | | | | | | This incorporates: 2019-02-24 nstrftime: support the ‘+’ flag 2019-02-24 stat, lstat: fix conflict with relocatable-prog-wrapper 2019-02-23 nstrftime: tweak arg order 2019-02-21 nstrftime: merge glibc strftime changes 2019-02-02 vla: add commentary about VLA_ELEMS * build-aux/config.guess, doc/misc/texinfo.tex, lib/fstatat.c: * lib/lstat.c, lib/nstrftime.c, lib/vla.h: Copy from Gnulib.