*** empty log message ***
[gnulib.git] / lib / ChangeLog
index 99d1f87..ad73105 100644 (file)
@@ -1,3 +1,417 @@
+2001-07-05  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am (noinst_HEADERS): Remove definition, per new automake
+       recommendation.
+       (libfetish_a_SOURCES): Put all .h files here instead.
+       Remove a thus-exposed (better checks in automake) duplicate and
+       two unnecessary .h files.
+
+2001-06-11  Jim Meyering  <meyering@lucent.com>
+
+       * regex.c: Update from GNU libc.
+
+2001-05-27  Jim Meyering  <meyering@lucent.com>
+
+       * readutmp.h (UT_TYPE): Define.
+
+2001-05-24  Jim Meyering  <meyering@lucent.com>
+
+       * argmatch.c: Include "quote.h".
+       (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
+       quote function.  Reported by Göran Uddeborg.
+
+2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+       * dirname.c (dir_name): Compute append_dot using path, not newpath
+       which is not yet declared.
+
+2001-05-11  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/Makefile.am (libfetish_a_SOURCES):
+       Add strftime.c, since we now compile it on all hosts.
+
+       * lib/strftime.c (my_strftime):
+       Define to nstrftime if emacs, but only if my_strftime is not defined.
+       (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
+       ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
+       Add one more extra argument: a nanoseconds value.
+       All uses changed.
+       (ns): New macro.
+       (my_strftime function): Add %N format.
+       (emacs_strftimeu): Renamed from emacs_strftime,
+       with extra ut argument.
+
+2001-05-11  Paul Eggert  <eggert@twinsun.com>
+
+       dirname code cleanup.  base_name now behaves more compatibly
+       with POSIX basename when given file names that have trailing
+       slashes, and similarly for dir_name.  Add new primitives
+       base_len and dir_len.  Put the directory-name-related decls
+       into dirname.h.
+
+       * addext.c (ISSLASH, base_name): Remove; now in dirname.h.
+       * backupfile.c (base_name): Likewise.
+       * basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
+       * dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
+       * makepath.c (strip_trailing_slashes): Likewise.
+       * path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH):
+       Likewise.
+       * rename.c (strip_trailing_slashes): Likewise.
+       * same.c (base_name): Likewise.
+       * stripslash.c (ISSLASH): Likewise.
+
+       * addext.c: Include <dirname.h> after size_t is defined.
+       * backupfile.c: Likewise.
+
+       * addext.c (addext): Use base_len to trim redundant
+       trailing slashes instead of doing it ourselves.
+       But do not trim the last slash if it is not redundant.
+
+       * backupfile.c (find_backup_file_name,
+       max_backup_version): Use base_len instead of rolling it ourselves.
+       Handle the case of "" and (on DOS) "C:" correctly.
+
+       * basename.c: Do not include <stdio.h>, <assert.h>; no longer needed.
+       Include <string.h>, <dirname.h>.
+       (base_name): Allow file names ending in slashes, other than names
+       that are all slashes.  In this case, return the basename followed
+       by the slashes.  This is more general, and can be used in places
+       where the original base_name purposely had an assertion failure.
+       (base_len): New function.
+
+       * dirname.c: Include <string.h> instead of <stdlib.h>.
+       Do not include <assert.h>; no longer needed.
+       Include xalloc.h.
+       (memrchr): Remove decl.
+       (dir_name_r): Remove.
+       (dir_len): Renamed from dirlen.  All callers changed.
+       Rewrite in terms of base_name, for simplicity and consistency.
+       (dir_name): Never return NULL.  All callers changed.
+       Do not include <stdlib.h> in test program; no longer needed.
+       return 0; is fine for test program.
+
+       * dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
+       New macros.
+       (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
+
+       * path-concat.c (path_concat): Use base_len to compute
+       base length, not strlen; this means we cannot rely on memcpy
+       to null-terminate.
+
+       * same.c (STREQ): Remove.
+       (same_name): Handle the case where the basename ends in trailing '/'.
+
+       * stripslash.c (strip_trailing_slashes): Return nonzero if
+       a slash was stripped.  Do not strip the last slash after a
+       file system prefix.
+
+2001-04-08  Jim Meyering  <meyering@lucent.com>
+
+       * getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
+       recomputed; that's necessary when the offset spans a DST transition.
+       Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
+
+2001-04-02  Jim Meyering  <meyering@lucent.com>
+
+       * regex.h, regex.c: Update from GNU libc.
+
+2001-03-19  Paul Eggert  <eggert@twinsun.com>
+
+       * version-etc.c (version_etc_copyright): Update to 2001.
+
+2001-03-16  Paul Eggert  <eggert@twinsun.com>
+
+       * tempname.c (uint64_t): Define to uintmax_t if
+       not defined, and if UINT64_MAX is not defined.
+       Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
+       Reported by John David Anglin.
+
+2001-03-10  Bruno Haible  <haible@clisp.cons.org>
+
+       * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve
+       alias if codeset is empty.
+       * config.charset (BeOS): Use wildcard syntax.
+
+2001-03-13  Jim Meyering  <meyering@lucent.com>
+
+       * path-concat.c (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]:
+       Don't insert a backslash when concatenating e.g., `C:' and `foo'.
+       From Bruno Haible.
+
+2001-03-06  Bruno Haible  <haible@clisp.cons.org>
+
+       * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
+       Don't return NULL.
+       * unicodeio.c (print_unicode_char): Simplify accordingly.
+
+2001-03-06  Bruno Haible  <haible@clisp.cons.org>
+
+       * config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
+       support for DOS/DJGPP.
+
+2001-02-28  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (libfetish_a_SOURCES):
+       Add dup-safer.c, fopen-safer.c.
+       (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
+
+       * dup-safer.c, fopen-safer.c, stdio-safer.h,
+       lib/unistd-safer.h: New files.
+
+2001-02-25  Paul Eggert  <eggert@twinsun.com>
+
+       The mkstemp replacement is taken from glibc 2.2.2, with some
+       portability fixes for use outside glibc, as follows:
+
+       * tempname.c (struct_stat64): New macro.
+       (direxists, __gen_tempname): Use it.
+       This avoids a portability problem with Solaris 8.
+
+       * tempname.c (<config.h>): Include if HAVE_CONFIG_H.
+       (<stddef.h>, <stdint.h>, <string.h>):
+       Include only if STDC_HEADERS || _LIBC.
+       (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
+       (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
+       (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
+       (__set_errno): Define this macro if <errno.h> doesn't.
+       (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
+       Define these macros if <stdio.h> doesn't.
+       (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
+       Define these macros if <sys/stat.h>
+       doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
+       (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
+       __xstat64): Define if not _LIBC.
+       (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
+       (__gen_tempname): Invoke gettimeofday only if
+       HAVE_GETTIMEOFDAY || _LIBC;
+       otherwise, fall back on plain "time".
+       Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
+
+       * mkstemp.c (__GT_FILE): Define to zero if not defined.
+
+       * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
+
+2001-02-17  Jim Meyering  <meyering@lucent.com>
+
+       * strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
+       around included file name.
+
+       * strnlen.c (__strnlen): Merge in a change from GNU libc.
+
+       * strftime.c: Update from GNU libc (the only changes were to comments).
+
+2001-02-13  Bruno Haible  <haible@clisp.cons.org>
+
+       * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash.
+
+2001-02-17  Paul Eggert  <eggert@twinsun.com>
+
+       * mbswidth.c, quotearg.c (mbrtowc, mbsinit):
+       Remove workaround macros for hosts that have mbrtowc but not
+       mbstate_t, as we now insist on proper declarations for both
+       before using mbrtowc.
+
+2001-02-17  Jim Meyering  <meyering@lucent.com>
+
+       * regex.c: Update from libc.
+
+2001-02-16  Paul Eggert  <eggert@twinsun.com>
+
+       * alloca.c (malloc): Undef before defining, since stdlib.h
+       may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
+       Reported by Mark Hounschell via Paul Eggert.
+
+2001-01-30  Bruno Haible  <haible@clisp.cons.org>
+
+       * config.charset: Update for FreeBSD 4.2.
+
+2001-01-26  Jim Meyering  <meyering@lucent.com>
+
+       * quotearg.c: Include stddef.h.
+       * quote.c: Include stddef.h.
+       Reported by Axel Kittenberger.
+
+       * xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
+       line in double quotes so that it evokes a better diagnostic.
+       [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
+       Reported by Axel Kittenberger.
+
+2001-01-15  Bruno Haible  <haible@clisp.cons.org>
+
+       * unicodeio.c (print_unicode_char): Cast the second iconv() arg,
+       to avoid a warning.  Add back 'const' to inptr.
+
+2001-01-16  Jim Meyering  <meyering@lucent.com>
+
+       * basename.c: Include <stdio.h>, needed by assert on SunOS4.
+       From Bruno Haible.
+
+2001-01-14  Jim Meyering  <meyering@lucent.com>
+
+       * rename.c: New file.  From Volker Borchert.
+       Include stdlib.h, string.h or strings.h, and xalloc.h.
+       Use strip_trailing_slashes rather than open-coding it.
+
+2001-01-03  Paul Eggert  <eggert@twinsun.com>
+
+       * strftime.c: Sync with glibc time/strftime.c 1.81.
+
+2001-01-03  Jim Meyering  <meyering@lucent.com>
+
+       * unicodeio.c (print_unicode_char): Remove `const' from declaration of
+       local `inptr' to avoid warning with some system declarations of iconv.
+
+2000-12-29  Paul Eggert  <eggert@twinsun.com>
+
+       * modechange.c: Do not assume that mode_t uses the
+       traditional octal encoding.  E.g. "chmod 1 FOO" should set
+       the other-execute bit of FOO even if S_IXOTH != 1.
+
+       (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
+       WOTH, XOTH, ALLM): New macros.
+       (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
+        S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
+       Use them.
+       (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
+       (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
+       (mode_compile):
+       No need to use uintmax_t; unsigned long is long enough.
+       Don't bother to get suffix since we don't use it.
+
+2000-12-24  Jim Meyering  <meyering@lucent.com>
+
+       * hash.c (is_prime): Return explicit boolean values.
+       (hash_get_first): Return NULL to appease Irix5.6's 89.
+       Reported by Nelson Beebe.
+
+2000-10-31  Bruno Haible  <haible@clisp.cons.org>
+
+       * localcharset.c (locale_charset): Add support for Win32.
+
+2000-12-18  Paul Eggert  <eggert@twinsun.com>
+
+       * physmem.h, physmem.c: New files.
+
+       * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
+       (noinst_HEADERS): Add physmem.h.
+
+       * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
+       't' for compatibility with Solaris 8 sort.
+
+2000-12-18  Bruno Haible  <haible@clisp.cons.org>
+
+       * config.charset: Add support for BeOS.
+
+2000-12-16  Jim Meyering  <meyering@lucent.com>
+
+       * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
+       SHELLS_FILE to a file name that's useful on djgpp systems.
+       Include stdlib.h.
+       (ADDITIONAL_DEFAULT_SHELLS): Define.
+       (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
+       Based mostly on a patch from Prashant TR.
+
+2000-12-16  Jim Meyering  <meyering@lucent.com>
+
+       This bug had a serious impact on chown: `chown N:M FILE' (for integer
+       N and M) would have treated it like `chown N:N FILE'.
+
+       * userspec.c (parse_user_spec): Fix typo: s/u/g/.
+
+2000-10-31  Bruno Haible  <haible@clisp.cons.org>
+
+       * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
+       CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
+       to the list of canonical encodings. Rename EUC-CN to GB2312.
+
+2000-12-08  Andreas Schwab  <schwab@suse.de>
+
+       * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
+       invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
+
+2000-12-07  Jim Meyering  <meyering@lucent.com>
+
+       * stripslash.c (ISSLASH): Define.
+       (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
+       From Prashant TR.
+
+       * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
+       (dir_name_r): Declare this function as static.
+       [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
+       manifest itself on a name containing a mix of slashes and
+       backslashes.
+       Make this function work with names starting with a DOS-style
+       drive letter and colon prefix.
+       (dir_name): Append `.' if necessary.
+       Based mostly on patches from Prashant TR and Eli Zaretskii.
+
+       * dirname.h (dir_name_r): Remove prototype.
+
+2000-12-05  Jim Meyering  <meyering@lucent.com>
+
+       * dirname.c (dir_name_r): Add `const' in a few local declarations.
+
+2000-12-04  Jim Meyering  <meyering@lucent.com>
+
+       * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
+       Also include memory.h, stdlib.h, unistd.h if appropriate.
+       Reported by Andreas Jaeger (conflicting declaration of malloc).
+
+2000-12-02  Jim Meyering  <meyering@lucent.com>
+
+       * closeout.h: Make idempotent, to avoid some obscure warnings.
+
+2000-12-01  Paul Eggert  <eggert@twinsun.com>
+
+       * memrchr.c: Include <config.h> before any system include file.
+
+2000-11-29  Paul Eggert  <eggert@twinsun.com>
+
+       * dirname.c (dir_name_r): Fix typo: int -> size_t.
+
+2000-11-26  Jim Meyering  <meyering@lucent.com>
+
+       * memcoll.c: Include sys/types.h.  From Werner Almesberger.
+
+2000-11-22  Paul Eggert  <eggert@twinsun.com>
+
+       * strftime.c (my_strftime): Do not invoke mbrlen with a
+       size of (size_t) -1; it's not portable.
+
+2000-11-17  Akim Demaille  <akim@epita.fr>
+
+       * obstack.h: Formatting changes.
+       (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
+       prevent type checking.
+       (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
+       cast the value to (void *): assigning a `foo *' to a `void *'
+       variable is valid.
+       (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
+
+2000-11-17  Jim Meyering  <meyering@lucent.com>
+
+       * strstr.c: Update from GNU libc.
+
+2000-11-16  Jim Meyering  <meyering@lucent.com>
+
+       * strverscmp.c: Incorporate weak-alias-related changes from glibc.
+
+2000-11-11  Jim Meyering  <meyering@lucent.com>
+
+       * error.c: Add a couple #includes, merging from GNU libc version.
+
+2000-11-10  Jim Meyering  <meyering@lucent.com>
+
+       * obstack.h: Update from GNU libc.
+       * obstack.c: Likewise.
+
+2000-11-06  Paul Eggert  <eggert@twinsun.com>
+
+       * getusershell.c (setusershell): Use rewind rather than
+       fseek/fseeko, to avoid configuration hassles with fseeko.
+       Don't bother opening SHELLS_FILE if shellstream is NULL;
+       it's not necessary.
+
 2000-11-05  Jim Meyering  <meyering@lucent.com>
 
        * makepath.h (make_dir): Declare.
 
 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
 
-       * lib/fnmatch.c: Do not comment out all the code if we are using
+       * fnmatch.c: Do not comment out all the code if we are using
        the GNU C library, because in some cases we are replacing buggy
        code in the GNU C library itself.
 
 2000-10-30  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/error.h, lib/getline.h, lib/modechange.h:
+       * error.h, getline.h, modechange.h:
        Remove "2000" from Copyright line, as the file hasn't been
        changed this year other than in the copyright notice.
 
-       * lib/xalloc.h: Add "2000" to Copyright line, as this file
+       * xalloc.h: Add "2000" to Copyright line, as this file
        was changed this year.
 
 2000-10-30  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
+       * fnmatch.c (FOLD): Do not assume that characters are unsigned.
        (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
        e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
 
        * memcmp.c: Likewise.
 
        * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
+       Avoid using fseek, when possible -- it's broken by design.
        Patch by Ulrich Drepper.
 
 2000-10-26  Jim Meyering  <meyering@lucent.com>
 
        * quotearg.h (enum quoting style): New enum clocale_quoting_style.
 
-       * quotearg.c: (quoting_style_args, quoting_style_vals,
+       * quotearg.c (quoting_style_args, quoting_style_vals,
        quotearg_buffer_restyled): Add support for
        clocale_quoting_style.  Undo previous change to
        locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"