1. 02 Feb, 2016 1 commit
    • Paul Eggert's avatar
      Build with C11 if available · b50075dd
      Paul Eggert authored
      * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
      * m4/std-gnu11.m4: New file, from gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
  2. 24 Jan, 2016 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 1698036a
      Paul Eggert authored
      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.
  3. 19 Jan, 2016 2 commits
    • Paul Eggert's avatar
      Avoid stdio in SIGINT handler · 564c84f4
      Paul Eggert authored
      * 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.
    • Paul Eggert's avatar
      Merge from gnulib · cd19641e
      Paul Eggert authored
      This mostly just updates copyright dates of gnulib files.
      It also updates to the latest version of texinfo.tex.
  4. 17 Jan, 2016 1 commit
    • Paul Eggert's avatar
      Port cleanup attribute to OpenBSD · fabb1fa3
      Paul Eggert authored
      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.
  5. 03 Jan, 2016 1 commit
    • Paul Eggert's avatar
      Avoid stdio in SIGINT handler · e79b06e6
      Paul Eggert authored
      * 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.
  6. 01 Jan, 2016 2 commits
  7. 30 Nov, 2015 1 commit
  8. 18 Nov, 2015 1 commit
    • Aurélien Aptel's avatar
      Add dynamic module module support · 307e76c7
      Aurélien Aptel authored
      * 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
      * src/Makefile.in: Conditionally add module objects and linker flags.
      * src/alloc.c (garbage_collect_1): protect module local values from
      * 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: default avatarPhilipp Stephani <phst@google.com>
  9. 14 Oct, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · e668176e
      Paul Eggert authored
      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.
  10. 27 Jul, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 2856b1dd
      Paul Eggert authored
      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.
  11. 26 Jul, 2015 1 commit
    • Paul Eggert's avatar
      New optional ZONE arg for format-time-string etc. · af32fa95
      Paul Eggert authored
      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)
      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)
      Remove; now supplied by gnulib.
      * src/emacs.c (main):
      * src/lisp.h (init_editfns): Adjust to init_editfns API change.
  12. 05 Jul, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 1323c139
      Paul Eggert authored
      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.
  13. 07 Jun, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 325bf192
      Paul Eggert authored
      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.
  14. 28 May, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 6c52e9b9
      Paul Eggert authored
      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:
      * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
  15. 30 Apr, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 6eaa9a57
      Paul Eggert authored
      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.
  16. 25 Apr, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 27e6afeb
      Paul Eggert authored
      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.
  17. 07 Apr, 2015 1 commit
    • Paul Eggert's avatar
      Generate a ChangeLog file from commit logs · 23468561
      Paul Eggert authored
      * .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
  18. 19 Mar, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · ccf00107
      Paul Eggert authored
      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.
  19. 25 Feb, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 27bd6dad
      Paul Eggert authored
      * 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_*
  20. 21 Feb, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 066b17df
      Paul Eggert authored
      * 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
  21. 28 Jan, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib and try to repair bad merge · 39c2fa3f
      Paul Eggert authored
      This attempts to repair problems introduced by the bad merge
      5491fd10.  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
  22. 06 Jan, 2015 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 215942da
      Paul Eggert authored
      * lib/stdio.in.h, m4/stdio_h.m4: Update from gnulib, incorporating:
      2015-01-05 stdio: fix use of PRIdMAX on modern mingw
  23. 01 Jan, 2015 2 commits
  24. 25 Dec, 2014 1 commit
    • Paul Eggert's avatar
      Prefer stpcpy to strcat · 1e6879db
      Paul Eggert authored
      * 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)
      * 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.
  25. 23 Dec, 2014 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · e3040f2a
      Paul Eggert authored
      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.
  26. 13 Dec, 2014 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · b81a1837
      Paul Eggert authored
      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.
  27. 14 Nov, 2014 1 commit
    • Paul Eggert's avatar
      Merge from gnulib. · dc7a3ba2
      Paul Eggert authored
      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.
  28. 19 Oct, 2014 1 commit
    • Paul Eggert's avatar
      Merge from gnulib. · 821339c9
      Paul Eggert authored
      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.
  29. 23 Sep, 2014 1 commit
    • Paul Eggert's avatar
      Merge from gnulib. · dac5be10
      Paul Eggert authored
      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
  30. 02 Sep, 2014 1 commit
    • Paul Eggert's avatar
      Merge from gnulib, incorporating: · da25527e
      Paul Eggert authored
      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.
  31. 30 Aug, 2014 1 commit
    • Paul Eggert's avatar
      Vector-sorting fixes. · f9caea82
      Paul Eggert authored
      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
      * 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
  32. 04 Aug, 2014 1 commit
    • Paul Eggert's avatar
      Merge from gnulib, incorporating: · c7d117f3
      Paul Eggert authored
      2014-08-04 extern-inline: port to FreeBSD, DragonFly
      * lib/gnulib.mk: Regenerate (comment change only).
      * m4/extern-inline.m4: Update from gnulib.
  33. 31 Jul, 2014 1 commit
    • Paul Eggert's avatar
      Simplify timerfd configuration and fix some minor glitches. · 5c6476b4
      Paul Eggert authored
      * 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.
  34. 28 Jul, 2014 1 commit
    • Dmitry Antipov's avatar
      On GNU/Linux, use timerfd for asynchronous timers. · 768b24eb
      Dmitry Antipov authored
      * 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.
  35. 17 Jun, 2014 1 commit
    • Paul Eggert's avatar
      Omit redundant extern decls. · 73bfe891
      Paul Eggert authored
      Most of this patch is from Dmitry Antipov, in:
      * 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)
      * 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)
      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.
  36. 11 Jun, 2014 1 commit
  37. 01 Jun, 2014 1 commit
    • Paul Eggert's avatar
      Merge from gnulib. · eed652d6
      Paul Eggert authored
      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.