From 102252aa03f8c1c3e451b95ffe0b8f18c040eb56 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 9 Feb 2011 19:32:03 -0800 Subject: [PATCH] New file lib/ChangeLog, with entries moved from ChangeLog --- ChangeLog | 140 ++++--------------------------------- lib/ChangeLog | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 200 insertions(+), 126 deletions(-) create mode 100644 lib/ChangeLog diff --git a/ChangeLog b/ChangeLog index 2a0dd144670..8b3c20ad7d9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,15 +9,6 @@ * .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. @@ -25,23 +16,12 @@ 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 - * 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. + * c++defs.h: Regenerate. 2011-02-05 Paul Eggert @@ -58,23 +38,13 @@ allow C code to suppress warnings about ignored return values * Makefile.in (GNULIB_MODULES): Add ignore-value. - * configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4: Regenerate. - * lib/ignore-value.h: New file. + * configure, m4/gl-comp.m4: Regenerate. 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 @@ -89,10 +59,8 @@ * Makefile.in (GNULIB_MODULES): Add strftime. * configure.in (AC_FUNC_STRFTIME, my_strftime): Remove; no longer needed. - * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4: + * aclocal.m4, configure, 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 @@ -105,65 +73,14 @@ * 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 - * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a + * m4/mktime.m4 (AC_FUNC_MKTIME): 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 @@ -172,21 +89,6 @@ 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. @@ -198,11 +100,6 @@ 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 @@ -222,7 +119,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, lib/Makefile.in, src/config.in: Regenerate. + * aclocal.m4, configure, 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. @@ -242,7 +139,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, lib/Makefile.in, src/config.in: Regenerate. + * aclocal.m4, configure, 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. @@ -336,17 +233,13 @@ 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. - * 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/unistd_h.m4: + New file, copied from gnulib by gnulib-tool. + * aclocal.m4, configure, m4/getopt.m4: * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in: Regenerate. @@ -359,15 +252,14 @@ getopt now, in lib. Regenerate. - * 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: + * arg-nonnull.h, c++defs.h: * 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, lib/Makefile.in, lib/gnulib.mk: + * aclocal.m4, configure: * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in: Regenerate. @@ -384,11 +276,9 @@ and warn-on-use.h into the distribution. Regenerate. - * lib/dtoastr.c, lib/ftoastr.c, lib/ftoastr.h, lib/intprops.h: - * lib/ldtoastr.c, m4/c-strtod.m4: + * m4/c-strtod.m4: New files, copied from gnulib by gnulib-tool. - * lib/dummy.c: Remove. - * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk: + * aclocal.m4, configure: * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in: Regenerate. @@ -396,8 +286,7 @@ * Makefile.in (GNULIB_MODULES): Add ftoastr. Remove dummy. Regenerate. - * aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c: - * lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4: + * aclocal.m4, compile, depcomp, 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'. @@ -426,7 +315,6 @@ 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 new file mode 100644 index 00000000000..e1f2a1ccab2 --- /dev/null +++ b/lib/ChangeLog @@ -0,0 +1,186 @@ +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. -- 2.39.5