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