1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
emacs/lib/ChangeLog

186 lines
6.6 KiB
Text

2011-02-09 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in, 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-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.
* 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
<http://lists.gnu.org/archive/html/bug-gnu2011-02/msg00068.html>.
* 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 <eggert@cs.ucla.edu>
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 <eliz@gnu.org>
* 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 <eggert@cs.ucla.edu>
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 <eggert@cs.ucla.edu>
gnulib: import mktime and move-if-change fixes from gnulib
* configure: Regenerate from the following.
2011-01-30 Paul Eggert <eggert@cs.ucla.edu>
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
<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
* 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>.
* 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
<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).
* 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-28 Paul Eggert <eggert@cs.ucla.edu>
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 <eliz@gnu.org>
* makefile.w32-in:
* getopt_.h: New files.
2011-01-27 Paul Eggert <eggert@cs.ucla.edu>
fix two m4/gnulib-*.m4 file names that clashed under MS-DOS
* Makefile.in: Regenerate.
2011-01-24 Paul Eggert <eggert@cs.ucla.edu>
Remove HAVE_RAW_DECL_CHOWN etc. from config.h
* Makefile.in: Regenerate.
2011-01-17 Paul Eggert <eggert@cs.ucla.edu>
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.