418263ff159e6e0080c6a9ee322e0b8aa0ad304e
[gnulib.git] / lib / ChangeLog
1 2001-09-01  Jim Meyering  <meyering@lucent.com>
2
3         * xreadlink.c: New file.
4         * xreadlink.h: New file.
5         * Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and xreadlink.h.
6
7         * regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
8         doesn't conflict with sparc-sun-solaris2.7's definition in
9         /usr/include/sys/int_types.h.
10
11         * exclude.c: Use `""', not `<>' to #include non-system header files.
12         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
13         and strncasecmp as r-values.  Unixware didn't have declarations.
14
15 2001-08-31  Jim Meyering  <meyering@lucent.com>
16
17         * xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
18         Use an initial, malloc'd, buffer of length 128 rather than
19         a statically allocated one of length 1024.
20
21 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22
23         * lib/xgetcwd.c: Don't include pathmax.h.
24         Include stdlib.h and unistd.h if available.
25         Include xalloc.h.
26         (xmalloc, xstrdup, free): Remove decls.
27         (xgetcwd): Don't assume sizes fit in unsigned.
28         Check for overflow when computing sizes.
29         Simplify reallocation code.
30
31 2001-08-28  Paul Eggert  <eggert@twinsun.com>
32
33         * Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
34
35         * strtoimax.c: Renamed from strtoxmax.c, removing the
36         old strtoimax.c.
37
38         Also, make the following further changes to make this file's
39         configuration more similar to that of strtol.c:
40         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
41         (strtoumax, uintmax_t, strtoull, strtol): Remove.
42         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
43         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
44         changed to signed values.
45
46         And make the following changes as well:
47         Fix copyright notice, as 1999 was missing.
48         (verify): New macro.
49         (strtoimax): Check sizes at compile-time, not run-time.
50         Prefer strtol to strtoll if both work.
51         (main): Remove; it was not that useful and was a pain to maintain.
52
53         * strtoumax.c: Include strtoimax.c, not strtouxmax.c.
54
55 2001-08-30  Paul Eggert  <eggert@twinsun.com>
56
57         * savedir.c (savedir): Remove size parameter, as POSIX says that
58         a directory's st_size can have an arbitrary value, so the old
59         usage could waste an arbitrary amount of memory.  All uses
60         changed.
61         * savedir.h: Update prototype.
62
63 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64
65         * xstrtol.c (strtoimax): New decl.
66
67 2001-08-28  Paul Eggert  <eggert@twinsun.com>
68
69         * xstrtol.h: Add copyright notice.
70         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
71         LONGINT_INVALID_SUFFIX_CHAR.
72
73 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74
75         * quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
76         tm to be declared.
77
78 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79
80         * hash.c: Remove '2001' from copyright notice.
81
82 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83
84         * full-write.h: New file.
85         * Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86         * full-write.c: Correct credits, as cccp.c no longer
87         exists and anyway it was so heavily changed from the old cccp
88         code as to be unrecognizable.  Include full-write.h.
89         (full_write) Return size_t, with short writes meaning failure.
90         All callers changed.  This fixes a bug with large buffers
91         on 64-bit hosts.
92         * utime.c: Include full-write.h.
93
94 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95
96         Merge 'exclude' changes from tar 1.13.22.
97         This fixes one or two unlikely storage allocation overflow bugs,
98         but doesn't change user-visible behavior otherwise.
99
100 2001-08-30  Paul Eggert  <eggert@twinsun.com>
101
102         * exclude.c (bool): Declare, perhaps by including stdbool.h.
103         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
104         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
105         Include if available.
106         (<xalloc.h>): Include
107         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
108         (verify): New macro.  Use it to verify that EXCLUDE macros do not
109         collide with FNM macros.
110         (struct patopts): New struct.
111         (struct exclude): Use it, as exclude patterns now come with options.
112         (new_exclude): Support above changes.
113         (new_exclude, add_exclude_file):
114         Initial size must now be a power of two to simplify overflow checking.
115         (free_exclude, fnmatch_no_wildcards): New function.
116         (excluded_filename): No longer requires options arg, as the options
117         are determined by add_exclude.  Now returns bool, not int.
118         (excluded_filename, add_exclude):
119         Add support for the fancy new exclusion options.
120         (add_exclude, add_exclude_file): Now takes int options arg.
121         Check for arithmetic overflow when computing sizes.
122         (add_exclude_file): xrealloc might modify errno, so don't
123         realloc until after errno might be used.
124
125         * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
126         New macros.
127         (free_exclude): New decl.
128         (add_exclude, add_exclude_file): Now takes int options arg.
129         (excluded_filename): No longer requires options arg, as the options
130         are determined by add_exclude.  Now returns bool, not int.
131
132 2001-08-30  Paul Eggert  <eggert@twinsun.com>
133
134         * alloca.c (alloca): Arg is of type size_t, not unsigned.
135
136 2001-08-27  Jim Meyering  <meyering@lucent.com>
137
138         * Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
139
140         * version-etc.c (N_): Remove definition.
141         Revert most of last change.
142         Instead, simply don't mark the `Copyright...' string for translation.
143         Based on advice from Paul Eggert.
144
145         * strtoxmax.c: Tweak comment.
146
147 2001-08-26  Jim Meyering  <meyering@lucent.com>
148
149         * version-etc.c (version_etc_copyright_fmt): Replace literal year
150         of copyright with `%s' so translators don't get an untranslated
151         message in 2002.
152         (COPYRIGHT_YEAR): Define.
153         (version_etc): Use fprintf rather than fputs.
154         Suggestion from Ulrich Drepper.
155
156         * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
157
158         * strtoll.c: New file, from GNU libc.
159         * xstrtoimax.c: New file.
160
161         * xstrtol.h: Add xstrtoimax.
162         * strtoumax.c: New file.  Simply include "strtoumax.c".
163         * strtoimax.c: New file.  Likewise, but first define STRTOUXMAX_SIGNED.
164
165         * strtoumax.c: Factor to work both for unsigned and signed types, ...
166         * strtoxmax.c: ... then renamed to this.
167
168 2001-08-13  Paul Eggert  <eggert@twinsun.com>
169
170         * Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
171         Port to Solaris 8, where 'sed' requires a space after the 'r'
172         command, and where sh dislikes "$/".  Clean up the spacing a bit.
173         Redirect output to $tmp just once.
174
175 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
176
177         * addext.c (<errno.h>): Include.
178         (errno): Declare if not defined.
179         (addext): Work correctly when pathconf returns -1 and leaves
180         errno alone because there is no limit.  Also, work even if
181         pathconf returns a value greater than SIZE_MAX.
182
183 2001-08-12  Jim Meyering  <meyering@lucent.com>
184
185         * xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
186         Simply `return getcwd (NULL, 0);'.
187         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
188         Use 1300 as initial value for length, not PATH_MAX.
189
190         * pathmax.h: Clean up cpp syntax.
191
192 2001-08-12  Jim Meyering  <meyering@lucent.com>
193
194         * gettimeofday.c: New file.
195         * gtod.h: New file.
196         * Makefile.am (libfetish_a_SOURCES): Add gtod.h.
197
198 2001-08-04  Jim Meyering  <meyering@lucent.com>
199
200         * error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if stmt,
201         to get in sync with glibc.
202
203 2001-08-03  Paul Eggert  <eggert@twinsun.com>
204
205         The following changes are from gettext 0.10.39 as maintained by
206         Bruno Haible.
207
208         * mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
209         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
210         with inverted sense.  All uses changed.
211
212         * mbswidth.c: Don't include <limits.h>.
213         Include <stdlib.h> and <string.h> unconditionally.
214         (iswcntrl, mbsinit, ISCNTRL): New macros.
215         (mbsnwidth): Use K&R style function declarations.
216         Don't bother checking for MB_LEN_MAX == 1, since the compiler
217         can optimize it when MB_CUR_MAX == 1.
218         The width of control characters is zero, not 1.
219
220 2001-07-15  Jim Meyering  <meyering@lucent.com>
221
222         * Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
223         (BUILT_SOURCES): Add unlocked-io.h.
224         (io_functions): Define.
225         (unlocked-io.h): New rule.
226         (DISTCLEANFILES): Add unlocked-io.h.
227         (all-local): Depend on unlocked-io.h, to ensure it is created.
228
229         * unlocked-io.hin: New file
230
231         * regex.c: Update from glibc.
232
233 2001-07-05  Jim Meyering  <meyering@lucent.com>
234
235         * Makefile.am (noinst_HEADERS): Remove definition, per new automake
236         recommendation.
237         (libfetish_a_SOURCES): Put all .h files here instead.
238         Remove a thus-exposed (better checks in automake) duplicate and
239         two unnecessary .h files.
240
241 2001-06-11  Jim Meyering  <meyering@lucent.com>
242
243         * regex.c: Update from GNU libc.
244
245 2001-05-27  Jim Meyering  <meyering@lucent.com>
246
247         * readutmp.h (UT_TYPE): Define.
248
249 2001-05-24  Jim Meyering  <meyering@lucent.com>
250
251         * argmatch.c: Include "quote.h".
252         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
253         quote function.  Reported by Göran Uddeborg.
254
255 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
256
257         * dirname.c (dir_name): Compute append_dot using path, not newpath
258         which is not yet declared.
259
260 2001-05-11  Paul Eggert  <eggert@twinsun.com>
261
262         * Makefile.am (libfetish_a_SOURCES):
263         Add strftime.c, since we now compile it on all hosts.
264
265         * strftime.c (my_strftime):
266         Define to nstrftime if emacs, but only if my_strftime is not defined.
267         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
268         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
269         Add one more extra argument: a nanoseconds value.
270         All uses changed.
271         (ns): New macro.
272         (my_strftime function): Add %N format.
273         (emacs_strftimeu): Renamed from emacs_strftime,
274         with extra ut argument.
275
276 2001-05-11  Paul Eggert  <eggert@twinsun.com>
277
278         dirname code cleanup.  base_name now behaves more compatibly
279         with POSIX basename when given file names that have trailing
280         slashes, and similarly for dir_name.  Add new primitives
281         base_len and dir_len.  Put the directory-name-related decls
282         into dirname.h.
283
284         * addext.c (ISSLASH, base_name): Remove; now in dirname.h.
285         * backupfile.c (base_name): Likewise.
286         * basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
287         * dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
288         * makepath.c (strip_trailing_slashes): Likewise.
289         * path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH):
290         Likewise.
291         * rename.c (strip_trailing_slashes): Likewise.
292         * same.c (base_name): Likewise.
293         * stripslash.c (ISSLASH): Likewise.
294
295         * addext.c: Include <dirname.h> after size_t is defined.
296         * backupfile.c: Likewise.
297
298         * addext.c (addext): Use base_len to trim redundant
299         trailing slashes instead of doing it ourselves.
300         But do not trim the last slash if it is not redundant.
301
302         * backupfile.c (find_backup_file_name,
303         max_backup_version): Use base_len instead of rolling it ourselves.
304         Handle the case of "" and (on DOS) "C:" correctly.
305
306         * basename.c: Do not include <stdio.h>, <assert.h>; no longer needed.
307         Include <string.h>, <dirname.h>.
308         (base_name): Allow file names ending in slashes, other than names
309         that are all slashes.  In this case, return the basename followed
310         by the slashes.  This is more general, and can be used in places
311         where the original base_name purposely had an assertion failure.
312         (base_len): New function.
313
314         * dirname.c: Include <string.h> instead of <stdlib.h>.
315         Do not include <assert.h>; no longer needed.
316         Include xalloc.h.
317         (memrchr): Remove decl.
318         (dir_name_r): Remove.
319         (dir_len): Renamed from dirlen.  All callers changed.
320         Rewrite in terms of base_name, for simplicity and consistency.
321         (dir_name): Never return NULL.  All callers changed.
322         Do not include <stdlib.h> in test program; no longer needed.
323         return 0; is fine for test program.
324
325         * dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
326         New macros.
327         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
328
329         * path-concat.c (path_concat): Use base_len to compute
330         base length, not strlen; this means we cannot rely on memcpy
331         to null-terminate.
332
333         * same.c (STREQ): Remove.
334         (same_name): Handle the case where the basename ends in trailing '/'.
335
336         * stripslash.c (strip_trailing_slashes): Return nonzero if
337         a slash was stripped.  Do not strip the last slash after a
338         file system prefix.
339
340 2001-04-08  Jim Meyering  <meyering@lucent.com>
341
342         * getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
343         recomputed; that's necessary when the offset spans a DST transition.
344         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
345
346 2001-04-02  Jim Meyering  <meyering@lucent.com>
347
348         * regex.h, regex.c: Update from GNU libc.
349
350 2001-03-19  Paul Eggert  <eggert@twinsun.com>
351
352         * version-etc.c (version_etc_copyright): Update to 2001.
353
354 2001-03-16  Paul Eggert  <eggert@twinsun.com>
355
356         * tempname.c (uint64_t): Define to uintmax_t if
357         not defined, and if UINT64_MAX is not defined.
358         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
359         Reported by John David Anglin.
360
361 2001-03-10  Bruno Haible  <haible@clisp.cons.org>
362
363         * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve
364         alias if codeset is empty.
365         * config.charset (BeOS): Use wildcard syntax.
366
367 2001-03-13  Jim Meyering  <meyering@lucent.com>
368
369         * path-concat.c (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]:
370         Don't insert a backslash when concatenating e.g., `C:' and `foo'.
371         From Bruno Haible.
372
373 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
374
375         * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
376         Don't return NULL.
377         * unicodeio.c (print_unicode_char): Simplify accordingly.
378
379 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
380
381         * config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
382         support for DOS/DJGPP.
383
384 2001-02-28  Paul Eggert  <eggert@twinsun.com>
385
386         * Makefile.am (libfetish_a_SOURCES):
387         Add dup-safer.c, fopen-safer.c.
388         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
389
390         * dup-safer.c, fopen-safer.c, stdio-safer.h, unistd-safer.h: New files.
391
392 2001-02-25  Paul Eggert  <eggert@twinsun.com>
393
394         The mkstemp replacement is taken from glibc 2.2.2, with some
395         portability fixes for use outside glibc, as follows:
396
397         * tempname.c (struct_stat64): New macro.
398         (direxists, __gen_tempname): Use it.
399         This avoids a portability problem with Solaris 8.
400
401         * tempname.c (<config.h>): Include if HAVE_CONFIG_H.
402         (<stddef.h>, <stdint.h>, <string.h>):
403         Include only if STDC_HEADERS || _LIBC.
404         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
405         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
406         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
407         (__set_errno): Define this macro if <errno.h> doesn't.
408         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
409         Define these macros if <stdio.h> doesn't.
410         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
411         Define these macros if <sys/stat.h>
412         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
413         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
414         __xstat64): Define if not _LIBC.
415         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
416         (__gen_tempname): Invoke gettimeofday only if
417         HAVE_GETTIMEOFDAY || _LIBC;
418         otherwise, fall back on plain "time".
419         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
420
421         * mkstemp.c (__GT_FILE): Define to zero if not defined.
422
423         * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
424
425 2001-02-17  Jim Meyering  <meyering@lucent.com>
426
427         * strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
428         around included file name.
429
430         * strnlen.c (__strnlen): Merge in a change from GNU libc.
431
432         * strftime.c: Update from GNU libc (the only changes were to comments).
433
434 2001-02-13  Bruno Haible  <haible@clisp.cons.org>
435
436         * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash.
437
438 2001-02-17  Paul Eggert  <eggert@twinsun.com>
439
440         * mbswidth.c, quotearg.c (mbrtowc, mbsinit):
441         Remove workaround macros for hosts that have mbrtowc but not
442         mbstate_t, as we now insist on proper declarations for both
443         before using mbrtowc.
444
445 2001-02-17  Jim Meyering  <meyering@lucent.com>
446
447         * regex.c: Update from libc.
448
449 2001-02-16  Paul Eggert  <eggert@twinsun.com>
450
451         * alloca.c (malloc): Undef before defining, since stdlib.h
452         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
453         Reported by Mark Hounschell via Paul Eggert.
454
455 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
456
457         * config.charset: Update for FreeBSD 4.2.
458
459 2001-01-26  Jim Meyering  <meyering@lucent.com>
460
461         * quotearg.c: Include stddef.h.
462         * quote.c: Include stddef.h.
463         Reported by Axel Kittenberger.
464
465         * xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
466         line in double quotes so that it evokes a better diagnostic.
467         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
468         Reported by Axel Kittenberger.
469
470 2001-01-15  Bruno Haible  <haible@clisp.cons.org>
471
472         * unicodeio.c (print_unicode_char): Cast the second iconv() arg,
473         to avoid a warning.  Add back 'const' to inptr.
474
475 2001-01-16  Jim Meyering  <meyering@lucent.com>
476
477         * basename.c: Include <stdio.h>, needed by assert on SunOS4.
478         From Bruno Haible.
479
480 2001-01-14  Jim Meyering  <meyering@lucent.com>
481
482         * rename.c: New file.  From Volker Borchert.
483         Include stdlib.h, string.h or strings.h, and xalloc.h.
484         Use strip_trailing_slashes rather than open-coding it.
485
486 2001-01-03  Paul Eggert  <eggert@twinsun.com>
487
488         * strftime.c: Sync with glibc time/strftime.c 1.81.
489
490 2001-01-03  Jim Meyering  <meyering@lucent.com>
491
492         * unicodeio.c (print_unicode_char): Remove `const' from declaration of
493         local `inptr' to avoid warning with some system declarations of iconv.
494
495 2000-12-29  Paul Eggert  <eggert@twinsun.com>
496
497         * modechange.c: Do not assume that mode_t uses the
498         traditional octal encoding.  E.g. "chmod 1 FOO" should set
499         the other-execute bit of FOO even if S_IXOTH != 1.
500
501         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
502         WOTH, XOTH, ALLM): New macros.
503         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
504          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
505         Use them.
506         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
507         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
508         (mode_compile):
509         No need to use uintmax_t; unsigned long is long enough.
510         Don't bother to get suffix since we don't use it.
511
512 2000-12-24  Jim Meyering  <meyering@lucent.com>
513
514         * hash.c (is_prime): Return explicit boolean values.
515         (hash_get_first): Return NULL to appease Irix5.6's 89.
516         Reported by Nelson Beebe.
517
518 2000-10-31  Bruno Haible  <haible@clisp.cons.org>
519
520         * localcharset.c (locale_charset): Add support for Win32.
521
522 2000-12-18  Paul Eggert  <eggert@twinsun.com>
523
524         * physmem.h, physmem.c: New files.
525
526         * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
527         (noinst_HEADERS): Add physmem.h.
528
529         * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
530         't' for compatibility with Solaris 8 sort.
531
532 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
533
534         * config.charset: Add support for BeOS.
535
536 2000-12-16  Jim Meyering  <meyering@lucent.com>
537
538         * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
539         SHELLS_FILE to a file name that's useful on djgpp systems.
540         Include stdlib.h.
541         (ADDITIONAL_DEFAULT_SHELLS): Define.
542         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
543         Based mostly on a patch from Prashant TR.
544
545 2000-12-16  Jim Meyering  <meyering@lucent.com>
546
547         This bug had a serious impact on chown: `chown N:M FILE' (for integer
548         N and M) would have treated it like `chown N:N FILE'.
549
550         * userspec.c (parse_user_spec): Fix typo: s/u/g/.
551
552 2000-10-31  Bruno Haible  <haible@clisp.cons.org>
553
554         * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
555         CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
556         to the list of canonical encodings. Rename EUC-CN to GB2312.
557
558 2000-12-08  Andreas Schwab  <schwab@suse.de>
559
560         * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
561         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
562
563 2000-12-07  Jim Meyering  <meyering@lucent.com>
564
565         * stripslash.c (ISSLASH): Define.
566         (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
567         From Prashant TR.
568
569         * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
570         (dir_name_r): Declare this function as static.
571         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
572         manifest itself on a name containing a mix of slashes and
573         backslashes.
574         Make this function work with names starting with a DOS-style
575         drive letter and colon prefix.
576         (dir_name): Append `.' if necessary.
577         Based mostly on patches from Prashant TR and Eli Zaretskii.
578
579         * dirname.h (dir_name_r): Remove prototype.
580
581 2000-12-05  Jim Meyering  <meyering@lucent.com>
582
583         * dirname.c (dir_name_r): Add `const' in a few local declarations.
584
585 2000-12-04  Jim Meyering  <meyering@lucent.com>
586
587         * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
588         Also include memory.h, stdlib.h, unistd.h if appropriate.
589         Reported by Andreas Jaeger (conflicting declaration of malloc).
590
591 2000-12-02  Jim Meyering  <meyering@lucent.com>
592
593         * closeout.h: Make idempotent, to avoid some obscure warnings.
594
595 2000-12-01  Paul Eggert  <eggert@twinsun.com>
596
597         * memrchr.c: Include <config.h> before any system include file.
598
599 2000-11-29  Paul Eggert  <eggert@twinsun.com>
600
601         * dirname.c (dir_name_r): Fix typo: int -> size_t.
602
603 2000-11-26  Jim Meyering  <meyering@lucent.com>
604
605         * memcoll.c: Include sys/types.h.  From Werner Almesberger.
606
607 2000-11-22  Paul Eggert  <eggert@twinsun.com>
608
609         * strftime.c (my_strftime): Do not invoke mbrlen with a
610         size of (size_t) -1; it's not portable.
611
612 2000-11-17  Akim Demaille  <akim@epita.fr>
613
614         * obstack.h: Formatting changes.
615         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
616         prevent type checking.
617         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
618         cast the value to (void *): assigning a `foo *' to a `void *'
619         variable is valid.
620         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
621
622 2000-11-17  Jim Meyering  <meyering@lucent.com>
623
624         * strstr.c: Update from GNU libc.
625
626 2000-11-16  Jim Meyering  <meyering@lucent.com>
627
628         * strverscmp.c: Incorporate weak-alias-related changes from glibc.
629
630 2000-11-11  Jim Meyering  <meyering@lucent.com>
631
632         * error.c: Add a couple #includes, merging from GNU libc version.
633
634 2000-11-10  Jim Meyering  <meyering@lucent.com>
635
636         * obstack.h: Update from GNU libc.
637         * obstack.c: Likewise.
638
639 2000-11-06  Paul Eggert  <eggert@twinsun.com>
640
641         * getusershell.c (setusershell): Use rewind rather than
642         fseek/fseeko, to avoid configuration hassles with fseeko.
643         Don't bother opening SHELLS_FILE if shellstream is NULL;
644         it's not necessary.
645
646 2000-11-05  Jim Meyering  <meyering@lucent.com>
647
648         * makepath.h (make_dir): Declare.
649         * makepath.c (make_dir): Remove `static' attribute.
650         Tweak a comment.
651
652 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
653
654         * hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
655         last one in a bucket, advance to the next bucket.
656
657 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
658
659         * fnmatch.c: Do not comment out all the code if we are using
660         the GNU C library, because in some cases we are replacing buggy
661         code in the GNU C library itself.
662
663 2000-10-30  Paul Eggert  <eggert@twinsun.com>
664
665         * error.h, getline.h, modechange.h:
666         Remove "2000" from Copyright line, as the file hasn't been
667         changed this year other than in the copyright notice.
668
669         * xalloc.h: Add "2000" to Copyright line, as this file
670         was changed this year.
671
672 2000-10-30  Paul Eggert  <eggert@twinsun.com>
673
674         * fnmatch.c (FOLD): Do not assume that characters are unsigned.
675         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
676         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
677
678 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
679
680         * regex.h (__restrict_arr): Move definition out of #ifndef block.
681         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
682         doesn't define __restrict_arr.
683
684 2000-10-29  Jim Meyering  <meyering@lucent.com>
685
686         * xstat.in: Fix grammar in comment.
687
688 2000-10-28  Jim Meyering  <meyering@lucent.com>
689
690         * memchr.c: Update from libc.
691         Adjust for portability:
692         [HAVE_STDLIB_H]: Include stdlib.h.
693         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
694         Undef __memchr, too.
695         [!weak_alias]: Define __memchr to memchr.
696
697         * regex.c: Update from libc.
698         * regex.h: Likewise.
699         * getopt1.c: Likewise.
700         * memcmp.c: Likewise.
701
702         * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
703         Avoid using fseek, when possible -- it's broken by design.
704         Patch by Ulrich Drepper.
705
706 2000-10-26  Jim Meyering  <meyering@lucent.com>
707
708         * strftime.c: Update from libc.
709
710 2000-10-25  Jim Meyering  <meyering@lucent.com>
711
712         * obstack.c: Update from libc.
713
714 2000-10-23  Jim Meyering  <meyering@lucent.com>
715
716         * hard-locale.c (hard_locale): Revert last change -- it was simply
717         wrong.  That set_locale call must not have any side effects.
718         From Paul Eggert.
719
720 2000-10-22  Jim Meyering  <meyering@lucent.com>
721
722         * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
723         [CYCLIC]: Remove now-unused definition.
724
725         * save-cwd.c (O_DIRECTORY): Define, if needed.
726         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
727         Suggestion from Ulrich Drepper.
728
729 2000-10-21  Jim Meyering  <meyering@lucent.com>
730
731         * dirname.c (dir_name_r): New function, factored out of dir_name.
732         (dir_name): Use dir_name_r.
733         * dirname.h (dir_name_r): Declare it.
734
735 2000-10-21  Jim Meyering  <meyering@lucent.com>
736
737         * dirname.c (memrchr): Declare if necessary.
738         (dir_name): Remove the restriction that there be no
739         trailing slashes.  Now, this code skips past them, effectively
740         ignoring them.
741         [TEST_DIRNAME] (main): New unit tests.
742
743         * memrchr.c: New file from GNU libc.
744         Undef __memrchr, too.
745         [!weak_alias]: Define __memrchr to memrchr.
746         Guard weak_alias use with `#ifdef weak_alias'.
747
748 2000-10-17  Jim Meyering  <meyering@lucent.com>
749
750         * quote.h (PARAMS): Define and use.
751         Reported by Akim Demaille.
752
753         * getopt.c: Update from libc.
754
755 2000-10-16  Jim Meyering  <meyering@lucent.com>
756
757         * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
758         From Jan Fedak.
759
760 2000-09-25  Jim Meyering  <meyering@lucent.com>
761
762         * md5.h (rol): Define (from GnuPG).
763
764         * sha.c: Give credit (GnuPG) where due.
765         (M): Use rol rather than open-coding it.
766         Add a FIXME comment.
767
768 2000-09-21  Jim Meyering  <meyering@lucent.com>
769
770         * userspec.c (parse_user_spec): Remove debugging printf I'd added.
771         Reported by Michael Stone.
772
773 2000-09-20  Jim Meyering  <meyering@lucent.com>
774
775         * Makefile.am (libfetish_a_SOURCES): Add sha.c.
776         (noinst_HEADERS): Add sha.h.
777         Based on code from Scott G. Miller and from GnuPG.
778
779 2000-09-15  Jim Meyering  <meyering@lucent.com>
780
781         * regex.c: Update from libc.
782
783 2000-09-10  Jim Meyering  <meyering@lucent.com>
784
785         * getopt.c (_getopt_internal): Update from glibc.
786
787 2000-09-09  Jim Meyering  <meyering@lucent.com>
788
789         * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
790         think it should be used as a general replacement for isascii.
791         * fnmatch.c: Likewise.
792         * mbswidth.c: Likewise
793         * regex.c: Likewise.
794
795         Don't use atoi.
796         * userspec.c: Include sys/param.h and limits.h.
797         Include xstrtol.h.
798         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
799         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
800         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
801         UID, GID.  Check range.
802
803 2000-09-06  Jim Meyering  <meyering@lucent.com>
804
805         * getopt.c (_getopt_internal): Update from glibc.
806
807 2000-08-30  Jim Meyering  <meyering@lucent.com>
808
809         * strftime.c: Merge in changes from GNU libc.
810
811 2000-08-26  Jim Meyering  <meyering@lucent.com>
812
813         * closeout.c: Include "__fpending.h".
814         (close_stdout_status): Return right away if there's nothing to flush.
815
816         * Makefile.am (noinst_HEADERS): Add __fpending.h.
817         * __fpending.c: New file.
818         * __fpending.h: New file.
819
820 2000-08-07  Paul Eggert  <eggert@twinsun.com>
821
822         Standardize on "memory exhausted" instead of "Memory exhausted"
823         or "virtual memory exhausted".
824         * obstack.c (print_and_abort): Use "memory exhausted", not
825         "virtual memory exhausted".
826         * same.c (same_name): Invoke xalloc_die instead of printing
827         our own message.
828         * userspec.c (parse_user_spec): Likewise.
829         * bumpalloc.h: comment fix
830         * same.c, userspec.c: Include xalloc.h.
831
832         * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
833         not char *const and pointing to a constant array.
834         * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
835         (xrealloc): Comment fix.
836
837         * userspec.c (parse_user_spec):
838         Don't translate a message until just before returning,
839         to avoid unnecessary translation.
840
841 2000-08-07  Jim Meyering  <meyering@lucent.com>
842
843         * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
844         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
845         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
846         getgroups.c, gethostname.c, getopt.h, group-member.c,
847         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
848         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
849         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
850         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
851         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
852         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
853         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
854         yesno.c: Back out Copyright date changes for each file with no change
855         this year.  This eases coordination with other programs using the same
856         source code modules.  From Paul Eggert.
857
858 2000-08-03  Greg McGary  <greg@mcgary.org>
859
860         * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
861         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
862         (EXTEND_BUFFER): Use them.
863
864 2000-08-01  Jim Meyering  <meyering@lucent.com>
865
866         * dirname.c (ISSLASH): Define.
867         (BACKSLASH_IS_PATH_SEPARATOR): Define.
868         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
869         both `\' and `/' may be use as path separators.
870         Based on a patch from Prashant TR.
871
872 2000-07-31  Paul Eggert  <eggert@twinsun.com>
873
874         * quotearg.c (quotearg_n_options): Don't make the initial
875         slot vector a constant, since it might get modified.
876
877 2000-07-31  Jim Meyering  <meyering@lucent.com>
878
879         * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
880         * obstack.c (print_and_abort): Likewise.
881
882 2000-07-30  Paul Eggert  <eggert@twinsun.com>
883
884         * quotearg.c (quotearg_n_options): Preallocate a slot 0
885         buffer, so that the caller can always quote one small
886         component of a "memory exhausted" message in slot 0.
887         From a suggestion by Jim Meyering.
888
889 2000-07-30  Jim Meyering  <meyering@lucent.com>
890
891         * makepath.c (make_path): Quote the other instance, too.
892
893         * quotearg.c (N_STATIC_SLOTVECS): Define.
894         (STATIC_BUF_SIZE): Define.
895         (quotearg_n_options): Use only statically allocated storage when
896         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
897         than STATIC_BUF_SIZE.
898
899 2000-07-29  Jim Meyering  <meyering@lucent.com>
900
901         * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
902         * dirname.c (dir_name): Likewise.
903
904         * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
905
906         * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
907         (dir_name): Assert that there are no trailing slashes.
908
909 2000-07-18  Bruno Haible  <haible@clisp.cons.org>
910
911         * mbswidth.h (mbswidth): Add a flags argument.
912         (mbswidth): New declaration.
913         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
914         * mbswidth.c (mbswidth): Add a flags argument.
915         (mbsnwidth): New function.
916
917 2000-07-24  Jim Meyering  <meyering@lucent.com>
918
919         * mbswidth.c: Remove useless #else.  From Bruno Haible.
920
921 2000-07-23  Paul Eggert  <eggert@twinsun.com>
922
923         * mbswidth.c (_XOPEN_SOURCE):
924         Don't define; this causes problems on Solaris 7.
925         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
926
927 2000-07-23  Paul Eggert  <eggert@twinsun.com>
928
929         * quotearg.c:
930         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
931         so that mbstate_t is always defined.
932
933         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
934         be 1 in at least one GCC installation, and this configuration
935         error is likely to be common.  Ignoring MB_LEN_MAX hurts
936         performance on hosts that have mbrtowc but have only unibyte
937         locales, but I assume these hosts are rare.
938
939 2000-07-23  Paul Eggert  <eggert@twinsun.com>
940
941         * quotearg.c: Streamline by invoking multibyte code only if needed.
942         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
943         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
944         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
945         invoke multibyte primitives.
946
947 2000-07-23  Jim Meyering  <meyering@lucent.com>
948
949         * basename.c (base_name): Add an assertion.
950
951 2000-07-15  Bruno Haible  <clisp.cons.org>
952
953         * quotearg.c: When the system forces us to redefine mbstate_t,
954         shadow its mbsinit function.
955
956 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
957
958         * mbswidth.h: New file.
959         * mbswidth.c: New file.
960         * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
961         (noinst_HEADERS): Add mbswidth.h.
962
963 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
964
965         * config.charset: Add support for FreeBSD. Improve support for HP-UX
966         and IRIX 6.
967
968 2000-07-15  Jim Meyering  <meyering@lucent.com>
969
970         * makepath.c: Include quote.h.
971         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
972         corresponding argument in a `quote (...)' call.
973         Give better diagnostics.
974
975         * Makefile.am (libfetish_a_SOURCES): Add quote.c.
976         (noinst_HEADERS): Add quote.h.
977
978         * quote.c (quote, quote_n): New file.  Two functions taken verbatim
979         from tar's src/misc.c.
980         * quote.h: New file.  Prototypes for same.
981
982 2000-07-10  Paul Eggert  <eggert@twinsun.com>
983
984         From a suggestion by Bruno Haible.
985         * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
986         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
987         to decide whether to define the BeOS workaround macro;
988         this adjusts to the change to AC_MBSTATE_T.
989
990 2000-07-13  Paul Eggert  <eggert@twinsun.com>
991
992         * quotearg.h (enum quoting style): New enum clocale_quoting_style.
993
994         * quotearg.c (quoting_style_args, quoting_style_vals,
995         quotearg_buffer_restyled): Add support for
996         clocale_quoting_style.  Undo previous change to
997         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
998         and "{RIGHT QUOTATION MARK}" msgids.
999
1000 2000-07-05  Paul Eggert  <eggert@twinsun.com>
1001
1002         The old behavior of quoting `like this' doesn't look good with
1003         newer, ISO-style fonts.  See:
1004         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
1005
1006         Instead, quote "like this" by default.  Let the translator
1007         tailor the locale-specific quoting behavior by providing
1008         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
1009
1010         * quotearg.c (N_): New macro.
1011         (gettext_default): New function.
1012         (quotearg_buffer_restyled): Use
1013         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
1014         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
1015
1016 2000-07-09  Jim Meyering  <meyering@lucent.com>
1017
1018         * Most files: Update copyright dates to include 2000.
1019
1020 2000-07-08  Jim Meyering  <meyering@lucent.com>
1021
1022         * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
1023         if not defined.
1024         (xgethostname): Remove now-unnecessary #ifdef.
1025         Move declaration of `err' into loop where it's used.
1026
1027 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
1028
1029         * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
1030         by allocating a larger buffer. Test the gethostname return value for
1031         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
1032         returns an error and ENAMETOOLONG isn't defined.
1033
1034 2000-07-05  Paul Eggert  <eggert@twinsun.com>
1035         and Bruno Haible  <haible@clisp.cons.org>
1036
1037         * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
1038
1039 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
1040
1041         * quotearg.c (struct quoting_options): Simplify quote_these_too
1042         dimension.
1043
1044 2000-07-03  Jim Meyering  <meyering@lucent.com>
1045
1046         * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
1047         Reported by Bruno Haible.
1048
1049 2000-07-04  Jim Meyering  <meyering@lucent.com>
1050
1051         * quotearg.c: Make inclusion of <wchar.h> independent of whether
1052         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
1053         lacks mbrtowc.
1054
1055 2000-07-03  Paul Eggert  <eggert@twinsun.com>
1056         and Bruno Haible  <haible@clisp.cons.org>
1057
1058         * quotearg.c (mbrtowc):
1059         Assign to *pwc, and return 1 only if result is nonzero.
1060         (iswprint): Use ISPRINT when substituting our own mbrtowc.
1061
1062 2000-07-03  Jim Meyering  <meyering@lucent.com>
1063
1064         * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
1065         This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
1066         From Bob Proulx.
1067
1068 2000-07-02  Jim Meyering  <meyering@lucent.com>
1069
1070         * quotearg.c (mbstate_t): Don't define here.
1071
1072 2000-07-02  Jim Meyering  <meyering@lucent.com>
1073
1074         * nanosleep.c (SIGCONT): Define if not already defined.
1075
1076 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1077
1078         * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
1079         per change in ../m4/ls-mntd-fs.m4.
1080         (read_filesystem_list): Ignore symbolic links.
1081
1082 2000-06-29  Jim Meyering  <meyering@lucent.com>
1083
1084         * same.c: Include <string.h> or <strings.h>, as appropriate,
1085         for declaration of strcmp.
1086
1087         * long-options.c: Include <stdlib.h>, for declaration of exit.
1088
1089         * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
1090         Avoid warning by casting result to `char *' to remove `const'.
1091
1092 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1093
1094         * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
1095
1096 2000-06-26  Paul Eggert  <eggert@twinsun.com>
1097
1098         savedir now sets errno on failure and invokes xmalloc to get memory.
1099         Fix a couple of other minor bugs while we're at it.
1100
1101         * savedir.c (<unistd.h>): Do not include; there's no need.
1102         (NAMLEN): Remove macro.
1103         (malloc, realloc): Remove decls.
1104         (stpcpy): Likewise.
1105         ("xalloc.h"): Include.
1106         (NAME_SIZE_DEFAULT): New macro.
1107         (savedir): Use xmalloc / xrealloc to allocate memory.
1108         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
1109         Skip "" directory entries.
1110         Use strlen to calculate directory entry length, since the old method
1111         is rarely used these days and isn't worth supporting.
1112         Don't use a pointer after freeing it.
1113         Check for integer overflow when calculating allocation size.
1114         Use memcpy to copy entries, instead of stpcpy.
1115         Set errno properly when returning NULL.
1116         Check for readdir error.
1117
1118 2000-06-26  Jim Meyering  <meyering@lucent.com>
1119
1120         * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
1121
1122 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1123
1124         * getusershell.c (xmalloc, xrealloc): Remove functions.
1125         Include xalloc.h.
1126         Don't include <stdlib.h>.  Don't declare malloc, realloc.
1127
1128 2000-06-23  Bruno Haible  <haible@clisp.cons.org>
1129
1130         * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
1131
1132 2000-06-24  Jim Meyering  <meyering@lucent.com>
1133
1134         * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
1135
1136 2000-06-21  Jim Meyering  <meyering@lucent.com>
1137
1138         * getpass.c: New file, from Bruno Haible.  Required for BeOS.
1139
1140 2000-06-19  Paul Eggert  <eggert@twinsun.com>
1141
1142         * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
1143         (mbrtowc, mbstate_t): Define substitutes if
1144         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
1145         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
1146         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
1147
1148 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1149
1150         * xgetcwd.c (xgetcwd): If the required pathname length is smaller
1151         than 1024, return a memory chunk of least possible size, instead
1152         of size PATH_MAX + 2. In the loop, increment the size proportionally.
1153         Use free/xmalloc instead of xrealloc to avoid copying for very long
1154         paths.
1155
1156 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1157
1158         * canon-host.c (canon_host): Use malloc and memcpy to copy an
1159         address, not strdup.  Include <stdlib.h> and don't declare free().
1160
1161 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
1162
1163         * path-concat.c (path_concat): Don't access dir[-1] if dir is
1164         the empty string.
1165
1166 2000-06-21  Jim Meyering  <meyering@lucent.com>
1167
1168         * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
1169         (noinst_HEADERS): Add getstr.h.
1170
1171         * getline.c (getstr): Move into a separate file.
1172         * getstr.c (getstr): New file, extracted from getline.c, with
1173         the following changes: new parameter, delim2; both delim[12]
1174         parameters have type `int', not `char'.  The latter would lose
1175         with 8-bit delimiters.
1176         * getstr.h: New file.
1177
1178 2000-06-19  Jim Meyering  <meyering@lucent.com>
1179
1180         * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
1181
1182 2000-06-18  Jim Meyering  <meyering@lucent.com>
1183
1184         * mkdir.c: Remove file, due mainly to copyright incompatibility.
1185         Besides, these days every porting target provides a mkdir function.
1186
1187         * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
1188         (this snippet comes from src/system.h).
1189
1190 2000-06-15  Paul Eggert  <eggert@twinsun.com>
1191
1192         * human.c (adjust_value): New function.
1193         (human_readable_inexact): Apply rounding style even when
1194         printing approximate values.
1195
1196 2000-06-14  Paul Eggert  <eggert@twinsun.com>
1197
1198         * human.c (human_readable_inexact): Allow an input block
1199         size that is not a multiple of the output block size, and vice versa.
1200         Reported by Piergiorgio Sartor.
1201
1202 2000-06-14  Paul Eggert  <eggert@twinsun.com>
1203
1204         * getdate.y (get_date): Apply relative times after time
1205         zone indicator, not before.  Reported by Todd A. Jacobs.
1206
1207 2000-06-13  Jim Meyering  <meyering@lucent.com>
1208
1209         * Makefile.am (all-local): Depend on lstat.c and stat.c.
1210
1211         * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
1212
1213 2000-06-12  Paul Eggert  <eggert@twinsun.com>
1214
1215         * xstat.in: Include <stdlib.h> in lstat, to declare "free".
1216
1217 2000-06-04  Paul Eggert  <eggert@twinsun.com>
1218
1219         * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
1220
1221 2000-06-04  Jim Meyering  <meyering@lucent.com>
1222
1223         * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
1224         SunOS4.1.4 for which gid_t is an unsigned type.
1225
1226 2000-06-03  Jim Meyering  <meyering@lucent.com>
1227
1228         * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
1229
1230 2000-05-26  Bruno Haible  <haible@clisp.cons.org>
1231
1232         * Makefile.am (install-exec-local): On systems with glibc-2.1 or
1233         newer, don't install charset.alias.
1234         * config.charset: Change the Linux/glibc rules so they become empty
1235         on glibc-2.1 or newer.
1236
1237 2000-06-02  Jim Meyering  <meyering@lucent.com>
1238
1239         * mountlist.c: Back out last change.  Instead, do this...
1240         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
1241         member using the same `ignore'-testing code.
1242         * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
1243         fs_type strings.
1244         From Mark D. Roth.
1245
1246 2000-05-29  Jim Meyering  <meyering@lucent.com>
1247
1248         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
1249         with the `ignore' attribute.  Based on a patch from Mark D. Roth.
1250
1251 2000-05-22  Jim Meyering  <meyering@lucent.com>
1252
1253         * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
1254
1255 2000-05-18  Jim Meyering  <meyering@lucent.com>
1256
1257         * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
1258         back, too, since it may have been modified by allocate_entry.
1259         (hash_delete): Rewrite to use neither the assignment operator
1260         nor the comma operator in an if-expression.
1261
1262 2000-05-15  Paul Eggert  <eggert@twinsun.com>
1263
1264         * closeout.c:
1265         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
1266         Remove; no longer needed.
1267         "quotearg.h": Add include.
1268         (file_name): Do not bother to explicitly initialize to NULL; it's less
1269         efficient on some hosts.
1270         (close_stdout_status): Remove test as to whether stdout was already
1271         closed; it breaks for the case "echo x | sort >&-".
1272         Quote file name colons.
1273         Do not assume that _("write error") lacks format strings.
1274
1275 2000-05-15  Jim Meyering  <meyering@lucent.com>
1276
1277         * version-etc.c (version_etc_copyright): Update the copyright string
1278         used in all --version output.
1279
1280 2000-05-14  Jim Meyering  <meyering@lucent.com>
1281
1282         * closeout.c (close_stdout_set_file_name): New function.
1283         (close_stdout_status): Use new file-scoped global.
1284         Return right away if fstat says the stdout file descriptor is invalid.
1285         * closeout.h (close_stdout_set_file_name): Declare.
1286
1287 2000-05-10  Jim Meyering  <meyering@lucent.com>
1288
1289         * closeout.c [default_exit_status]: New file-scoped variable.
1290         (close_stdout_set_status): New function.
1291         * closeout.h (close_stdout_set_status): Declare.
1292
1293 2000-05-08  Jim Meyering  <meyering@lucent.com>
1294
1295         * long-options.c: Don't include closeout.h.
1296         (parse_long_options): Don't call close_stdout for --version.
1297
1298 2000-05-06  Jim Meyering  <meyering@lucent.com>
1299
1300         * strnlen.c: Undefine __strnlen and strnlen.
1301         [!weak_alias]: Define __strnlen to strnlen.
1302
1303         * atexit.c: New file, from libiberty.
1304
1305 2000-05-06  Jim Meyering  <meyering@lucent.com>
1306
1307         * closeout.c (close_stdout_status): Also check for errors on the
1308         stderr stream.
1309
1310 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
1311
1312         * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
1313         instead of xmalloc, xrealloc, path_concat.
1314         (locale_charset): Treat empty environment variables as absent.
1315         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
1316
1317 2000-05-04  Jim Meyering  <meyering@lucent.com>
1318
1319         * getopt.c: Update from glibc.
1320         * obstack.c: Likewise.
1321         * obstack.h: Likewise.
1322         * regex.c: Likewise.  NB: K&R compiler support is dropped for this file
1323
1324         * regex.h: Likewise.
1325         * strndup.c: Likewise.
1326         * strnlen.c: New file, from glibc.
1327
1328 2000-05-01  Jim Meyering  <meyering@lucent.com>
1329
1330         * full-write.c (full_write): Remove `FIXME' part of comment.
1331
1332 2000-04-29  Jim Meyering  <meyering@lucent.com>
1333
1334         * path-concat.c: Declare strdup only if it's not defined.
1335         * canon-host.c: Likewise.
1336
1337 2000-04-28  Jim Meyering  <meyering@lucent.com>
1338
1339         * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
1340         redefinition warning on some systems (HPUX).  Otherwise, regex.h is
1341         included first, then limits.h is included by locale.h by libintl.h.
1342         From John David Anglin.
1343
1344 2000-04-25  Jim Meyering  <meyering@lucent.com>
1345
1346         * makepath.c (S_IRWXUGO): Define.
1347         (make_path): Always perform explicit chmod if MODE specifies any
1348         of the `special' permission bits.  Prompted by a bug report against
1349         install from Mate Wierdl and Joost van Baal.
1350
1351 2000-04-18  Jim Meyering  <meyering@lucent.com>
1352
1353         * README: New file.
1354
1355         * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
1356         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
1357
1358 2000-04-17  Jim Meyering  <meyering@lucent.com>
1359
1360         * strftime.c (my_strftime) [strftime]: Declare strftime here, since
1361         the definition of it to rpl_strftime also defined-away the system's
1362         declaration.
1363
1364 2000-04-15  Jim Meyering  <meyering@lucent.com>
1365
1366         Use `C' to denote so-called `contiguous' files, the same way
1367         that tar does.
1368         * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
1369         (ftypelet): Use S_ISCTG.
1370         From Michael Deutschmann.
1371
1372 2000-04-14  Jim Meyering  <meyering@lucent.com>
1373
1374         * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
1375
1376 2000-04-08  Jim Meyering  <meyering@lucent.com>
1377
1378         * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
1379         names don't conflict.  Reported by Eli Zaretskii.
1380
1381 2000-03-28  Bruno Haible  <haible@clisp.cons.org>
1382
1383         * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
1384         bug.  Deal with the different error behavior of Irix iconv.
1385
1386 2000-04-07  Jim Meyering  <meyering@lucent.com>
1387
1388         * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
1389         to work around system header problems on AIX 3.2.5.  From Bruno Haible.
1390
1391 2000-04-05  Jim Meyering  <meyering@lucent.com>
1392
1393         Portability tweaks required for ultrix4.3.
1394         * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
1395         * readutmp.c: Include sys/types.h before sys/stat.h.
1396         * canon-host.c: Declare strdup.
1397         * path-concat.c: Likewise.
1398         From John David Anglin.
1399
1400 2000-04-04  Jim Meyering  <meyering@lucent.com>
1401
1402         Be more DOS 8.3-friendly.
1403         * ref-add.sin: Renamed from ref-add.sed.in.
1404         * ref-del.sin: Renamed from ref-del.sed.in.
1405         * Makefile.am: Reflect renaming.
1406         Reported by Eli Zaretskii.
1407
1408         Use a temporary file name that won't clash with `charset.alias'
1409         in the DOS 8.3 name space.
1410         * Makefile.am (charset_tmp): Define.
1411         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
1412         (uninstall-local): Likewise.
1413         Reported by Eli Zaretskii.
1414
1415 2000-03-29  Paul Eggert  <eggert@twinsun.com>
1416
1417         * time/strftime.c (my_strftime): Make sure we call the system
1418         strftime, not ourselves, when invoking the underlying strftime.
1419
1420 2000-03-24  Jim Meyering  <meyering@lucent.com>
1421
1422         * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
1423         (charset_alias): Define.
1424         (install-exec-local): Factor out common code.
1425         (uninstall-local): Split lines longer than 80.
1426         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
1427         (SUFFIXES): Define.
1428         (.sed.in.sed): New rule.  Don't redirect directly to $@.
1429         (CLEANFILES): Add ref-add.sed and ref-del.sed.
1430
1431 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
1432
1433         * config.charset: Output a line containing "Packages using this file".
1434         * ref-add.sed.in, ref-del.sed.in: New files.
1435         * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
1436         ref-del.sed): New rules.
1437
1438 2000-03-17  Jim Meyering  <meyering@lucent.com>
1439
1440         * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
1441         Otherwise, include <strings.h>
1442
1443 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
1444
1445         * unicodeio.c (utf8_wctomb): New function.
1446         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
1447         format instead of in UCS-4 with platform dependent endianness.
1448
1449 2000-03-07  Paul Eggert  <eggert@twinsun.com>
1450
1451         * savedir.c (savedir): Work even if directory size is
1452         negative; this can happen with some screwy NFS configurations.
1453
1454 2000-03-06  Jim Meyering  <meyering@lucent.com>
1455
1456         * localcharset.c (get_charset_aliases): Don't try to free file_name
1457         if it's NULL (because we ran out of memory).  From Bruno Haible.
1458
1459 2000-03-05  Jim Meyering  <meyering@lucent.com>
1460
1461         * localcharset.c ("path-concat.h"): Include.
1462         (get_charset_aliases): Use path_concat instead of ANSI string
1463         concatenation.
1464
1465         * unicodeio.h (PARAMS): Define.
1466         Use it to guard prototype.
1467
1468 2000-03-04  Jim Meyering  <meyering@lucent.com>
1469
1470         * Makefile.am (install-exec-local): Create $(libdir) before installing
1471         into it.
1472         (uninstall-local): Uncomment this rule so `make distcheck' works
1473         once again.
1474
1475         * unicodeio.c (<errno.h>): Include it.
1476         (errno): Declare if not defined.
1477
1478         * localcharset.c: Add Bruno's comment justifying use of volatile.
1479
1480         * config.charset: New version, incorporating remarks from a linux
1481         i18n mailing list.  From Bruno Haible.
1482
1483 2000-03-02  Jim Meyering  <meyering@lucent.com>
1484
1485         * Makefile.am (EXTRA_DIST): Add config.charset.
1486
1487 2000-03-01  Jim Meyering  <meyering@lucent.com>
1488
1489         * localcharset.c: Guard some #includes with `#if HAVE_...'.
1490         * unicodeio.c: Likewise.
1491
1492 2000-02-02  Bruno Haible  <haible@clisp.cons.org>
1493
1494         * config.charset: New file.
1495         * localcharset.c: New file.
1496         * unicodeio.h, unicodeio.c: New files.
1497         * Makefile.am (DEFS): Add -DLIBDIR=...
1498         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
1499         (noinst_HEADERS): Add unicodeio.h.
1500         (all-local, install-exec-local, charset.alias): New targets.
1501
1502 2000-02-28  Paul Eggert  <eggert@twinsun.com>
1503
1504         * quotearg.c (ALERT_CHAR): New macro.
1505         (quotearg_buffer_restyled): Use it.
1506
1507 2000-02-27  Jim Meyering  <meyering@lucent.com>
1508
1509         * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
1510         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
1511
1512         * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
1513         not `#if STDC_HEADERS'.
1514         Declare malloc if needed.
1515
1516         * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
1517         now that autoconf always defines the HAVE_DECL_ symbols.
1518         * human.c: Likewise.
1519         * same.c: Likewise.
1520         * strtoumax.c: Likewise.
1521
1522         * backupfile.c: Arrange for cpp to fail if the configure-time
1523         declaration check was not run.
1524         * hash.c: Likewise.
1525         * human.c: Likewise.
1526         * same.c: Likewise.
1527         * strtoumax.c: Likewise.
1528
1529         * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
1530         then first look up the entire `.'-containing string as a login name.
1531
1532 2000-02-18  Paul Eggert  <eggert@twinsun.com>
1533
1534         * getdate.y: Handle two-digit years with leading zeros correctly.
1535         (textint): New typedef.
1536         (parser_control): Member year changed from int to textint.
1537         All uses changed.
1538         (YYSTYPE): Removed; replaced by %union with int and textint members.
1539         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
1540         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
1541         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
1542         (tSNUMBER, tUNUMBER): Now of type <textintval>.
1543         (date, number, to_year): Use width of number in digits, not its value,
1544         to determine whether it's a 2-digit year, or a 2-digit time.
1545         (yylex): Store number of digits of numeric tokens.
1546         Reported by John Kendall.
1547
1548         (parser_control): Changed from struct parser_control to typedef (for
1549         consistency).  All uses changed.
1550
1551         (tID): Removed; not used.
1552         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
1553
1554 2000-02-14  Paul Eggert  <eggert@twinsun.com>
1555
1556         * getpagesize.h (getpagesize): Port to VMS for Alpha;
1557         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
1558
1559 2000-02-12  Jim Meyering  <meyering@lucent.com>
1560
1561         * userspec.c (ISDIGIT): Define it.
1562         (isdigit): Remove definition.
1563         (is_number): Use ISDIGIT, not isdigit.
1564         <libintl.h>: Include.
1565         (_ and N_): Define.
1566         (parse_user_spec): Mark translatable strings.
1567
1568 2000-02-10  Jim Meyering  <meyering@lucent.com>
1569
1570         With these changes, nanosleep.[ch] are finally enough like the other
1571         lib/* replacement files to compile on a few more losing systems.
1572
1573         * nanosleep.h: Don't include config.h.
1574         Remove prototype from declaration of nanosleep.
1575         (PARAMS): Remove now-unneeded definition.
1576         * nanosleep.c: #undef nanosleep.
1577         (rpl_nanosleep): Rename from nanosleep.
1578
1579 2000-02-03  Jim Meyering  <meyering@lucent.com>
1580
1581         * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
1582         rather than with `#if HAVE_UTMPNAME'.
1583
1584 2000-02-01  Jim Meyering  <meyering@lucent.com>
1585
1586         * readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
1587
1588 2000-01-31  Jim Meyering  <meyering@lucent.com>
1589
1590         * nanosleep.h (nanosleep): Guard declaration with
1591         `#if ! HAVE_DECL_NANOSLEEP'.
1592         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
1593         the declaration in that vendor's sys/timers.h.
1594         Reported by Christian Krackowizer.
1595
1596         * quotearg.c (ISASCII): Add #undef and move definition to follow
1597         inclusion of wctype.h to work around solaris2.6 namespace pollution.
1598         (ISPRINT): Likewise.
1599         Reported by Tom Tromey.
1600
1601 2000-01-30  Jim Meyering  <meyering@lucent.com>
1602
1603         * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
1604         uses of ->ut_name.  The latter doesn't work with new Linux header files
1605         where only utmpx.ut_user is declared.
1606
1607         * readutmp.h (UT_USER): Define.
1608
1609 2000-01-23  Jim Meyering  <meyering@lucent.com>
1610
1611         * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
1612         obstack.c.
1613
1614 2000-01-22  Jim Meyering  <meyering@lucent.com>
1615
1616         * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
1617         [! HAVE_DECL_STRTOULL]: Declare strtoull.
1618         Required for some AIX systems.  Reported by Christian Krackowizer.
1619         [TESTING] (main): New function.
1620
1621         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
1622         * dirname.c (dir_name): Support for DOS-style file names with drive
1623         letters.
1624
1625         * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
1626
1627         * strverscmp.c (ISDIGIT): Define.
1628         (strverscmp): Use ISDIGIT, not isdigit.
1629
1630 2000-01-17  Paul Eggert  <eggert@twinsun.com>
1631
1632         * nanosleep.c (nanosleep):
1633         Don't use SA_INTERRUPT to decide whether to call sigaction, as
1634         POSIX.1 doesn't require SA_INTERRUPT and some systems
1635         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
1636         it's been part of POSIX.1 since day 1 (in 1988).
1637
1638 2000-01-17  Jim Meyering  <meyering@lucent.com>
1639
1640         * interlock: Remove unused file.  Reported by François Pinard.
1641
1642 2000-01-16  Paul Eggert  <eggert@twinsun.com>
1643
1644         * quotearg.c (quotearg_buffer_restyled): Do not quote
1645         alert, backslash, formfeed, and vertical tab unnecessarily in
1646         shell quoting style.
1647
1648 Local Variables:
1649 version-control: never
1650 End: