From: Paul Eggert Date: Thu, 10 Feb 2011 03:56:30 +0000 (-0800) Subject: Undo my previous commit, as per Stefan. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~945 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6ffb2c0ceba3960565f20ba695f64c3e2e2e5aae;p=emacs.git Undo my previous commit, as per Stefan. --- diff --git a/ChangeLog b/ChangeLog index 8b3c20ad7d9..2a0dd144670 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,15 @@ * .bzrignore: Ignore globals.h and related stamp. +2011-02-09 Paul Eggert + + * lib/Makefile.in, lib/gnulib.mk: Regenerate. + This merges the following fix from gnulib: + + 2011-02-08 Bruno Haible + + Split large sed scripts, for HP-UX sed. + 2011-02-08 Tom Tromey * configure: Rebuild. @@ -16,12 +25,23 @@ 2011-02-06 Paul Eggert + 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 + . + * 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 @@ -38,13 +58,23 @@ 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 * configure.in: Test existence of xaw3d library, not just the header (Bug#7642). +2011-01-31 Eli Zaretskii + + * 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 src/emacs.c now gets version number from configure.in @@ -59,8 +89,10 @@ * 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 @@ -73,14 +105,65 @@ * configure: Regenerate from the following. + 2011-01-30 Paul Eggert + + 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 + . + 2011-01-29 Paul Eggert 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 . + * 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 + + (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 + . + 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 + . + (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 @@ -89,6 +172,21 @@ type; behavior is still undefined but portable to all known targets. Reported by Rich Felker. + 2011-01-28 Paul Eggert + + 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 move-if-change: cope with concurrent mv of identical file. @@ -100,6 +198,11 @@ parallel builds. Report from H.J. Lu against binutils in PR binutils/12283. +2011-01-29 Eli Zaretskii + + * lib/makefile.w32-in: + * lib/getopt_.h: New files. + 2011-01-28 Paul Eggert improve fix for MS-DOS file name clash @@ -119,7 +222,7 @@ 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. @@ -139,7 +242,7 @@ 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. @@ -233,13 +336,17 @@ 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. @@ -252,14 +359,15 @@ 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. @@ -276,9 +384,11 @@ 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. @@ -286,7 +396,8 @@ * 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'. @@ -315,6 +426,7 @@ 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/. diff --git a/lib/ChangeLog b/lib/ChangeLog deleted file mode 100644 index e1f2a1ccab2..00000000000 --- a/lib/ChangeLog +++ /dev/null @@ -1,186 +0,0 @@ -2011-02-09 Paul Eggert - - * Makefile.in, gnulib.mk: Regenerate. - This merges the following fix from gnulib: - - 2011-02-08 Bruno Haible - - Split large sed scripts, for HP-UX sed. - -2011-02-06 Paul Eggert - - gnulib: allow multiple gnulib generated replacements to coexist - This defines a few preprocessor symbols that should not affect Emacs. - * getopt.in.h, time.in.h, 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 - * Makefile.am (EXTRA_HEADERS, nodist_pkginclude_HEADERS): - New empty macros, to accommodate recent changes to gnulib. See - . - * Makefile.in, ftoastr.h, getopt.in.h: - * gnulib.mk, ignore-value.h, stdbool.in.h, stddef.in.h: - * time.in.h, unistd.in.h: - Regenerate. - -2011-02-03 Paul Eggert - - allow C code to suppress warnings about ignored return values - * Makefile.in, gnulib.mk: Regenerate. - * ignore-value.h: New file. - -2011-01-31 Eli Zaretskii - - * 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-30 Paul Eggert - - strftime: import from gnulib - * Makefile.in, gnulib.mk: - Regenerate. - * strftime.c, strftime.h, stdbool.in.h: New files, - imported from gnulib. - This incorporates many changes from gnulib, including simpler - handling of multibyte formats, porting to mingw32 and other - platforms, and support for higher-resolution time stamps. - Emacs does not yet use the higher-resolution interface. - -2011-01-30 Paul Eggert - - gnulib: import mktime and move-if-change fixes from gnulib - - * configure: Regenerate from the following. - - 2011-01-30 Paul Eggert - - mktime: clarify long_int width checking - * 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 - . - - 2011-01-29 Paul Eggert - - TYPE_MAXIMUM: avoid theoretically undefined behavior - * 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 - . - * mktime.c (TYPE_MAXIMUM): Redo slightly to match the others. - - mktime: #undef mktime before #defining it - * mktime.c (mktime) [DEBUG]: #undef mktime before #defining it. - - mktime: systematically normalize tm_isdst comparisons - * 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 - - (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 - . - 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). - - * 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 - . - (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-28 Paul Eggert - - mktime: avoid problems on NetBSD 5 / i386 - * 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 - * mktime.c (__mktime_internal): Fix misspelling in comment. - This merges all recent glibc changes of importance. - -2011-01-29 Eli Zaretskii - - * makefile.w32-in: - * getopt_.h: New files. - -2011-01-27 Paul Eggert - - fix two m4/gnulib-*.m4 file names that clashed under MS-DOS - * Makefile.in: Regenerate. - -2011-01-24 Paul Eggert - - Remove HAVE_RAW_DECL_CHOWN etc. from config.h - * Makefile.in: Regenerate. - -2011-01-17 Paul Eggert - - Makefile.in: tidy up the building of lib - * Makefile.in: Regenerate. - * COPYING: New file, a copy of COPYING. - - Regenerate. - * getopt.c, getopt.in.h, getopt1.c, getopt_int.h: - * gettext.h, unistd.in.h: - New files, copied from gnulib by gnulib-tool. - * Makefile.in: - Regenerate. - - Regenerate. - * mktime-internal.h, mktime.c: - * stddef.in.h, time.h, time.in.h, time_r.c: - New files, copied from gnulib by gnulib-tool. - * Makefile.in, gnulib.mk: - Regenerate. - - Regenerate. - * dtoastr.c, ftoastr.c, ftoastr.h, intprops.h: - * ldtoastr.c: - New files, copied from gnulib by gnulib-tool. - * dummy.c: Remove. - * Makefile.in, gnulib.mk: - Regenerate. - - Regenerate. - * Makefile.in, dummy.c, gnulib.mk: - New files, generated automatically, with 'make sync-from-gnulib' - followed by 'make'. - - Automate syncing from gnulib. - * Makefile.am: New file.