+2011-02-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/min-max.h: New file, for "min" and "max".
+
+2011-02-21 Christoph Scholtes <cschol2112@gmail.com>
+
+ * lib/makefile.w32-in: ($(BLD)/md5.$(O)): Added dependency on
+ $(EMACS_ROOT)/nt/inc/stdint.h.
+
+2011-02-21 Eli Zaretskii <eliz@gnu.org>
+
+ * lib/makefile.w32-in ($(BLD)/filemode.$(O)): Move from
+ src/makefile.w32-in and adapt. Depend on stamp_BLD.
+ (GNULIBOBJS): Add $(BLD)/filemode.$(O).
+
+2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Import filemode module from gnulib.
+ * .bzrignore: Add lib/sys/.
+ * Makefile.in (GNULIB_MODULES): Add filemode.
+ * lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
+ * lib/filemode.c: Renamed from src/filemode.c and regenerated
+ from gnulib. This adds support for some more file types, e.g.,
+ Cray DMF migrated files.
+ * lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
+ * lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
+ * m4/sys_stat_h.m4: New files, generated from gnulib.
+ * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
+ Regenerate.
+
+2011-02-20 Eli Zaretskii <eliz@gnu.org>
+
+ * lib/makefile.w32-in ($(BLD)/md5.$(O)): Don't depend on
+ $(EMACS_ROOT)/nt/inc/sys/stat.h.
+
+2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.in (C_WARNINGS_SWITCH): Do not prepend -Wno-pointer-sign.
+ This undoes the 2006-01-02 change. The -Wno-pointer-sign option
+ is no longer needed, due to the recent SSDATA and related changes.
+ Perhaps -Wno-pointer-sign should also be removed from
+ nextstep/Cocoa/Emacs.xcodeproj/project.pbxproj but I have no easy
+ way to test this so I left it alone.
+ * configure: Regenerate.
+
+2011-02-20 Christoph Scholtes <cschol2112@gmail.com>
+
+ * lib/makefile.w32-in ($(BLD)/md5.$(O)): New recipe, moved from
+ src/makefile.w32-in.
+
+2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Import crypto/md5 and stdint modules from gnulib.
+ * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
+ Regenerate.
+ * lib/md5.c, lib/md5.h: Rename from src/md5.h and lib/md5.h.
+ Import the new versions from gnulib; they assume a C99-style
+ <stdint.h>, supplied by the stdint module.
+ * lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4, m4/md5.m4: New files,
+ imported from gnulib.
+ * Makefile.in (MAKEFILE_MODULES): Add crypto/md5.
+ * admin/notes/copyright: Remove src/md5.c and src/md5.h as
+ special cases.
+
+2011-02-19 Eli Zaretskii <eliz@gnu.org>
+
+ * .bzrignore: Ignore cxxdefs.h and lib/*.in-h files.
+ Add lib/deps/.
+
+ * config.bat: Configure in `lib'.
+ Generate *.Po files in lib/deps.
+
+2011-02-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ Import IRIX 6.5 getloadavg fixes from gnulib.
+ * configure, lib/getloadavg.c, m4/getloadavg.m4: Regenerate.
+
+2011-02-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Import getloadavg module from gnulib.
+ * .bzrignore: Add lib/stdlib.h.
+ * Makefile.in (GNULIB_MODULES): Add getloadavg.
+ * admin/notes/copyright: Remove src/getloadavg.c as a special case.
+ * configure.in (LIBS_SYSTEM): Omit -lkstat on sol2*; gnulib does this.
+ (AC_CONFIG_LIBOBJ_DIR, AC_FUNC_GETLOADAVG, GETLOADAVG_FILES):
+ Remove; gnulib does this now.
+ * lib/getloadavg.c: Rename from src/getloadavg.c, and sync
+ from gnulib. This adds support for several other systems, such
+ as Tru64 4.0D, QNX, AIX perfstat, etc. It also fixes a potential
+ buffer overrun on Linux hosts under very high load, and on hosts
+ that maintain a channel to the load average file it makes sure
+ the file descriptor is close-on-exec (on hosts that support this)
+ and is not stdin, stdout, or stderr.
+ * lib/stdlib.in.h, m4/getloadavg.m4, m4/stdlib_h.m4: New files,
+ from gnulib.
+ * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
+ * src/config.in: Regenerate.
+
+2011-02-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge from gnulib.
+
+ * install-sh: Update to scriptversion 2011-01-19.21.
+
+ 2011-02-13 Bruno Haible <bruno@clisp.org>
+
+ Consistent macro naming for macros that use GCC __attribute__.
+ * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
+ ATTRIBUTE_DEPRECATED.
+
+ 2011-02-12 Bruno Haible <bruno@clisp.org>
+
+ setlocale: Prefer gnulib's override over libintl's override.
+ * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
+ GNULIB_defined_setlocale is set.
+
+2011-02-13 Glenn Morris <rgm@gnu.org>
+
+ * make-dist: Exclude generated file src/globals.h.
+
2011-02-10 Paul Eggert <eggert@cs.ucla.edu>
* arg-nonnull.h, c++defs.h, warn-on-use.h: Fix licenses.
* .bzrignore: Ignore globals.h and related stamp.
+2011-02-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/Makefile.in, lib/gnulib.mk: Regenerate.
+ This merges the following fix from gnulib:
+
+ 2011-02-08 Bruno Haible <bruno@clisp.org>
+
+ Split large sed scripts, for HP-UX sed.
+
2011-02-08 Tom Tromey <tromey@redhat.com>
* configure: Rebuild.
2011-02-06 Paul Eggert <eggert@cs.ucla.edu>
+ gnulib: allow multiple gnulib generated replacements to coexist
+ This defines a few preprocessor symbols that should not affect Emacs.
+ * lib/getopt.in.h, lib/time.in.h, lib/unistd.in.h: Regenerate
+ via "make sync-from-gnulib".
+
gnulib: undo previous change
The upstream _HEADERS change was backed out of gnulib (see the
same thread). Stay in sync with gnulib.
gnulib: adjust to upstream _HEADERS change
- * c++defs.h: Regenerate.
+ * lib/Makefile.am (EXTRA_HEADERS, nodist_pkginclude_HEADERS):
+ New empty macros, to accommodate recent changes to gnulib. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00068.html>.
+ * c++defs.h, lib/Makefile.in, lib/ftoastr.h, lib/getopt.in.h:
+ * lib/gnulib.mk, lib/ignore-value.h, lib/stdbool.in.h, lib/stddef.in.h:
+ * lib/time.in.h, lib/unistd.in.h:
+ Regenerate.
2011-02-05 Paul Eggert <eggert@cs.ucla.edu>
allow C code to suppress warnings about ignored return values
* Makefile.in (GNULIB_MODULES): Add ignore-value.
- * configure, m4/gl-comp.m4: Regenerate.
+ * configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
+ * lib/ignore-value.h: New file.
2011-01-31 Chong Yidong <cyd@stupidchicken.com>
* configure.in: Test existence of xaw3d library, not just the
header (Bug#7642).
+2011-01-31 Eli Zaretskii <eliz@gnu.org>
+
+ * lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/strftime.$(O) and
+ $(BLD)/time_r.$(O).
+ ($(BLD)/dtoastr.$(O)): Depend on $(EMACS_ROOT)/src/s/ms-w32.h and
+ $(EMACS_ROOT)/src/m/intel386.h.
+ ($(BLD)/strftime.$(O)):
+ ($(BLD)/time_r.$(O)): Define prerequisites.
+
2011-01-31 Paul Eggert <eggert@cs.ucla.edu>
src/emacs.c now gets version number from configure.in
* Makefile.in (GNULIB_MODULES): Add strftime.
* configure.in (AC_FUNC_STRFTIME, my_strftime): Remove; no longer
needed.
- * aclocal.m4, configure, m4/gl-comp.m4:
+ * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
+ * lib/strftime.c, lib/strftime.h, lib/stdbool.in.h: New files,
+ imported from gnulib.
* m4/strftime.m4, m4/stdbool.m4, m4/tm_gmtoff.m4: Likewise.
This incorporates many changes from gnulib, including simpler
handling of multibyte formats, porting to mingw32 and other
* configure: Regenerate from the following.
+ 2011-01-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ mktime: clarify long_int width checking
+ * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
+ the top level, to make it clearer that the assumption about
+ long_int width is being checked. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
+
2011-01-29 Paul Eggert <eggert@cs.ucla.edu>
TYPE_MAXIMUM: avoid theoretically undefined behavior
- * m4/mktime.m4 (AC_FUNC_MKTIME): Do not shift a
+ * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
negative number, which the C Standard says has undefined behavior.
In practice this is not a problem, but might as well do it by the book.
Reported by Rich Felker and Eric Blake; see
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
+ * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
+ * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
+
+ mktime: #undef mktime before #defining it
+ * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
+
+ mktime: systematically normalize tm_isdst comparisons
+ * lib/mktime.c (isdst_differ): New function.
+ (__mktime_internal): Use it systematically for all isdst comparisons.
+ This completes the fix for libc BZ #6723, and removes the need for
+ normalizing tm_isdst. See
+ <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
+ (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
+
+ mktime: fix some integer overflow issues and sidestep the rest
+
+ This was prompted by a bug report by Benjamin Lindner for MinGW
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
+ His bug is due to signed integer overflow (0 - INT_MIN), and I
+ I scanned through mktime.c looking for other integer overflow
+ problems, fixing all the bugs I found.
+
+ Although the C Standard says the resulting code is still not safe
+ in the presence of integer overflow, in practice it should be good
+ enough for all real-world two's-complement implementations, except
+ for debugging environments that deliberately trap on integer
+ overflow (e.g., gcc -ftrapv).
+
+ * lib/mktime.c (WRAPV): New macro.
+ (SHR): Also check that long_int and time_t shift right in the
+ usual way, before using the fast-but-unportable method.
+ (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
+ used. The code already assumed two's complement, so there's
+ no need to test for alternatives. All uses removed.
+ (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
+ the C standard. Problem reported by Rich Felker in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
+ (twos_complement_arithmetic): Also check long_int and time_t.
+ (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
+ (guess_time_tm, ranged_convert, __mktime_internal): Use them.
+ (__mktime_internal): Avoid integer overflow with unary subtraction
+ in two instances where -1 - X is an adequate replacement for -X,
+ since the calculations are approximate.
2011-01-29 Eric Blake <eblake@redhat.com>
type; behavior is still undefined but portable to all known targets.
Reported by Rich Felker.
+ 2011-01-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ mktime: avoid problems on NetBSD 5 / i386
+ * lib/mktime.c (long_int): New type. This works around a problem
+ on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
+ but time_t is 64 bits, and where I expect the existing code is
+ wrong in some cases.
+ (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
+ (ydhms_diff): Bring back the compile-time check for wide-enough
+ year and yday.
+
+ mktime: fix misspelling in comment
+ * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
+ This merges all recent glibc changes of importance.
+
2011-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
move-if-change: cope with concurrent mv of identical file.
parallel builds.
Report from H.J. Lu against binutils in PR binutils/12283.
+2011-01-29 Eli Zaretskii <eliz@gnu.org>
+
+ * lib/makefile.w32-in:
+ * lib/getopt_.h: New files.
+
2011-01-28 Paul Eggert <eggert@cs.ucla.edu>
improve fix for MS-DOS file name clash
it, it would also cause problems when extracting Emacs distribution
tarballs on MS-DOS hosts.
(ACLOCAL_INPUTS): Adjust to file renaming.
- * aclocal.m4, configure, src/config.in: Regenerate.
+ * aclocal.m4, configure, lib/Makefile.in, src/config.in: Regenerate.
* config.guess, config.sub: Sync from gnulib.
* m4/gnulib-cache.m4: Remove from repository.
* m4/gl-comp.m4: Rename from m4/gnulib-comp.m4.
Remove HAVE_RAW_DECL_CHOWN etc. from config.h
* Makefile.in (sync-from-gnulib): Remove m4/warn-on-use.m4,
as it is no longer needed.
- * aclocal.m4, configure, src/config.in: Regenerate.
+ * aclocal.m4, configure, lib/Makefile.in, src/config.in: Regenerate.
* configure.in: Invoke the new gnulib macro
gl_ASSERT_NO_GNULIB_POSIXCHECK, which removes the need for
warn-on-use.m4 and for the HAVE_RAW_DECL_* symbols in config.h.
host-dependent and are built as part of an ordinary 'make', and
should not be checked in.
+ * lib/Makefile.in: Regenerate.
+ * lib/COPYING: New file, a copy of COPYING.
+
* configure: Regenerate.
* configure.in (AC_USE_SYSTEM_EXTENSIONS): Remove: gnulib does this.
Regenerate.
- * m4/unistd_h.m4:
- New file, copied from gnulib by gnulib-tool.
- * aclocal.m4, configure, m4/getopt.m4:
+ * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
+ * lib/gettext.h, lib/unistd.in.h, m4/unistd_h.m4:
+ New files, copied from gnulib by gnulib-tool.
+ * aclocal.m4, configure, lib/Makefile.in, m4/getopt.m4:
* m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
Regenerate.
getopt now, in lib.
Regenerate.
- * arg-nonnull.h, c++defs.h:
+ * arg-nonnull.h, c++defs.h, lib/mktime-internal.h, lib/mktime.c:
+ * lib/stddef.in.h, lib/time.h, lib/time.in.h, lib/time_r.c:
* m4/extensions.m4, m4/include_next.m4, m4/mktime.m4:
* m4/multiarch.m4, m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4:
* m4/extensions.m4, m4/include_next.m4, m4/mktime.m4, m4/multiarch.m4:
* m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4, m4/warn-on-use.m4:
* m4/wchar_t.m4, warn-on-use.h:
New files, copied from gnulib by gnulib-tool.
- * aclocal.m4, configure:
+ * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
Regenerate.
and warn-on-use.h into the distribution.
Regenerate.
- * m4/c-strtod.m4:
+ * lib/dtoastr.c, lib/ftoastr.c, lib/ftoastr.h, lib/intprops.h:
+ * lib/ldtoastr.c, m4/c-strtod.m4:
New files, copied from gnulib by gnulib-tool.
- * aclocal.m4, configure:
+ * lib/dummy.c: Remove.
+ * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
* m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
Regenerate.
* Makefile.in (GNULIB_MODULES): Add ftoastr. Remove dummy.
Regenerate.
- * aclocal.m4, compile, depcomp, m4/00gnulib.m4, m4/gnulib-cache.m4:
+ * aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
+ * lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
* m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
New files, generated automatically, with 'make sync-from-gnulib'
followed by 'make'.
AM_INIT_AUTOMAKE, AM_PROG_CC_C_O, gl_EARLY, and gl_INIT. Output
lib/Makefile, too. Use automake to build gnulib, as gnulib works
more conveniently with automake.
+ * lib/Makefile.am: New file.
* make-dist: Also put into the distribution aclocal.m4,
compile, depcomp, missing, and the files under lib/.