1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-02 02:10:46 -08:00
Commit graph

353 commits

Author SHA1 Message Date
Paul Eggert
9ebc2bbe3c Merge from gnulib
This incorporates:
2017-05-25 port to recent icc
* lib/intprops.h: Copy from gnulib.
2017-05-25 00:13:33 -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
7ff7624a7a Merge from gnulib
This incorporates:
2017-05-08 intprops: don’t depend on ‘verify’
2017-05-07 utimens: on native Windows, improve resolution if fd < 0
2017-05-07 utimens: Improve error code on native Windows
* lib/intprops.h, lib/utimens.c: Copy from gnulib.
2017-05-08 10:49:12 -07:00
Paul Eggert
9c2b03fe3f Merge from gnulib
This incorporates:
2017-05-02 utimens: port to Emacs + MS-Windows
* lib/utimens.c: Copy from gnulib.
2017-05-02 00:47:36 -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
7cc329fd73 Merge from gnulib
This incorporates:
2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
* lib/getopt-pfx-ext.h: Copy from gnulib.
* lib/gnulib.mk.in: Regenerate.
2017-04-29 23:11:38 -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
0ef7f64407 Merge from gnulib
This incorporates:
2017-04-14 intprops: try to avoid tickling similar bugs
2017-04-14 intprops: port to Oracle Studio 12.3 x86
* doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
2017-04-15 22:23:05 -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
360b2bf2f6 Fix 'make clean' in lib subdirectory
* lib/Makefile.in (clean): Remove *-t files.
(mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
This removes files like lib/getopt.h that should be removed
even if this configuration did not need to build them.
(maintainer-clean): Remove TAGS here, not in distclean,
to be consistent with ../src/Makefile.in.
2017-04-06 13:43:06 -07:00
Paul Eggert
e6d3eaa698 Merge from gnulib
This incorporates:
2017-03-22 getopt: merge from glibc
* build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
* lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
* lib/gnulib.mk.in: Regenerate.
2017-03-23 08:53:21 -07:00
Paul Eggert
bf8cf95d7d Streamline dependency-file generation
* configure.ac (AUTODEPEND_PARENTS): New var.
mkdir the dependency directories here, to simplify ‘make’.
Remove dependency files just before outputting Makefiles, so that
they are preserved if ‘configure’ exits early due to some other problem.
* lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
* src/Makefile.in: Adjust deps strategies to be similar, as follows:
(MKDEPDIR): Remove.  All uses removed.  This cuts down on the
number of processes spun off by ‘make’.
(clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
(distclean): Remove $(DEPDIR) itself.
* lwlib/Makefile.in (all): Move to front, so that depdir includes
do not alter default action.
2017-03-21 09:59:31 -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
Eli Zaretskii
12f8cfdcae Fix last change in lib/Makefile.in
* lib/Makefile.in (srcdir): Define, as including
$(srcdir)/../nt/gnulib-cfg.mk needs that.
2017-03-18 11:26:50 +02:00
Paul Eggert
eb8116f70c Port out-of-source builds to windows-nt
Problem reported by Angelo Graziosi in:
http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
* lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
to handle out-of-source builds if windows-nt.
2017-03-17 21:24:52 -07:00
Paul Eggert
2f8935099c Fixups for GNU Make switchover
This fixes some minor problems introduced in the recent switch to GNU
Make, discovered by further testing.  Without some of these changes
'make -j' would sometimes have race conditions caused by missing
dependencies.  (Bug#26100)
* .gitignore: Remove src/stamp-h.in, src/stamp-h1.
* Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
src/config.in, since the former's timestamp now represents
the latter's.
($(srcdir)/configure): Use plain ./autogen.sh, for consistency
with other autogen.sh invocations.
($(srcdir)/src/stamp-h.in):
Remove rule, as this file is no longer created.
* Makefile.in (top_distclean):
* src/Makefile.in (bootstrap-clean):
No need to remove stamp-h1, as that was an Automake byproduct
and Automake is no longer in use.
* lib/Makefile.in, src/Makefile.in:
(AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
(../config.status, Makefile): Simplify by limiting dependencies
to files we care about and files in the repository, and by
using just one file to represent the timestamps on multiple
targets updated by the same rule.
* autogen.sh: Do not create or use src/stamp-h.in.
Instead, have 'find' test the two output files directly.
2017-03-17 11:42:34 -07:00
Paul Eggert
65faa7bcb5 Switch from Automake to GNU Make
Emacs assumes GNU Make, and GNU Make has much of the functionality of
Automake built-in.  The Emacs build process uses Automake primarily
because Emacs uses some Gnulib code and Gnulib formerly required
Automake.  Now that Gnulib no longer requires Automake, Emacs can
stop using Automake and this should simplify Emacs maintenance
in the future (Bug#26100).  Although this patch may look long, most of
it is generated automatically: the changes to build-aux/config.guess,
build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
all done by admin/merge-gnulib.
* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
as they are no longer built by autogen.sh.
Add lib/gnulib.mk, as it is now built by 'configure'.
Remove nt/gnulib.mk, as it is no longer built by 'make'.
* INSTALL.REPO, README, admin/make-tarball.txt:
Remove mention of Automake.
* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
Remove.
($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
($(srcdir)/src/config.in):
Use autogen.sh instead of doing it by hand.
* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
New vars, to simplify processing of avoided modules.
(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
Add --gnu-make, and change makefile name to gnulib.mk.in.
Copy config.guess, config.sub, and install-sh too, since
Automake no longer does that for us.
* admin/notes/copyright:
* admin/update_autogen (genfiles):
Update list of files.
Remove hack for nt/gnulib.mk, a file that is no longer needed.
* autogen.sh (progs): Remove Automake.
(automake_min): Remove.
Build aclocal.m4 so that autoreconf need not use aclocal.
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh:
New files, copied from Gnulib.  These are now updated by
admin/merge-gnulib instead by autogen.sh.
* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
Remove.
(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
(--disable-silent-rules): New option, since Automake no longer
does this for us.
(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
with AM_SUBST_NOTMAKE.
(AC_PROG_INSTALL): Add call.
(MAKEINFO): Do not bother with the 'missing' program.
(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
(SUBDIR_MAKEFILES): Remove duplication.
* lib/Makefile.am: Remove, replacing with:
* lib/Makefile.in: New file, with the old Makefile.am contents
and with the following changes:
(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
Remove.
(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
New macros and rules, since Automake no longer does them.
Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
Include dependency files if AUTO_DEPEND.
(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
New macros.
(bootstrap-clean): Depend on distclean, not maintainer-clean,
and remove gnulib.mk.
(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
New macros and rules, copied from ../Makefile.in.
($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
(.c.o, e-%.o): New generic rules.
* lib/gnulib.mk: Remove.
* lib/gnulib.mk.in: New file, which is built by autogen.sh
and contains much of what used to be in lib/gnulib.mk.
* m4/gnulib-common.m4: Copy from gnulib.
* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
* nt/gnulib-cfg.mk: New file, which supersedes ...
* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
* src/Makefile.in (ACLOCAL_INPUTS): Remove.
(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
($(top_srcdir)/configure, ../config.status, config.in Makefile):
Defer to parent Makefile.
2017-03-17 11:42:34 -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
0406443021 Merge from gnulib
This incorporates:
2017-03-04 dtotimespec: simplify
* lib/dtotimespec.c: Copy from gnulib.
2017-03-05 13:31:33 -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
7204577bf9 Merge from gnulib
This incorporates:
2017-02-16 xbinary-io: rename from xsetmode
2017-02-15 xsetmode: new module
* lib-src/etags.c (main):
* lib-src/hexl.c (main):
* src/emacs.c (main) [MSDOS]:
Prefer set_binary_mode to the obsolescent SET_BINARY.
* lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
2017-02-23 09:15:06 -08:00
Paul Eggert
46aa9a3009 Merge from gnulib
2017-01-30 Port to PGI 16.10 x86-64
2017-01-20 time_rz: fix comment typo
2017-01-14 strftime: %z is -00 if unknown
This incorporates:
* doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
* lib/time-internal.h, lib/verify.h:
Copy from gnulib.
2017-02-02 07:50:22 -08:00
Paul Eggert
fa0a2b4e7c Merge from gnulib
This incorporates:
2017-01-09 maint: time stamp -> timestamp
2017-01-07 stdioext: Port to Minix 3.2 and newer
2017-01-06 glob, intprops, xalloc: work around Clang bug
2017-01-02 revert copyright-year change to synced files
* doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
* lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
* lib/utimens.c, lib/xalloc-oversized.h:
Copy from gnulib.
2017-01-10 07:49:55 -08:00
Paul Eggert
e6a782ee1a Update copyright year to 2017 in master
Run admin/update-copyright in the master branch.  This fixes files
that were not already fixed in the emacs-25 branch before it was
merged here.
2017-01-01 01:48:59 -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
2e2a806803 Fix copyright years by hand
These are dates that admin/update-copyright did not update, or
updated incorrectly.
2017-01-01 04:01:41 +00:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Eli Zaretskii
0757b4f2f7 Fix crashes on MS-Windows during dumping
* src/unexw32.c (get_section_info): Make extra_bss_size be the
maximum of extra_bss_size and extra_bss_size_static.  This avoids
computing the size of the output file smaller than it actually
needs to be, which then causes copy_executable_and_dump_data to
write beyond the requested size of the file mapping, thus relying
on the OS roundup to page boundary to save us from ourselves.  See
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00642.html
for the details.

* lib/stdio-impl.h: Revert the workaround fix of not including
errno.h for MinGW.
2016-12-17 13:08:52 +02:00
Eli Zaretskii
b3cf281174 Unbreak the MinGW build
* lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
this, temacs crashes while dumping.
2016-12-16 12:50:06 +02: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
f3fa5d7e22 Merge from gnulib
This incorporates:
2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
* build-aux/snippet/c++defs.h:
* lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
Copy from gnulib.
2016-12-01 21:57:15 -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
44c34c2ed3 Update from gnulib
This incorporates:
2016-11-03 intprops: port to older XL C
* lib/intprops.h: Copy from gnulib.
2016-11-04 15:12:28 -07: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
f4eb890029 Limit <config.h>’s includes
This follows up on recent problems with the fact that config.h
includes stdlib.h etc.; some files need to include stdlib.h later.
config.h generally should limit itself to includes that are
universally safe; outside of MS-Windows, only stdbool.h makes
the cut among the files currently included.  So, move the
other includes to just the files that need them (Bug#24506).
* configure.ac (config_opsysfile): Remove, as this generic hook
is no longer needed.
* lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
* src/w32proc.c (_GNU_SOURCE):
Remove, as it’s OK for config.h to do this now.
* src/conf_post.h: Include <ms-w32.h>, instead of the generic
config_opsysfile, for simplicity as this old way of configuring is
now done only for the MS-Windows port.  Do not include <ms-w32.h>
if DEFER_MS_W32_H, for the benefit of the few files that want its
effects later.  Do not include <alloca.h>, <string.h>, or
<stdlib.h>.  Other files modified to include these headers as
needed, or to not include headers that are no longer needed.
* src/lisp.h: Include <alloca.h> and <string.h> here, since
some of the inline functions need them.
* src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
we can rely on SAFE_ALLOCA.)  There is no longer any need to
worry about HAVE_ALLOCA_H.
* src/unexmacosx.c: Rely on config.h not including stdlib.h.
* src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
Define before including <config.h> first, and include <ms-w32.h>
after the troublesome headers.
2016-09-30 12:38:52 -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
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
6cf3ee3d54 Update from gnulib
This incorporates:
2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
2016-08-29 intprops.h: port recent changes to GCC 6.2.0
2016-08-29 intprops.h: use __typeof__ with GCC 7
2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
2016-08-24 intprops: fix paren typo on old platforms
2016-08-24 intprops: port to OpenVMS
* lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
2016-08-30 13:16:22 -07:00
Paul Eggert
1f7302563a Update from gnulib
This incorporates:
2016-08-17 maint: preprocessor changes to support z/OS
2016-08-17 string: rename to avoid '__string'
* doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
Copy from gnulib.
2016-08-21 04:26:53 -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
63457dcfe0 Update from gnulib
This incorporates:
2016-06-24 intprops: port better to GCC 7
2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
* doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
Copy from gnulib.
2016-06-24 13:51:08 +02:00