1. 25 Apr, 2019 2 commits
  2. 15 Apr, 2019 1 commit
    • Paul Eggert's avatar
      Replace executable’s fingerprint in place · 5c2f94a1
      Paul Eggert authored
      * 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.
      5c2f94a1
  3. 02 Feb, 2019 1 commit
    • Paul Eggert's avatar
      Update from Gnulib · adc31c6b
      Paul Eggert authored
      This incorporates:
      2019-02-02 dtoastr, ftoastr, ldtoastr: port to c-strtod changes
      2019-02-01 c-strtod, c-strtold: use the bug fixes
      2019-01-30 strtold: New module
      * doc/misc/texinfo.tex, lib/ftoastr.c, lib/regexec.c, lib/stdlib.in.h:
      * m4/stdlib_h.m4:
      Copy from Gnulib.
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      * m4/c-strtod.m4: Remove.
      adc31c6b
  4. 01 Jan, 2019 1 commit
  5. 03 Dec, 2018 2 commits
    • Paul Eggert's avatar
      Use tcdrain, not fdatasync, to drain ttys · f5090b91
      Paul Eggert authored
      fdatasync is for storage devices, not ttys.
      * admin/merge-gnulib (GNULIB_MODULES): Remove fdatasync.
      * lib/fdatasync.c, m4/fdatasync.m4: Remove.
      * lib-src/Makefile.in (LIB_FDATASYNC):
      * src/Makefile.in (LIB_FDATASYNC):
      Remove.  All uses removed.
      * lib-src/emacsclient.c [!DOS_NT]:
      Include <termios.h>, for tcdrain.
      * lib-src/emacsclient.c (flush_stdout):
      * src/sysdep.c (reset_sys_modes): On ttys, use tcdrain instead
      of fdatasync (except don’t use either function if DOS_NT).
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      f5090b91
    • Paul Eggert's avatar
      Update from Gnulib · 25a33aa2
      Paul Eggert authored
      This incorporates:
      2018-11-30 memrchr: port better to clang
      2018-11-21 mktime: add libc-config dependency
      * build-aux/config.guess, build-aux/config.sub, lib/memrchr.c:
      Copy from Gnulib.
      * m4/gnulib-comp.m4: Regenerate.
      25a33aa2
  6. 13 Nov, 2018 1 commit
    • Paul Eggert's avatar
      Update from Gnulib · 7e2a1543
      Paul Eggert authored
      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:
      7e2a1543
  7. 15 Oct, 2018 1 commit
    • Paul Eggert's avatar
      Update lib/regex from glibc via Gnulib · 3d91dc1b
      Paul Eggert authored
      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.
      3d91dc1b
  8. 06 Aug, 2018 1 commit
    • Paul Eggert's avatar
      Use Gnulib regex for lib-src · d904cc83
      Paul Eggert authored
      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.
      d904cc83
  9. 02 Aug, 2018 1 commit
    • Paul Eggert's avatar
      Substitute a <ieee754.h> on hosts lacking it · d216d7d2
      Paul Eggert authored
      * .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.
      d216d7d2
  10. 08 Jul, 2018 2 commits
  11. 21 May, 2018 1 commit
    • Paul Eggert's avatar
      Update from Gnulib · 79f15092
      Paul Eggert authored
      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.
      79f15092
  12. 01 Jan, 2018 1 commit
    • Paul Eggert's avatar
      Merge from Gnulib · 220a9ecb
      Paul Eggert authored
      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
      220a9ecb
  13. 12 Nov, 2017 1 commit
    • Paul Eggert's avatar
      Merge from Gnulib · 7775c472
      Paul Eggert authored
      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.
      7775c472
  14. 02 Oct, 2017 1 commit
    • Paul Eggert's avatar
      Port file-system-info to non-Microsoft · 135bca57
      Paul Eggert authored
      * 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.
      135bca57
  15. 13 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Merge from Gnulib · a0202fdc
      Paul Eggert authored
      This incorporates:
      2017-09-13 all: prefer https: URLs
      This just changes http: to https: in comments,
      in files copied from Gnulib.
      a0202fdc
  16. 16 Aug, 2017 1 commit
    • Paul Eggert's avatar
      Merge from Gnulib; use ‘open’ for O_CLOEXEC · 794c3cd3
      Paul Eggert authored
      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.
      794c3cd3
  17. 12 Aug, 2017 1 commit
    • Paul Eggert's avatar
      Improve make-temp-file performance on local files · a6ad98ad
      Paul Eggert authored
      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.
      a6ad98ad
  18. 09 Aug, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 904be8c4
      Paul Eggert authored
      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.
      904be8c4
  19. 31 Jul, 2017 1 commit
    • Paul Eggert's avatar
      Avoid most stat calls when completing file names · 3a8d0cc8
      Paul Eggert authored
      * 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.
      3a8d0cc8
  20. 24 Jul, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 9b971bdd
      Paul Eggert authored
      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.
      9b971bdd
  21. 16 Jul, 2017 1 commit
    • Paul Eggert's avatar
      Use explicit_bzero to clear GnuTLS keys · 59f69721
      Paul Eggert authored
      * 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.
      59f69721
  22. 22 Jun, 2017 1 commit
    • Paul Eggert's avatar
      Use unlocked stdio more systematically · f6ef15cf
      Paul Eggert authored
      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.
      f6ef15cf
  23. 17 Jun, 2017 1 commit
    • Philipp Stephani's avatar
      Add command to replace buffer contents · d682f0da
      Philipp Stephani authored
      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.
      d682f0da
  24. 01 Jun, 2017 1 commit
    • Paul Eggert's avatar
      Improve performance by avoiding strtoumax · 178d0cb5
      Paul Eggert authored
      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.
      178d0cb5
  25. 16 May, 2017 1 commit
    • Paul Eggert's avatar
      Merge with gnulib, pacifying GCC 7 · 2e1bebe2
      Paul Eggert authored
      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.
      2e1bebe2
  26. 14 May, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 4132bd74
      Paul Eggert authored
      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.
      4132bd74
  27. 01 May, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 634d0a90
      Paul Eggert authored
      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.
      634d0a90
  28. 30 Apr, 2017 2 commits
    • Paul Eggert's avatar
      Merge from gnulib · b6aa3446
      Paul Eggert authored
      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.
      b6aa3446
    • Paul Eggert's avatar
      Merge from gnulib · 7e4dae99
      Paul Eggert authored
      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.
      7e4dae99
  29. 27 Apr, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · abd76913
      Paul Eggert authored
      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.
      abd76913
  30. 09 Apr, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib (Bug#26398) · 43bc45ba
      Paul Eggert authored
      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.
      43bc45ba
  31. 06 Apr, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 02275595
      Paul Eggert authored
      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.
      02275595
  32. 19 Mar, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · fa90c5e8
      Paul Eggert authored
      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.
      fa90c5e8
  33. 14 Mar, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · fac0bb9c
      Paul Eggert authored
      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.
      fac0bb9c
  34. 03 Mar, 2017 1 commit
    • Paul Eggert's avatar
      logb now works correctly on large integers · 74f87fd1
      Paul Eggert authored
      * 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.
      74f87fd1
  35. 01 Jan, 2017 2 commits
    • Paul Eggert's avatar
      Merge from gnulib · 5a59e28d
      Paul Eggert authored
      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.
      5a59e28d
    • Paul Eggert's avatar
      Update copyright year to 2017 · 5badc81c
      Paul Eggert authored
      Run admin/update-copyright.
      5badc81c