Move getline and getdelim into stdio.h, per POSIX 200x.
[gnulib.git] / ChangeLog
1 2007-08-22  Eric Blake  <ebb9@byu.net>
2
3         Move getline and getdelim into stdio.h, per POSIX 200x.
4         * modules/getline (Files): Remove getline.h.
5         (Depends-on): Add stdio.
6         (configure.ac): Add module indicator.
7         * modules/getdelim (Files): Remove getdelim.h.
8         (Depends-on): Add stdio.
9         (configure.ac): Add module indicator.
10         * modules/stdio (Makefile.am): Work with new indicators.
11         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
12         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
13         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14         * lib/getdelim.h: Delete.
15         * lib/getline.h: Delete.
16         * lib/stdio_.h (getdelim, getline): Declare.
17         * modules/getdelim-tests: New module.
18         * modules/getline-tests: Likewise.
19         * tests/test-getdelim.c: New file.
20         * tests/test-getline.c: Likewise.
21         * NEWS: Document the change.
22         * lib/getline.c: Update choice of header.
23         * lib/csharpcomp.c: Likewise.
24         * lib/getpass.c: Likewise.
25         * lib/javacomp.c: Likewise.
26         * lib/javaversion.c: Likewise.
27         * lib/yesno.c: Likewise.
28         * lib/getdelim.c: Likewise.
29         (getdelim): Set errno on failure, and avoid memory leak.
30
31 2007-08-19  Bruno Haible  <bruno@clisp.org>
32
33         * modules/closein (Depends-on): Add freadahead.
34         * lib/closein.c: Include freadahead.h.
35         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
36         is zero.
37
38 2007-08-19  Bruno Haible  <bruno@clisp.org>
39
40         * modules/freadahead-tests: New file.
41         * tests/test-freadahead.sh: New file.
42         * tests/test-freadahead.c: New file.
43
44         * modules/freadahead: New file.
45         * lib/freadahead.h: New file.
46         * lib/freadahead.c: New file.
47         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
48         fbufmode, fpurge, freadable, fwritable.
49
50 2007-08-19  Eric Blake  <ebb9@byu.net>
51
52         Test yesno in combination with closein.
53         * lib/yesno.c (yesno): Document use of stdin.
54         * modules/yesno-tests (Files): New module.
55         * tests/test-yesno.c (main): New file.
56         * tests/test-yesno.sh: Likewise.
57
58 2007-08-19  Bruno Haible  <bruno@clisp.org>
59
60         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61         * lib/fseeko.c (rpl_fseeko): Likewise.
62         * lib/fseterr.c (fseterr): Likewise.
63
64 2007-08-19  Bruno Haible  <bruno@clisp.org>
65
66         * tests/test-lseek.c (main): Disable a test for BeOS.
67         * doc/functions/lseek.texi: Document the BeOS bug.
68
69 2007-08-19  Bruno Haible  <bruno@clisp.org>
70             Eric Blake  <ebb9@byu.net>
71
72         * lib/lseek.c: Include <sys/stat.h>.
73         (rpl_lseek): Add workaround code also for Unix platforms.
74         Needed for BeOS.
75         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
76         * doc/functions/lseek.texi: Document BeOS definiency.
77
78 2007-08-18  Bruno Haible  <bruno@clisp.org>
79
80         * modules/fstrcmp-tests: New file.
81         * tests/test-fstrcmp.c: New file.
82
83 2007-08-18  Bruno Haible  <bruno@clisp.org>
84
85         * modules/fstrcmp: New file, from GNU gettext with modifications.
86         * lib/fstrcmp.h: New file, from GNU gettext.
87         * lib/fstrcmp.c: New file, from GNU gettext.
88         * MODULES.html.sh (String handling): Add fstrcmp.
89
90 2007-08-18  Bruno Haible  <bruno@clisp.org>
91
92         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
93         'bool'.
94         (diag, compareseq): Remove const from the ctxt argument.
95         (USE_HEURISTIC): Undefine at the end.
96
97 2007-08-18  Jim Meyering  <jim@meyering.net>
98
99         New file: lib/idcache.h
100         * NEWS: Mention the addition.
101         * modules/idcache (Files): Add lib/idcache.h
102         * lib/idcache.c: Include "idcache.h".
103         Don't include <sys/types.h>.
104         Add a FIXME comment.
105         Move file-scoped "static" declarations to the top.
106         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
107
108 2007-08-17  Bruno Haible  <bruno@clisp.org>
109         and Paul Eggert  <eggert@cs.ucla.edu>
110
111         * MODULES.html.sh: Add diffseq.
112         * modules/diffseq: New file.
113         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
114         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
115
116 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
117
118         Import changes from coreutils for bootstrap script.
119
120         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
121
122         * build-aux/bootstrap (slurp): Work even in environments where
123         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
124         current code does not slurp files whose names start with ".", and
125         this looks like it might be a troublesome area.
126
127         2007-07-11  Jim Meyering  <jim@meyering.net>
128
129         If there's a GPL vN copyright comment, require that N == 3.
130
131         2007-07-08  Jim Meyering  <jim@meyering.net>
132
133         Run the coreutils-specific code only if tests/Makefile.am.in exists.
134         * build-aux/bootstrap (mam_template): Move definition out of loop.
135
136         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
137
138         * build-aux/bootstrap (symlink_to_dir): Rename function from
139         symlink_to_gnulib.  Add a directory parameter.  Update all
140         callers.
141         (cp_mark_as_generated): Also check for -- and link to -- files in
142         gl/.
143
144         2007-07-08  Jim Meyering  <jim@meyering.net>
145
146         Adapt to deeper hierarchy in gnulib.
147         * build-aux/bootstrap (symlink_to_dir): If the destination
148         directory doesn't exist, create it. This is required at least for
149         "lib/uniwidth/cjk.h".
150
151         2007-05-15  Jim Meyering  <jim@meyering.net>
152
153         * build-aux/bootstrap: Now that generated Makefile.am files
154         are no longer under version control, they must be created at
155         bootstrap time.
156
157 2007-08-14  Ben Pfaff  <blp@gnu.org>
158
159         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
160
161 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
162
163         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
164         given the changes below.
165         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
166         even on hosts that have padding bits beyond the supported 64.
167
168 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
169
170         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
171         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
172         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
173         depends on it.
174         (xstrtol_error): Remove.
175         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
176         but with a different signature.
177         (ATTRIBUTE_NORETURN, __attribute__): New macros.
178         * lib/xstrtol-error.c: Include exitfail.h.
179         (xstrtol_fatal): New function, with a different signature from the
180         old xstrtol_error, so that the caller need not worry about passing
181         in an exit status, or about storage management of the option argument.
182         (xstrtol_error): Now a static function.  Redo signature to
183         implement xstrtol_fatal.  Output the correct number of hyphens in
184         front of the option so that the caller need not worry about
185         storage management.
186         (N_): New macro.
187         (_): Remove; not used now.
188         * modules/xstrtol: Depend on getopt.
189         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
190         of old STRTOL_FATAL_ERROR macro.
191         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
192         of test program.
193         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
194         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
195
196 2007-08-08  Eric Blake  <ebb9@byu.net>
197
198         * lib/xstrtol-error.c: Add missing include.
199
200         Move xstrtol messages into gnulib domain, when --pobase is used.
201         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
202         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
203         * modules/xstrtol (Files): Distribute new file.
204         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
205         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
206         * tests/test-xstrtol.c: ...into new file.
207         * tests/test-xstrtoul.c: Also test xstrtoul.
208         * tests/test-xstrtoimax.c: Also test xstrtoimax.
209         * tests/test-xstrtoumax.c: Also test xstrtoumax.
210         * tests/test-xstrtol.sh: Drive the tests.
211         * tests/test-xstrtoimax.sh: Likewise.
212         * tests/test-xstrtoumax.sh: Likewise.
213         * modules/xstrtol-tests: New module.
214         * modules/xstrtoimax-tests: Likewise.
215         * modules/xstrtoumax-tests: Likewise.
216
217 2007-08-08  Jim Meyering  <jim@meyering.net>
218
219         New function: mfile_name_concat.
220         * lib/filenamecat.c (mfile_name_concat): New function, just like
221         file_name_concat, but return NULL upon failure rather than exiting
222         with a diagnostic.
223         * lib/filenamecat.h: Declare it.
224
225 2007-08-07  Bruno Haible  <bruno@clisp.org>
226
227         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
228         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
229         warning from gcc.
230         Reported by Eric Blake.
231
232 2007-08-07  Simon Josefsson  <simon@josefsson.org>
233
234         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
235         * modules/crypto/arcfour (License): Likewise.
236         * modules/crypto/des-tests (License): Likewise.
237         * modules/crypto/gc-arctwo-tests (License): Likewise.
238         * modules/crypto/gc-des-tests (License): Likewise.
239         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
240         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
241         * modules/crypto/gc-md2-tests (License): Likewise.
242         * modules/crypto/gc-md4-tests (License): Likewise.
243         * modules/crypto/gc-md5-tests (License): Likewise.
244         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
245         * modules/crypto/gc-rijndael-tests (License): Likewise.
246         * modules/crypto/gc-sha1-tests (License): Likewise.
247         * modules/crypto/gc-tests (License): Likewise.
248         * modules/crypto/hmac-md5 (License): Likewise.
249         * modules/crypto/hmac-sha1 (License): Likewise.
250         * modules/crypto/md2-tests (License): Likewise.
251         * modules/crypto/md4-tests (License): Likewise.
252         * modules/crypto/md5 (License): Likewise.
253         * modules/crypto/rijndael (License): Likewise.
254         * modules/crypto/sha1 (License): Likewise.
255         * modules/memxor (License): Likewise.
256
257 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
258         and Bruno Haible  <bruno@clisp.org>
259
260         * NEWS: Describe interface changes to human, xstrtol.
261         * lib/human.h: Include <xstrtol.h>.
262         (human_options): Return enum strtol_error, not int.  Remove
263         bool arg; take int * instead.
264         * lib/human.c: Don't include "gettext.h".
265         (_): Remove; no longer used.
266         Don't include <xstrtol.h>, since human.h does it.
267         (human_options): Adjust to abovementioned interface changes.
268         Do not report error to stderr; that's now the caller's
269         responsibility.
270         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
271         interface change.
272         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
273         Str, Argument_type_string.  All uses changed.  Put " argument"
274         in diagnostics to make them clearer.  Change wording of suffix
275         message for clarity.
276         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
277         Argument_type_string.
278         (STRTOL_FATAL_WARN): Remove; no longer used.
279         * modules/human (Depends-on): Remove gettext-h.
280
281 2007-08-06  Simon Josefsson  <simon@josefsson.org>
282
283         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
284
285 2007-07-31  Bruno Haible  <bruno@clisp.org>
286
287         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
288         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
289         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
290
291 2007-07-31  Bruno Haible  <bruno@clisp.org>
292
293         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
294         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
295
296 2007-07-30  Bruno Haible  <bruno@clisp.org>
297
298         * modules/base64 (License): Use the synonymous term "LGPLv2+".
299         * modules/c-ctype (License): Likewise.
300         * modules/c-strcase (License): Likewise.
301         * modules/check-version (License): Likewise.
302         * modules/iconv (License): Likewise.
303         * modules/iconv_open (License): Likewise.
304         * modules/read-file (License): Likewise.
305         * modules/striconv (License): Likewise.
306         * modules/strverscmp (License): Likewise.
307         * modules/vasprintf (License): Likewise.
308         * modules/crypto/des (License): Likewise.
309         * modules/crypto/gc (License): Likewise.
310         * modules/crypto/gc-arcfour (License): Likewise.
311         * modules/crypto/gc-arctwo (License): Likewise.
312         * modules/crypto/gc-des (License): Likewise.
313         * modules/crypto/gc-hmac-md5 (License): Likewise.
314         * modules/crypto/gc-hmac-sha1 (License): Likewise.
315         * modules/crypto/gc-md2 (License): Likewise.
316         * modules/crypto/gc-md4 (License): Likewise.
317         * modules/crypto/gc-md5 (License): Likewise.
318         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
319         * modules/crypto/gc-random (License): Likewise.
320         * modules/crypto/gc-rijndael (License): Likewise.
321         * modules/crypto/gc-sha1 (License): Likewise.
322         * modules/crypto/md2 (License): Likewise.
323         * modules/crypto/md4 (License): Likewise.
324
325 2007-07-30  Jim Meyering  <jim@meyering.net>
326
327         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
328         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
329         it has valid stat data.  This bug would cause du not to count the
330         sizes of inaccessible directories.
331         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
332         in <http://bugzilla.redhat.com/250077>.
333
334 2007-07-25  Peter O'Gorman  <peter@pogma.com>
335             Bruno Haible  <bruno@clisp.org>
336
337         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
338         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
339         #include_next, gives a diagnostic about it, but reports no error in
340         the exit code.
341         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
342
343 2007-07-24  Ben Pfaff  <blp@gnu.org>
344
345         Improve name: "count-one-bits" is better than "popcount".
346         * MODULES.html.sh: Update name.
347         * lib/popcount.h: Renamed lib/count-one-bits.h.
348         (popcount): Renamed count_one_bits.
349         (popcountl): Renamed count_one_bits_l.
350         (popcountll): Renamed count_one_bits_ll.
351         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
352         * modules/popcount: Renamed module/count-one-bits.
353         * modules/popcount-tests: Renamed module/count-one-bits-tests.
354         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
355
356 2007-07-23  Ben Pfaff  <blp@gnu.org>
357
358         * lib/popcount.h (popcount32): Reduce size of constants, to allow
359         better code generation, and add U to large constants to avoid
360         warnings, in non-GCC case.
361         Suggested by Bruno Haible.
362
363 2007-07-23  Ben Pfaff  <blp@gnu.org>
364
365         * lib/popcount.h: Use verify_true instead of if...abort.
366         * modules/popcount: Depend on verify module.
367         Suggested by Jim Meyering.
368
369 2007-07-23  Bruno Haible  <bruno@clisp.org>
370
371         * gnulib-tool (func_import): Create a .cvsignore file also when the
372         directory is not yet in CVS but the toplevel directory is. When
373         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
374         Reported by Karl Berry.
375
376 2007-07-22  Ben Pfaff  <blp@gnu.org>
377
378         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
379         case.
380         Suggested by Eric Blake.
381
382 2007-07-22  Ben Pfaff  <blp@gnu.org>
383
384         New module: popcount.
385         * MODULES.html.sh: Add popcount.
386         * modules/popcount: New file.
387         * modules/popcount-tests: New file.
388         * tests/test-popcount.c: New file.
389         * lib/popcount.h: New file.
390         * m4/popcount.m4: New file.
391
392 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
393
394         * build-aux/announce-gen: Update to GPLv3.
395
396         * build-aux/config.guess: Update from config.
397
398 2007-07-21  Bruno Haible  <bruno@clisp.org>
399
400         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
401         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
402
403 2007-07-20  Jim Meyering  <jim@meyering.net>
404
405         * check-module: Diagnose a self-dependency.
406
407 2007-07-19  Bruno Haible  <bruno@clisp.org>
408
409         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
410         empty.
411         Reported by Eric Blake.
412
413 2007-07-18  Bruno Haible  <bruno@clisp.org>
414
415         * gnulib-tool: New options --po-base, --po-domain.
416         (func_usage): Document them.
417         (pobase, po_domain): New variables.
418         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
419         DEFAULT_TEXT_DOMAIN.
420         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
421         (func_import): Consider pobase and po_domain. Create a po/ directory.
422         (func_create_testdir): Set pobase and po_domain to empty.
423         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
424         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
425
426 2007-07-18  Bruno Haible  <bruno@clisp.org>
427
428         * gnulib-tool (func_get_automake_snippet): Synthesize also an
429         EXTRA_DIST augmentation for files in build-aux/.
430
431 2007-07-16  Bruno Haible  <bruno@clisp.org>
432
433         * modules/lseek (License): Use the synonymous term "LGPLv2+".
434         * modules/getdelim (License): Likewise.
435
436 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
437
438         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
439         * modules/d-type (License): Likewise.
440         * modules/extensions (License): Likewise.
441         * modules/fnmatch (License): Likewise.
442         * modules/fseeko (License): Likewise.
443         * modules/getaddrinfo (License): Likewise.
444         * modules/getline (License): Likewise.
445         * modules/getlogin_r (License): Likewise.
446         * modules/getpass (License): Likewise.
447         * modules/gettimeofday (License): Likewise.
448         * modules/glob (License): Likewise.
449         * modules/inet_ntop (License): Likewise.
450         * modules/malloc (License): Likewise.
451         * modules/malloca (License): Likewise.
452         * modules/memmem (License): Likewise.
453         * modules/mempcpy (License): Likewise.
454         * modules/memset (License): Likewise.
455         * modules/minmax (License): Likewise.
456         * modules/mktime (License): Likewise.
457         * modules/netinet_in (License): Likewise.
458         * modules/pathmax (License): Likewise.
459         * modules/poll (License): Likewise.
460         * modules/regex (License): Likewise.
461         * modules/snprintf (License): Likewise.
462         * modules/stdbool (License): Likewise.
463         * modules/stdint (License): Likewise.
464         * modules/stdio (License): Likewise.
465         * modules/strcase (License): Likewise.
466         * modules/strcasestr (License): Likewise.
467         * modules/strdup (License): Likewise.
468         * modules/string (License): Likewise.
469         * modules/strndup (License): Likewise.
470         * modules/strnlen (License): Likewise.
471         * modules/strpbrk (License): Likewise.
472         * modules/strptime (License): Likewise.
473         * modules/strsep (License): Likewise.
474         * modules/sys_select (License): Likewise.
475         * modules/sys_socket (License): Likewise.
476         * modules/sys_stat (License): Likewise.
477         * modules/sys_time (License): Likewise.
478         * modules/time (License): Likewise.
479         * modules/time_r (License): Likewise.
480         * modules/timegm (License): Likewise.
481         * modules/unistd (License): Likewise.
482         * modules/vsnprintf (License): Likewise.
483         * modules/wctype (License): Likewise.
484
485 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
486
487         * modules/argz (License): LGPLv2+.
488
489 2007-07-15  Karl Berry  <karl@gnu.org>
490
491         * doc/gnulib.texi: revise node structure per new fdl.texi.
492
493 2007-07-14  Bruno Haible  <bruno@clisp.org>
494
495         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
496         the output file.
497         * lib/uniname/uninames.h: Regenerated.
498
499 2007-07-14  Karl Berry  <karl@gnu.org>
500
501         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
502         omitting sectioning and index commands.
503
504 2007-07-13  Bruno Haible  <bruno@clisp.org>
505
506         New gnulib-tool option --more-symlinks.
507         * gnulib-tool (func_usage): Document --more-symlinks.
508         (do_copyrights): New variable.
509         Recognize option --more-symlinks.
510         (func_import): Don't add a copyright notice transform to
511         sed_transform_lib_file if do_copyrights is empty.
512
513 2007-07-13  Bruno Haible  <bruno@clisp.org>
514
515         * lib/vasnprintf.c (decimal_point_char): Define also if
516         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
517         && !NEED_PRINTF_DIRECTIVE_A.
518         Reported by Clemens Koller <clemens.koller@anagramm.de> via
519         Gary V. Vaughan <gary@gnu.org>.
520
521 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
522
523         * lib/inttypes_.h: Undo previous change, since it was fixed
524         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
525
526 2007-07-13  Bruno Haible  <bruno@clisp.org>
527
528         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
529         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
530
531 2007-07-13  Jim Meyering  <jim@meyering.net>
532
533         df: Don't fail for Tru64's "file-on-file mount".
534         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
535         so we fall through and use statfs instead.  Details here:
536         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
537         Reported by Albert Chin.
538
539 2007-07-13  Bruno Haible  <bruno@clisp.org>
540
541         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
542         * modules/configmake (License): Likewise.
543         * modules/gettext (License): Likewise.
544         * modules/gettext-h (License): Likewise.
545         * modules/include_next (License): Likewise.
546         * modules/link-warning (License): Likewise.
547         * modules/localcharset (License): Likewise.
548         * modules/localename (License): Likewise.
549         * modules/lock (License): Likewise.
550         * modules/relocatable-lib-lgpl (License): Likewise.
551         * modules/size_max (License): Likewise.
552         * modules/vasnprintf (License): Likewise.
553         * modules/wchar (License): Likewise.
554         * modules/xsize (License): Likewise.
555
556 2007-07-13  Bruno Haible  <bruno@clisp.org>
557
558         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
559         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
560
561 2007-07-12  Bruno Haible  <bruno@clisp.org>
562
563         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
564         in the modules files.
565
566 2007-07-11  Karl Berry  <karl@gnu.org>
567
568         * MODULES.html.sh (func_module): use
569          sed -e '\|^'"${includefile}"'$|d'
570          instead of /.../d, to avoid errors on $includefile's containing /.
571
572 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
573
574         * gnulib-tool (func_import): Avoid duplication of --avoid
575         statements
576         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
577         names to `_' in variable names.
578
579 2007-07-10  Eric Blake  <ebb9@byu.net>
580
581         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
582         * NEWS: Document this change.
583
584 2007-07-08  Bruno Haible  <bruno@clisp.org>
585
586         Update to Unicode 5.0.
587         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
588         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
589         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
590         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
591         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
592         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
593         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
594         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
595         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
596         U+10A3F, U+1D242..U+1D244.
597         (nonspacing_table_ind): Update.
598         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
599         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
600
601 2007-07-08  Bruno Haible  <bruno@clisp.org>
602
603         Update to Unicode 5.0.
604         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
605         code transform. Extend the name index field of unicode_name_to_code and
606         unicode_code_to_name from 16 to 24 bits.
607         * lib/uniname/uniname.c (unicode_character_name,
608         unicode_name_character): Add the range 0x12xxx to the code transform.
609         * lib/uniname/uninames.h: Regenerated.
610         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
611
612 2007-07-07  Bruno Haible  <bruno@clisp.org>
613
614         * modules/wcwidth-tests: New file.
615         * tests/test-wcwidth.c: New file.
616
617         Work around MacOS X wcwidth() bug.
618         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
619         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
620         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
621         original wcwidth in non-UTF-8 locales.
622         * modules/wcwidth (Depends-on): Add localcharset, streq,
623         uniwidth/width.
624         * doc/functions/wcwidth.texi: Update.
625
626 2007-07-07  Bruno Haible  <bruno@clisp.org>
627
628         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
629         (wcwidth): New declaration.
630         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
631         macros.
632         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
633         here. Prepare for creating <wchar.h> unconditionally.
634         * modules/wchar (Depends-on): Add link-warning.
635         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
636         REPLACE_WCWIDTH, and GL_LINK_WARNING.
637         * lib/wcwidth.h: Remove file.
638         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
639         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
640         * modules/wcwidth (Files): Remove lib/wcwidth.h.
641         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
642         (Include): Replace wcwidth.h with <wchar.h>.
643         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
644         * lib/mbchar.h: Don't include wcwidth.h.
645         * lib/mbswidth.c: Likewise.
646         * NEWS: Mention the change.
647
648 2007-07-07  Bruno Haible  <bruno@clisp.org>
649
650         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
651         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
652         definition with an external declaration.
653         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
654         defined as a function. Remove AC_C_INLINE requirement.
655         * modules/wcwidth (Files): Add lib/wcwidth.c.
656         (Makefile.am): Remove redundant statement.
657
658 2007-07-07  Bruno Haible  <bruno@clisp.org>
659
660         * MODULES.html.sh (Unicode string functions): Add the new modules.
661
662         * tests/uniwidth/test-u32-strwidth.c: New file.
663         * modules/uniwidth/u32-strwidth-tests: New file.
664
665         * lib/uniwidth/u32-strwidth.c: New file.
666         * modules/uniwidth/u32-strwidth: New file.
667
668         * tests/uniwidth/test-u16-strwidth.c: New file.
669         * modules/uniwidth/u16-strwidth-tests: New file.
670
671         * lib/uniwidth/u16-strwidth.c: New file.
672         * modules/uniwidth/u16-strwidth: New file.
673
674         * tests/uniwidth/test-u8-strwidth.c: New file.
675         * modules/uniwidth/u8-strwidth-tests: New file.
676
677         * lib/uniwidth/u8-strwidth.c: New file.
678         * modules/uniwidth/u8-strwidth: New file.
679
680         * tests/uniwidth/test-u32-width.c: New file.
681         * modules/uniwidth/u32-width-tests: New file.
682
683         * lib/uniwidth/u32-width.c: New file.
684         * modules/uniwidth/u32-width: New file.
685
686         * tests/uniwidth/test-u16-width.c: New file.
687         * modules/uniwidth/u16-width-tests: New file.
688
689         * lib/uniwidth/u16-width.c: New file.
690         * modules/uniwidth/u16-width: New file.
691
692         * tests/uniwidth/test-u8-width.c: New file.
693         * modules/uniwidth/u8-width-tests: New file.
694
695         * lib/uniwidth/u8-width.c: New file.
696         * modules/uniwidth/u8-width: New file.
697
698         * tests/uniwidth/test-uc_width.c: New file.
699         * modules/uniwidth/width-tests: New file.
700
701         * lib/uniwidth/width.c: New file, from GNU libiconv.
702         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
703         * modules/uniwidth/width: New file.
704
705         * lib/uniwidth.h: New file, from GNU libiconv.
706         * modules/uniwidth/base: New file.
707
708 2007-07-07  Bruno Haible  <bruno@clisp.org>
709
710         * lib/uniname.h: New file, from GNU gettext.
711         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
712         * lib/uniname/uninames.h: New file, from GNU gettext.
713         * lib/uniname/uniname.c: New file, from GNU gettext.
714         * tests/uniname/test-uninames.sh: New file.
715         * tests/uniname/test-uninames.c: New file, from GNU gettext.
716         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
717         * modules/uniname/base: New file.
718         * modules/uniname/uniname: New file.
719         * modules/uniname/uniname-tests: New file.
720         * MODULES.html.sh (Unicode string functions): Add the new modules.
721
722 2007-07-06  Bruno Haible  <bruno@clisp.org>
723
724         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
725
726 2007-07-06  Bruno Haible  <bruno@clisp.org>
727
728         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
729         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
730         includes <cygwin/sys_time.h> which includes <sys/select.h> which
731         include <sys/time.h>.
732         Reported by Eric Blake.
733
734 2007-07-06  Eric Blake  <ebb9@byu.net>
735
736         Fix testing canonicalize on cygwin.
737         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
738         Revert patch from 2007-06-19.
739         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
740         canonicalize module is also in use.
741         * tests/test-canonicalize.c: New file.
742         * tests/test-canonicalize.sh: Likewise.
743         * modules/canonicalize-tests: Likewise.
744
745 2007-07-06  Jim Meyering  <jim@meyering.net>
746
747         * lib/getugroups.c (getugroups): Detect getgrent failure.
748         Adjust comment to reflect reality: this function may return -1.
749
750 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
751
752         * build-aux/bootstrap (TP_URL,get_translations): Update to use
753         the new TP address.
754         (usage): Fix typo
755         (gnulib_mk): New variable.
756
757 2007-07-05  Jim Meyering  <jim@meyering.net>
758
759         Don't let endgrent clobber errno, no matter how improbable.
760         * lib/getugroups.c (getugroups): Save and restore errno around
761         endgrent call.
762
763         Close the group DB even when failing with 2^31 or more members.
764         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
765
766 2007-07-04  Jim Meyering  <jim@meyering.net>
767
768         * lib/getugroups.h: New file.
769         * lib/getugroups.c: Include "getugroups.h".
770         Remove uses of "register" keyword.
771         Move local variable, "cp", down into scope where used.
772         Give "username" parameter the "const" attribute.
773         * modules/getugroups (Files): Add lib/getugroups.h
774
775 2007-07-04  Karl Berry  <karl@gnu.org>
776
777         * MODULES.html.sh (func_all_modules): Complete rename of
778         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
779
780 2007-07-02  Bruno Haible  <bruno@clisp.org>
781
782         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
783         mode, when inttypes.h comes from gnulib.
784         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
785
786 2007-07-02  Simon Josefsson  <simon@josefsson.org>
787
788         * NEWS: Mention lgpl module name change.
789
790         * modules/lgpl-2.1: Renamed from lgpl.
791
792         * NEWS: Mention gpl module name change.
793
794         * modules/gpl-3.0: New file, based on gpl-2.0.
795
796         * modules/gpl-2.0: Renamed from gpl.
797
798         * modules/gpl: Fix filename, doc/gpl.texi is now found at
799         doc/gpl-2.0.texi.
800
801 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
802
803         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
804         #define __STDC_LIMIT_MACROS temporarily while including
805         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
806         Problem reported by Joel E. Denny in
807         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
808
809 2007-07-01  Bruno Haible  <bruno@clisp.org>
810
811         * lib/unistdio.h: New file.
812         * lib/unistdio/u-asnprintf.h: New file.
813         * lib/unistdio/u-asprintf.h: New file.
814         * lib/unistdio/u-printf-args.c: New file.
815         * lib/unistdio/u-printf-args.h: New file.
816         * lib/unistdio/u-printf-parse.h: New file.
817         * lib/unistdio/u-snprintf.h: New file.
818         * lib/unistdio/u-sprintf.h: New file.
819         * lib/unistdio/u-vasprintf.h: New file.
820         * lib/unistdio/u-vsnprintf.h: New file.
821         * lib/unistdio/u-vsprintf.h: New file.
822         * lib/unistdio/ulc-asnprintf.c: New file.
823         * lib/unistdio/ulc-asprintf.c: New file.
824         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
825         * lib/unistdio/ulc-printf-parse.c: New file.
826         * lib/unistdio/ulc-snprintf.c: New file.
827         * lib/unistdio/ulc-sprintf.c: New file.
828         * lib/unistdio/ulc-vasnprintf.c: New file.
829         * lib/unistdio/ulc-vasprintf.c: New file.
830         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
831         * lib/unistdio/ulc-vsnprintf.c: New file.
832         * lib/unistdio/ulc-vsprintf.c: New file.
833         * lib/unistdio/u8-asnprintf.c: New file.
834         * lib/unistdio/u8-asprintf.c: New file.
835         * lib/unistdio/u8-printf-parse.c: New file.
836         * lib/unistdio/u8-snprintf.c: New file.
837         * lib/unistdio/u8-sprintf.c: New file.
838         * lib/unistdio/u8-vasnprintf.c: New file.
839         * lib/unistdio/u8-vasprintf.c: New file.
840         * lib/unistdio/u8-vsnprintf.c: New file.
841         * lib/unistdio/u8-vsprintf.c: New file.
842         * lib/unistdio/u8-u8-asnprintf.c: New file.
843         * lib/unistdio/u8-u8-asprintf.c: New file.
844         * lib/unistdio/u8-u8-snprintf.c: New file.
845         * lib/unistdio/u8-u8-sprintf.c: New file.
846         * lib/unistdio/u8-u8-vasnprintf.c: New file.
847         * lib/unistdio/u8-u8-vasprintf.c: New file.
848         * lib/unistdio/u8-u8-vsnprintf.c: New file.
849         * lib/unistdio/u8-u8-vsprintf.c: New file.
850         * lib/unistdio/u16-asnprintf.c: New file.
851         * lib/unistdio/u16-asprintf.c: New file.
852         * lib/unistdio/u16-printf-parse.c: New file.
853         * lib/unistdio/u16-snprintf.c: New file.
854         * lib/unistdio/u16-sprintf.c: New file.
855         * lib/unistdio/u16-vasnprintf.c: New file.
856         * lib/unistdio/u16-vasprintf.c: New file.
857         * lib/unistdio/u16-vsnprintf.c: New file.
858         * lib/unistdio/u16-vsprintf.c: New file.
859         * lib/unistdio/u16-u16-asnprintf.c: New file.
860         * lib/unistdio/u16-u16-asprintf.c: New file.
861         * lib/unistdio/u16-u16-snprintf.c: New file.
862         * lib/unistdio/u16-u16-sprintf.c: New file.
863         * lib/unistdio/u16-u16-vasnprintf.c: New file.
864         * lib/unistdio/u16-u16-vasprintf.c: New file.
865         * lib/unistdio/u16-u16-vsnprintf.c: New file.
866         * lib/unistdio/u16-u16-vsprintf.c: New file.
867         * lib/unistdio/u32-asnprintf.c: New file.
868         * lib/unistdio/u32-asprintf.c: New file.
869         * lib/unistdio/u32-printf-parse.c: New file.
870         * lib/unistdio/u32-snprintf.c: New file.
871         * lib/unistdio/u32-sprintf.c: New file.
872         * lib/unistdio/u32-vasnprintf.c: New file.
873         * lib/unistdio/u32-vasprintf.c: New file.
874         * lib/unistdio/u32-vsnprintf.c: New file.
875         * lib/unistdio/u32-vsprintf.c: New file.
876         * lib/unistdio/u32-u32-asnprintf.c: New file.
877         * lib/unistdio/u32-u32-asprintf.c: New file.
878         * lib/unistdio/u32-u32-snprintf.c: New file.
879         * lib/unistdio/u32-u32-sprintf.c: New file.
880         * lib/unistdio/u32-u32-vasnprintf.c: New file.
881         * lib/unistdio/u32-u32-vasprintf.c: New file.
882         * lib/unistdio/u32-u32-vsnprintf.c: New file.
883         * lib/unistdio/u32-u32-vsprintf.c: New file.
884         * tests/unistdio/test-ulc-asnprintf1.c: New file.
885         * tests/unistdio/test-ulc-asnprintf1.h: New file.
886         * tests/unistdio/test-ulc-printf1.h: New file.
887         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
888         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
889         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
890         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
891         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
892         * tests/unistdio/test-ulc-vasprintf1.c: New file.
893         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
894         * tests/unistdio/test-ulc-vsprintf1.c: New file.
895         * tests/unistdio/test-u8-asnprintf1.c: New file.
896         * tests/unistdio/test-u8-asnprintf1.h: New file.
897         * tests/unistdio/test-u8-printf1.h: New file.
898         * tests/unistdio/test-u8-vasnprintf1.c: New file.
899         * tests/unistdio/test-u8-vasnprintf2.c: New file.
900         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
901         * tests/unistdio/test-u8-vasnprintf3.c: New file.
902         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
903         * tests/unistdio/test-u8-vasprintf1.c: New file.
904         * tests/unistdio/test-u8-vsnprintf1.c: New file.
905         * tests/unistdio/test-u8-vsprintf1.c: New file.
906         * tests/unistdio/test-u16-asnprintf1.c: New file.
907         * tests/unistdio/test-u16-asnprintf1.h: New file.
908         * tests/unistdio/test-u16-printf1.h: New file.
909         * tests/unistdio/test-u16-vasnprintf1.c: New file.
910         * tests/unistdio/test-u16-vasnprintf2.c: New file.
911         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
912         * tests/unistdio/test-u16-vasnprintf3.c: New file.
913         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
914         * tests/unistdio/test-u16-vasprintf1.c: New file.
915         * tests/unistdio/test-u16-vsnprintf1.c: New file.
916         * tests/unistdio/test-u16-vsprintf1.c: New file.
917         * tests/unistdio/test-u32-asnprintf1.c: New file.
918         * tests/unistdio/test-u32-asnprintf1.h: New file.
919         * tests/unistdio/test-u32-printf1.h: New file.
920         * tests/unistdio/test-u32-vasnprintf1.c: New file.
921         * tests/unistdio/test-u32-vasnprintf2.c: New file.
922         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
923         * tests/unistdio/test-u32-vasnprintf3.c: New file.
924         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
925         * tests/unistdio/test-u32-vasprintf1.c: New file.
926         * tests/unistdio/test-u32-vsnprintf1.c: New file.
927         * tests/unistdio/test-u32-vsprintf1.c: New file.
928         * modules/unistdio/base: New file.
929         * modules/unistdio/u-printf-args: New file.
930         * modules/unistdio/ulc-asnprintf: New file.
931         * modules/unistdio/ulc-asprintf: New file.
932         * modules/unistdio/ulc-fprintf: New file.
933         * modules/unistdio/ulc-printf-parse: New file.
934         * modules/unistdio/ulc-snprintf: New file.
935         * modules/unistdio/ulc-sprintf: New file.
936         * modules/unistdio/ulc-vasnprintf: New file.
937         * modules/unistdio/ulc-vasprintf: New file.
938         * modules/unistdio/ulc-vfprintf: New file.
939         * modules/unistdio/ulc-vsnprintf: New file.
940         * modules/unistdio/ulc-vsprintf: New file.
941         * modules/unistdio/u8-asnprintf: New file.
942         * modules/unistdio/u8-asprintf: New file.
943         * modules/unistdio/u8-printf-parse: New file.
944         * modules/unistdio/u8-snprintf: New file.
945         * modules/unistdio/u8-sprintf: New file.
946         * modules/unistdio/u8-vasnprintf: New file.
947         * modules/unistdio/u8-vasprintf: New file.
948         * modules/unistdio/u8-vsnprintf: New file.
949         * modules/unistdio/u8-vsprintf: New file.
950         * modules/unistdio/u8-u8-asnprintf: New file.
951         * modules/unistdio/u8-u8-asprintf: New file.
952         * modules/unistdio/u8-u8-snprintf: New file.
953         * modules/unistdio/u8-u8-sprintf: New file.
954         * modules/unistdio/u8-u8-vasnprintf: New file.
955         * modules/unistdio/u8-u8-vasprintf: New file.
956         * modules/unistdio/u8-u8-vsnprintf: New file.
957         * modules/unistdio/u8-u8-vsprintf: New file.
958         * modules/unistdio/u16-asnprintf: New file.
959         * modules/unistdio/u16-asprintf: New file.
960         * modules/unistdio/u16-printf-parse: New file.
961         * modules/unistdio/u16-snprintf: New file.
962         * modules/unistdio/u16-sprintf: New file.
963         * modules/unistdio/u16-vasnprintf: New file.
964         * modules/unistdio/u16-vasprintf: New file.
965         * modules/unistdio/u16-vsnprintf: New file.
966         * modules/unistdio/u16-vsprintf: New file.
967         * modules/unistdio/u16-u16-asnprintf: New file.
968         * modules/unistdio/u16-u16-asprintf: New file.
969         * modules/unistdio/u16-u16-snprintf: New file.
970         * modules/unistdio/u16-u16-sprintf: New file.
971         * modules/unistdio/u16-u16-vasnprintf: New file.
972         * modules/unistdio/u16-u16-vasprintf: New file.
973         * modules/unistdio/u16-u16-vsnprintf: New file.
974         * modules/unistdio/u16-u16-vsprintf: New file.
975         * modules/unistdio/u32-asnprintf: New file.
976         * modules/unistdio/u32-asprintf: New file.
977         * modules/unistdio/u32-printf-parse: New file.
978         * modules/unistdio/u32-snprintf: New file.
979         * modules/unistdio/u32-sprintf: New file.
980         * modules/unistdio/u32-vasnprintf: New file.
981         * modules/unistdio/u32-vasprintf: New file.
982         * modules/unistdio/u32-vsnprintf: New file.
983         * modules/unistdio/u32-vsprintf: New file.
984         * modules/unistdio/u32-u32-asnprintf: New file.
985         * modules/unistdio/u32-u32-asprintf: New file.
986         * modules/unistdio/u32-u32-snprintf: New file.
987         * modules/unistdio/u32-u32-sprintf: New file.
988         * modules/unistdio/u32-u32-vasnprintf: New file.
989         * modules/unistdio/u32-u32-vasprintf: New file.
990         * modules/unistdio/u32-u32-vsnprintf: New file.
991         * modules/unistdio/u32-u32-vsprintf: New file.
992         * modules/unistdio/ulc-asnprintf-tests: New file.
993         * modules/unistdio/ulc-vasnprintf-tests: New file.
994         * modules/unistdio/ulc-vasprintf-tests: New file.
995         * modules/unistdio/ulc-vsnprintf-tests: New file.
996         * modules/unistdio/ulc-vsprintf-tests: New file.
997         * modules/unistdio/u8-asnprintf-tests: New file.
998         * modules/unistdio/u8-vasnprintf-tests: New file.
999         * modules/unistdio/u8-vasprintf-tests: New file.
1000         * modules/unistdio/u8-vsnprintf-tests: New file.
1001         * modules/unistdio/u8-vsprintf-tests: New file.
1002         * modules/unistdio/u16-asnprintf-tests: New file.
1003         * modules/unistdio/u16-vasnprintf-tests: New file.
1004         * modules/unistdio/u16-vasprintf-tests: New file.
1005         * modules/unistdio/u16-vsnprintf-tests: New file.
1006         * modules/unistdio/u16-vsprintf-tests: New file.
1007         * modules/unistdio/u32-asnprintf-tests: New file.
1008         * modules/unistdio/u32-vasnprintf-tests: New file.
1009         * modules/unistdio/u32-vasprintf-tests: New file.
1010         * modules/unistdio/u32-vsnprintf-tests: New file.
1011         * modules/unistdio/u32-vsprintf-tests: New file.
1012         * MODULES.html.sh (Unicode string functions): Add the new modules.
1013
1014 2007-07-01  Bruno Haible  <bruno@clisp.org>
1015
1016         * lib/sprintf.c (sprintf): Limit the available length estimation,
1017         to avoid address wraparound.
1018         * lib/vsprintf.c (vsprintf): Likewise.
1019         * modules/sprintf-posix (Dependencies): Add stdint.
1020         * modules/vsprintf-posix (Dependencies): Likewise.
1021
1022 2007-07-01  Bruno Haible  <bruno@clisp.org>
1023
1024         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
1025         Windows PATH as well. Conservative double-quoting. Comments.
1026
1027 2007-07-01  Bruno Haible  <bruno@clisp.org>
1028             Eric Blake  <ebb9@byu.net>
1029             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1030
1031         * gnulib-tool (self_abspathname): Fix algorithm to cope with
1032         empty components in $PATH, denoting '.'.
1033
1034 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1035
1036         * gnulib-tool: Fix indentation.
1037         (func_create_megatestdir): Likewise.
1038         Report by Bruno Haible.
1039
1040 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1041
1042         Sync from Automake.
1043         * build-aux/gnupload: Fix shell portability issues with for loops.
1044         Report by Karl Berry.
1045
1046 2007-06-29  Simon Josefsson  <simon@josefsson.org>
1047
1048         * build-aux/maint.mk (POURL): Use translationproject.org.
1049
1050 2007-06-27  Simon Josefsson  <simon@josefsson.org>
1051             Bruno Haible  <bruno@clisp.org>
1052
1053         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
1054         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
1055         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
1056         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
1057         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
1058
1059 2007-06-27  Bruno Haible  <bruno@clisp.org>
1060
1061         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
1062         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
1063
1064 2007-06-26  Karl Berry  <karl@gnu.org>
1065
1066         * MODULES.html.sh: remove xreadlink-with-size.
1067
1068 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1069
1070         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
1071         method that I hope also handles the double-include problem noted
1072         by Bruno Haible in
1073         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
1074
1075 2007-06-23  Bruno Haible  <bruno@clisp.org>
1076
1077         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1078         Don't let the 'mostlyclean' target fail if the last subdirectory could
1079         not be removed.
1080         Reported by Karl Berry.
1081
1082 2007-06-23  Bruno Haible  <bruno@clisp.org>
1083
1084         * gnulib-tool (echo): Add a speedier workaround for ksh.
1085         * tests/test-echo.sh: Likewise.
1086
1087 2007-06-23  Bruno Haible  <bruno@clisp.org>
1088
1089         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
1090         * tests/test-echo.sh: Likewise.
1091
1092 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1093
1094         * gnulib-tool (IFS): Initialize early, so we don't set it to
1095         empty later.
1096         (self_abspathname): Rewrite algorithm to set it, reindent.
1097         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
1098         (func_create_megatestdir): Merge some sed scripts.
1099
1100 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1101
1102         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
1103         exposed by Sun Studio 11 cc on Solaris 8.
1104
1105 2007-06-22  Bruno Haible  <bruno@clisp.org>
1106
1107         * gnulib-tool (echo): Ensure the echo primitive does not interpret
1108         backslashes.
1109         * tests/test-echo.sh: New file.
1110
1111 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1112
1113         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
1114         simplify `sed_replace_build_aux' scripts, they are portable but
1115         echoing them with `echo' is not.
1116         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
1117
1118 2007-06-21  Karl Berry  <karl@gnu.org>
1119
1120         * config/srclist.txt: guess we can't handle the licenses via
1121         srclist at the moment.
1122
1123 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1124
1125         * MODULES.html.sh: Add include_next.
1126         * modules/include_next: New file.
1127
1128 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1129
1130         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
1131         INCLUDE_NEXT.
1132         (gl_CHECK_NEXT_HEADERS): New macro.
1133         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
1134         the obsolescent gl_ABSOLUTE_HEADER.
1135         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
1136         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
1137         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
1138         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
1139         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
1140         * m4/math_h.m4 (gl_MATH_H): Likewise.
1141         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
1142         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
1143         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
1144         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1145         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
1146         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
1147         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
1148         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1149         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
1150         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
1151         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
1152         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
1153         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
1154         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1155         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
1156         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
1157         * m4/inttypes.m4 (gl_INTTYPES_H): Define
1158         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
1159         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
1160         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
1161         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
1162         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
1163         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
1164         * lib/float_.h: Likewise.
1165         * lib/inttypes_.h: Likewise.
1166         * lib/math_.h: Likewise.
1167         * lib/search_.h: Likewise.
1168         * lib/signal_.h: Likewise.
1169         * lib/stdint_.h: Likewise.
1170         * lib/stdio_.h: Likewise.
1171         * lib/stdlib_.h: Likewise.
1172         * lib/string_.h: Likewise.
1173         * lib/sys_stat_.h: Likewise.
1174         * lib/sys_time_.h: Likewise.
1175         * lib/time_.h: Likewise.
1176         * lib/unistd_.h: Likewise.
1177         * lib/wchar_.h: Likewise.
1178         * lib/wctype_.h: Likewise.
1179         * lib/dirent_.h: Likewise.
1180         * lib/iconv_.h: Likewise.
1181         * lib/locale_.h: Likewise.
1182         * lib/netinet_in_.h: Likewise.
1183         * lib/sys_select_.h: Likewise.
1184         * lib/sys_socket_.h: Likewise.
1185         * lib/sysexits_.h: Likewise.
1186         * modules/fcntl (Depends-on): Depend on include_next, not
1187         absolute_header.
1188         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
1189         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
1190         * modules/fchdir: Likewise.
1191         * modules/float: Likewise.
1192         * modules/iconv_open: Likewise.
1193         * modules/inttypes: Likewise.
1194         * modules/locale: Likewise.
1195         * modules/math: Likewise.
1196         * modules/netinet_in: Likewise.
1197         * modules/search: Likewise.
1198         * modules/signal: Likewise.
1199         * modules/stdint: Likewise.
1200         * modules/stdio: Likewise.
1201         * modules/stdlib: Likewise.
1202         * modules/string: Likewise.
1203         * modules/sys_select: Likewise.
1204         * modules/sys_socket: Likewise.
1205         * modules/sys_stat: Likewise.
1206         * modules/sys_time: Likewise.
1207         * modules/sysexits: Likewise.
1208         * modules/time: Likewise.
1209         * modules/unistd: Likewise.
1210         * modules/wchar: Likewise.
1211         * modules/wctype: Likewise.
1212         * modules/sys_stat: Change maintainer to "all".
1213         * modules/unistd: Likewise.
1214
1215 2007-06-20  Karl Berry  <karl@gnu.org>
1216
1217         * config/srclist.txt: track www changes in license files.
1218
1219 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
1220
1221         * build-aux/bootstrap: Remove stray dot.
1222         Make sure build_aux settings are honored when linking
1223         gnulib_extra_files.
1224
1225 2007-06-19  Eric Blake  <ebb9@byu.net>
1226
1227         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
1228         Allow compilation on cygwin.
1229
1230 2007-06-19  Jim Meyering  <jim@meyering.net>
1231
1232         xreadlink-with-size: Remove module.  No longer used.
1233         Ex-callers now use xreadlink or mreadlink-with-size.
1234         * modules/xreadlink-with-size: Remove module.
1235         * lib/xreadlink-with-size.c: Remove file.
1236         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
1237         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
1238         just before the function definition *is* accurate.
1239
1240         Eliminate one way canonicalize_filename_mode could exit.
1241         * lib/canonicalize.c (canonicalize_filename_mode):
1242         Use mreadlink_with_size, not xreadlink_with_size.
1243
1244 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
1245
1246         Detect porting problems to FreeBSD/arm, which has time_t wider than
1247         long int.  Original problem reported for GNU diff by Xin Li in
1248         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
1249         * modules/getdate (Depends-on): Add intprops, verify.
1250         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
1251         is an integer type no wider than long int.
1252
1253 2007-06-18  Jim Meyering  <jim@meyering.net>
1254
1255         New module: mreadlink-with-size.
1256         * MODULES.html.sh: Add mreadlink-with-size.
1257         * modules/mreadlink-with-size: New module
1258         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
1259         not xreadlink-with-size.
1260         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
1261
1262 2007-06-16  Bruno Haible  <bruno@clisp.org>
1263
1264         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
1265         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
1266         Reported by Gary V. Vaughan <gary@gnu.org>.
1267
1268 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1269
1270         Revamp lchown so that it lives in unistd.h where it belongs.
1271         * lib/lchown.h: Remove.
1272         * lib/dirchownmod.c: Don't include lib/lchown.h.
1273         * lib/fchownat.c: Likewise.
1274         * lib/openat.c: Likewise.
1275         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
1276         does not follow symlinks.
1277         (EOPNOTSUPP): Define if not defined.
1278         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
1279         is defined to 0.
1280         (lchown): New decl.
1281         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
1282         Do not check for lchown decl.
1283         Set REPLACE_LCHOWN.
1284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
1285         REPLACE_LCHOWN.
1286         * modules/chown: Make it clear it follows symlinks.
1287         * modules/lchown: Make it clear it doesn't follow symlinks.
1288         (Files): Remove lib/lchown.h
1289         (Depends-on): Add unistd.
1290         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
1291         (Include): Include <unistd.h>, not "lchown.h".
1292         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
1293         REPLACE_LCHOWN.
1294
1295 2007-06-15  Jim Meyering  <jim@meyering.net>
1296
1297         Change license (GPL to LGPL) of fsusage and dependents.
1298         * modules/fsusage (License): Change to LGPL.
1299         * modules/full-read (License): Likewise.
1300         * modules/full-write (License): Likewise.
1301         * modules/safe-read (License): Likewise.
1302         * modules/safe-write (License): Likewise.
1303
1304 2007-06-14  Ben Pfaff  <blp@gnu.org>
1305
1306         Missing part of allocsa -> malloca transition.
1307         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
1308         gl_MALLOCA.
1309
1310 2007-06-12  Bruno Haible  <bruno@clisp.org>
1311
1312         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
1313         to ia64, x86_64, i386.
1314         Reported by Eric Blake.
1315
1316 2007-06-12  Bruno Haible  <bruno@clisp.org>
1317
1318         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
1319         cross-compiling to x86_64.
1320
1321 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1322
1323         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
1324         glitch reported by Ralf Wildenhues in
1325         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
1326
1327         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
1328         Vin Shelton.
1329
1330 2007-06-11  Bruno Haible  <bruno@clisp.org>
1331
1332         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
1333         replacement string.
1334         Reported by Eric Blake.
1335
1336 2007-06-10  Bruno Haible  <bruno@clisp.org>
1337
1338         Prepare vasnprintf code for use with Unicode strings.
1339         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
1340         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
1341         TYPE_U32_STRING.
1342         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
1343         a_u32_string variants.
1344         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
1345         * lib/printf-args.c: Don't include config.h and the specification
1346         header if PRINTF_FETCHARGS is already defined.
1347         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
1348         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
1349         TYPE_U16_STRING, TYPE_U32_STRING.
1350         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
1351         u16_directive, u16_directives, u32_directive, u32_directives): New
1352         types.
1353         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
1354         New declarations.
1355         * lib/printf-parse.c: Don't include config.h and the specification
1356         header if PRINTF_PARSE is already defined. Eliminate the set of
1357         parameters for WIDE_CHAR_VERSION; the user of this file must provide
1358         them now. Include c-ctype.h.
1359         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
1360         directive and CHAR_T_ONLY_ASCII.
1361         * lib/vasnprintf.c: Don't include config.h and the specification header
1362         if VASNPRINTF is already defined.
1363         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
1364         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
1365         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
1366         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
1367         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
1368         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
1369         code accordingly.
1370         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
1371         pad_ourselves also in this case, with the 'c' and 's' directives, and
1372         with a different notion of "width".
1373         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
1374
1375 2007-06-10  Bruno Haible  <bruno@clisp.org>
1376
1377         * modules/unistr/u32-mbsnlen: New file.
1378         * lib/unistr/u32-mbsnlen.c: New file.
1379
1380         * modules/unistr/u16-mbsnlen: New file.
1381         * lib/unistr/u16-mbsnlen.c: New file.
1382
1383         * modules/unistr/u8-mbsnlen: New file.
1384         * lib/unistr/u8-mbsnlen.c: New file.
1385
1386         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
1387         declarations.
1388
1389 2007-06-10  Bruno Haible  <bruno@clisp.org>
1390
1391         * lib/string_.h (mbsnlen): New declaration.
1392         * lib/mbsnlen.c: New file.
1393         * m4/mbsnlen.m4: New file.
1394         * modules/mbsnlen: New file.
1395         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
1396         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
1397         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
1398
1399 2007-06-10  Bruno Haible  <bruno@clisp.org>
1400
1401         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
1402
1403 2007-06-10  Bruno Haible  <bruno@clisp.org>
1404
1405         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
1406         * lib/mbuiter.h: Likewise.
1407
1408 2007-06-10  Bruno Haible  <bruno@clisp.org>
1409
1410         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
1411         declaration.
1412
1413 2007-06-10  Karl Berry  <karl@gnu.org>
1414
1415         * config/srclist.txt: remove gettext entries, Bruno prefers
1416         to update individually.
1417
1418 2007-06-10  Bruno Haible  <bruno@clisp.org>
1419
1420         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
1421         'maxlen'. Ensure only length + width bytes are allocated, not
1422         length + 1 + width.
1423
1424 2007-06-09  Bruno Haible  <bruno@clisp.org>
1425
1426         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
1427         (CHAR_T): Remove macro.
1428         (VASNPRINTF): Update.
1429
1430 2007-06-09  Bruno Haible  <bruno@clisp.org>
1431
1432         * MODULES.html.sh (Unicode string functions): Add the new modules.
1433
1434         * modules/uniconv/u32-conv-to-enc: New file.
1435         * lib/uniconv/u32-conv-to-enc.c: New file.
1436         * modules/uniconv/u32-conv-to-enc-tests: New file.
1437         * tests/uniconv/test-u32-conv-to-enc.c: New file.
1438
1439         * modules/uniconv/u16-conv-to-enc: New file.
1440         * lib/uniconv/u16-conv-to-enc.c: New file.
1441         * lib/uniconv/u-conv-to-enc.h: New file.
1442         * modules/uniconv/u16-conv-to-enc-tests: New file.
1443         * tests/uniconv/test-u16-conv-to-enc.c: New file.
1444
1445         * modules/uniconv/u8-conv-to-enc: New file.
1446         * lib/uniconv/u8-conv-to-enc.c: New file.
1447         * modules/uniconv/u8-conv-to-enc-tests: New file.
1448         * tests/uniconv/test-u8-conv-to-enc.c: New file.
1449
1450         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
1451         u32_conv_to_encoding): New declarations.
1452
1453 2007-06-09  Bruno Haible  <bruno@clisp.org>
1454
1455         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
1456
1457 2007-06-09  Bruno Haible  <bruno@clisp.org>
1458
1459         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
1460         * modules/malloca: Renamed from modules/allocsa, updated.
1461         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
1462         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
1463         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
1464         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
1465         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
1466         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
1467         * modules/xmalloca: Renamed from modules/xallocsa, updated.
1468         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
1469         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
1470         * modules/c-strcasestr (Depends-on): Update.
1471         * lib/c-strcasestr.c: Update.
1472         * modules/c-strstr (Depends-on): Update.
1473         * lib/c-strstr.c: Update.
1474         * modules/canonicalize-lgpl (Depends-on): Update.
1475         * lib/canonicalize-lgpl.c: Update.
1476         * modules/clean-temp (Depends-on): Update.
1477         * lib/clean-temp.c: Update.
1478         * modules/csharpcomp (Depends-on): Update.
1479         * lib/csharpcomp.c: Update.
1480         * modules/csharpexec (Depends-on): Update.
1481         * lib/csharpexec.c: Update.
1482         * modules/javacomp (Depends-on): Update.
1483         * lib/javacomp.c: Update.
1484         * modules/javaexec (Depends-on): Update.
1485         * lib/javaexec.c: Update.
1486         * modules/mbscasestr (Depends-on): Update.
1487         * lib/mbscasestr.c: Update.
1488         * modules/mbsstr (Depends-on): Update.
1489         * lib/mbsstr.c: Update.
1490         * modules/setenv (Depends-on): Update.
1491         * lib/setenv.c: Update.
1492         * modules/strcasestr (Depends-on): Update.
1493         * lib/strcasestr.c: Update.
1494         * modules/striconveha (Depends-on): Update.
1495         * lib/striconveha.c: Update.
1496         * modules/relocatable-prog-wrapper (Files): Update.
1497         * lib/relocwrapper.c: Update.
1498         * build-aux/install-reloc: Update.
1499         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
1500
1501 2007-06-08  Bruno Haible  <bruno@clisp.org>
1502
1503         Port to uClibc.
1504         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
1505         * lib/fpurge.c (fpurge): Likewise.
1506         * lib/freading.c (freading): Likewise.
1507         * lib/fseeko.c (rpl_fseeko): Likewise.
1508         * lib/fseterr.c (fseterr): Likewise.
1509         * lib/fwriting.c (fwriting): Likewise.
1510         * tests/test-fflush.c (main): Avoid a failure on uClibc.
1511
1512 2007-06-08  Bruno Haible  <bruno@clisp.org>
1513
1514         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
1515         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
1516         * modules/gettext (Files): Add m4/intlmacosx.m4.
1517
1518 2007-06-07  Bruno Haible  <bruno@clisp.org>
1519
1520         * modules/localename-tests: New file.
1521         * tests/test-localename.c: New file.
1522
1523         New module 'localename'.
1524         * lib/localename.h: New file.
1525         * lib/localename.c: New file, from GNU gettext.
1526         * m4/localename.m4: New file.
1527         * modules/localename: New file.
1528
1529 2007-06-07  Bruno Haible  <bruno@clisp.org>
1530
1531         Work around the lack of <wchar.h> on some builds of uClibc.
1532         * doc/headers/wchar.texi: Update.
1533         * lib/wchar_.h: Include <wchar.h> only if it exists.
1534         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
1535         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
1536         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
1537         doesn't exist.
1538         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
1539         * modules/mbfile (Depends-on): Add wchar.
1540         * modules/mbiter (Depends-on): Likewise.
1541         * modules/mbuiter (Depends-on): Likewise.
1542         Reported by Simon Josefsson.
1543
1544 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
1545
1546         Work around problem reported by Steven M. Schweda in
1547         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
1548         Tru64 5.1B with the Compaq compiler environment installed declares
1549         an 'isblank' function but does not define it in the C library.
1550         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
1551         * lib/regex_internal.h (isblank): Likewise.
1552         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
1553         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1554
1555 2007-06-05  Bruno Haible  <bruno@clisp.org>
1556
1557         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
1558         ia64.
1559         * modules/printf-safe: New file.
1560         * modules/fprintf-posix (Depends-on): Add printf-safe.
1561         * modules/printf-posix (Depends-on): Likewise.
1562         * modules/snprintf-posix (Depends-on): Likewise.
1563         * modules/sprintf-posix (Depends-on): Likewise.
1564         * modules/vasnprintf-posix (Depends-on): Likewise.
1565         * modules/vasprintf-posix (Depends-on): Likewise.
1566         * modules/vfprintf-posix (Depends-on): Likewise.
1567         * modules/vprintf-posix (Depends-on): Likewise.
1568         * modules/vsnprintf-posix (Depends-on): Likewise.
1569         * modules/vsprintf-posix (Depends-on): Likewise.
1570         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1571         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
1572         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
1573         "no" on i386, x86_64, ia64.
1574         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
1575         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1576         on i386, x86_64, ia64.
1577         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
1578         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1579         on i386, x86_64, ia64.
1580         * tests/test-vasnprintf-posix.c: Include float.h.
1581         (LDBL80_WORDS): New macro.
1582         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1583         on i386, x86_64, ia64.
1584         * tests/test-vasprintf-posix.c: Include float.h.
1585         (LDBL80_WORDS): New macro.
1586         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1587         on i386, x86_64, ia64.
1588         * tests/test-snprintf-posix.c: Include float.h.
1589         * tests/test-sprintf-posix.c: Likewise.
1590         * tests/test-vsnprintf-posix.c: Likewise.
1591         * tests/test-vsprintf-posix.c: Likewise.
1592
1593 2007-06-05  Bruno Haible  <bruno@clisp.org>
1594
1595         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
1596         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
1597         non-IEEE numbers on i386, x86_64, ia64.
1598         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
1599         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
1600         * tests/test-isnanl.h: Include float.h.
1601         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
1602
1603 2007-06-05  Bruno Haible  <bruno@clisp.org>
1604
1605         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
1606         also the %a / %A. Handle the %a / %A code before this extra handling.
1607
1608 2007-06-05  Bruno Haible  <bruno@clisp.org>
1609
1610         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
1611         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
1612
1613 2007-06-05  Bruno Haible  <bruno@clisp.org>
1614
1615         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
1616         typo in variable name.
1617
1618 2007-06-05  Eric Blake  <ebb9@byu.net>
1619
1620         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
1621         Reported by Simon Josefsson.
1622
1623 2007-06-04  Bruno Haible  <bruno@clisp.org>
1624
1625         Avoid test failures on some PowerPC platforms.
1626         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
1627         Define differently for PowerPC.
1628         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
1629         Reported by Gary V. Vaughan <gary@gnu.org>.
1630
1631 2007-06-02  Bruno Haible  <bruno@clisp.org>
1632
1633         Fix test-stdint failure on FreeBSD/ia64.
1634         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
1635         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
1636         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
1637         * doc/headers/stdint.texi: Update.
1638
1639 2007-06-01  Bruno Haible  <bruno@clisp.org>
1640
1641         * tests/test-binary-io.c (main): Pass a third argument to open().
1642         Reported by Gary V. Vaughan <gary@gnu.org>.
1643
1644 2007-06-01  Bruno Haible  <bruno@clisp.org>
1645
1646         * doc/functions/frexpl.texi: Update for mingw.
1647
1648 2007-06-01  Bruno Haible  <bruno@clisp.org>
1649
1650         * tests/test-lseek.c (main): Disable test of errno for invalid third
1651         argument.
1652         * doc/functions/lseek.texi: Update.
1653         Reported by Gary V. Vaughan <gary@gnu.org>.
1654
1655 2007-05-28  Bruno Haible  <bruno@clisp.org>
1656
1657         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
1658
1659 2007-05-31  Eric Blake  <ebb9@byu.net>
1660
1661         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
1662         cross compiling.
1663
1664 2007-05-30  Eric Blake  <ebb9@byu.net>
1665         and Bruno Haible  <bruno@clisp.org>
1666
1667         Work around mingw test failures exposed by m4-1.4.9b.
1668         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
1669         * tests/test-unistd.c: Disable uid_t and git_t tests for the
1670         moment.
1671
1672 2007-05-30  Bruno Haible  <bruno@clisp.org>
1673
1674         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
1675         assuming that they are closed. Needed on HP-UX 11.
1676
1677 2007-05-29  Bruno Haible  <bruno@clisp.org>
1678
1679         Fix a problem with #include_next.
1680         * lib/dirent_.h: Split the double-inclusion guard.
1681         * lib/fcntl_.h: Likewise.
1682         * lib/float_.h: Likewise.
1683         * lib/iconv_.h: Likewise.
1684         * lib/inttypes_.h: Likewise.
1685         * lib/locale_.h: Likewise.
1686         * lib/math_.h: Likewise.
1687         * lib/netinet_in_.h: Likewise.
1688         * lib/search_.h: Likewise.
1689         * lib/signal_.h: Likewise.
1690         * lib/stdint_.h: Likewise.
1691         * lib/stdio_.h: Likewise.
1692         * lib/stdlib_.h: Likewise.
1693         * lib/string_.h: Likewise.
1694         * lib/sys_select_.h: Likewise.
1695         * lib/sys_socket_.h: Likewise.
1696         * lib/sys_stat_.h: Likewise.
1697         * lib/sys_time_.h: Likewise.
1698         * lib/sysexits_.h: Likewise.
1699         * lib/time_.h: Likewise.
1700         * lib/unistd_.h: Likewise.
1701         * lib/wchar_.h: Likewise.
1702         * lib/wctype_.h: Likewise.
1703
1704 2007-05-29  Bruno Haible  <bruno@clisp.org>
1705
1706         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
1707         for the moment.
1708
1709 2007-05-29  Bruno Haible  <bruno@clisp.org>
1710
1711         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
1712         invocation.
1713         Reported by Eric Blake.
1714
1715 2007-05-29  Bruno Haible  <bruno@clisp.org>
1716
1717         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
1718         compiling case.
1719
1720 2007-05-29  Eric Blake  <ebb9@byu.net>
1721             Bruno Haible  <bruno@clisp.org>
1722
1723         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
1724         cross compiles.
1725
1726 2007-05-28  Eric Blake  <ebb9@byu.net>
1727
1728         * modules/closein-tests (test_closein_LDADD): Support test on
1729         cygwin with libtool.
1730
1731 2007-05-28  Bruno Haible  <bruno@clisp.org>
1732
1733         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
1734         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
1735         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
1736         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
1737         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
1738         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
1739         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
1740         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
1741         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
1742
1743 2007-05-28  Eric Blake  <ebb9@byu.net>
1744
1745         Unconditionally include <config.h> in unit tests.
1746         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
1747         * tests/test-allocsa.c, tests/test-arcfour.c,
1748         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
1749         tests/test-array_list.c, tests/test-array_oset.c,
1750         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
1751         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
1752         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
1753         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
1754         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
1755         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
1756         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
1757         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
1758         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
1759         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
1760         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
1761         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
1762         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
1763         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
1764         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
1765         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
1766         test-md5.c, test-memmem.c, test-printf-posix.c,
1767         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
1768         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
1769         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
1770         test-strcasestr.c, test-striconv.c, test-striconveh.c,
1771         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
1772         test-vasnprintf-posix2.c, test-vasnprintf.c,
1773         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
1774         test-vfprintf-posix.c, test-vprintf-posix.c,
1775         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
1776         test-xvasprintf.c: Likewise.
1777
1778 2007-05-28  Bruno Haible  <bruno@clisp.org>
1779
1780         * gnulib-tool (func_import): Remember the --with-tests command-line
1781         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
1782         Reported by Eric Blake.
1783
1784 2007-05-28  Bruno Haible  <bruno@clisp.org>
1785
1786         * modules/ftell-tests: New file.
1787         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
1788         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
1789
1790         * lib/ftell.c: New file.
1791         * modules/ftell: New file.
1792         * m4/ftell.m4: New file.
1793         * doc/functions/ftell.texi: Update.
1794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
1795         REPLACE_FTELL.
1796         * lib/stdio_.h (rpl_ftell): New declaration.
1797         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
1798         REPLACE_FTELL.
1799
1800 2007-05-28  Eric Blake  <ebb9@byu.net>
1801
1802         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
1803
1804 2007-05-28  Bruno Haible  <bruno@clisp.org>
1805
1806         * modules/fseek-tests: New file.
1807         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
1808         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
1809
1810         * lib/fseek.c: New file.
1811         * modules/fseek: New file.
1812         * m4/fseek.m4: New file.
1813         * doc/functions/fseek.texi: Update.
1814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
1815         REPLACE_FSEEK.
1816         * lib/stdio_.h (rpl_fseek): New declaration.
1817         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
1818         REPLACE_FSEEK.
1819
1820 2007-05-28  Bruno Haible  <bruno@clisp.org>
1821
1822         * lib/stdio_.h (fflush): More comments.
1823
1824 2007-05-28  Bruno Haible  <bruno@clisp.org>
1825
1826         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
1827         runtime test.
1828
1829 2007-05-28  Eric Blake  <ebb9@byu.net>
1830
1831         Improve lseek module.
1832         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
1833         * lib/unistd_.h (lseek): Scale back link warning message.
1834         * tests/test-lseek.c: Beef up test.
1835         * tests/test-lseek.sh: Exercise more facets of lseek.
1836         Reported by Bruno Haible.
1837
1838 2007-05-28  Bruno Haible  <bruno@clisp.org>
1839
1840         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
1841         to define.
1842
1843 2007-05-27  Bruno Haible  <bruno@clisp.org>
1844
1845         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
1846
1847 2007-05-27  Bruno Haible  <bruno@clisp.org>
1848
1849         * modules/openmp: New file.
1850         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
1851         Noah Misch.
1852
1853 2007-05-26  Bruno Haible  <bruno@clisp.org>
1854
1855         * modules/chdir-long (Depends-on): Add fchdir.
1856         * modules/chdir-safer (Depends-on): Likewise.
1857         * modules/fts (Depends-on): Likewise.
1858         * modules/fts-lgpl (Depends-on): Likewise.
1859         * modules/openat (Depends-on): Likewise.
1860         * modules/savewd (Depends-on): Likewise.
1861
1862 2007-05-24  Eric Blake  <ebb9@byu.net>
1863
1864         Fix lseek on mingw.
1865         * modules/lseek: New module.
1866         * m4/lseek.m4: New file.
1867         * lib/lseek.c: New file.
1868         * modules/lseek-tests: New file.
1869         * tests/test-lseek.c: New file.
1870         * tests/test-lseek.sh: New file.
1871         * MODULES.html.sh: Document lseek module.
1872         * modules/fflush (Depends-on): Add lseek, fseeko.
1873         * modules/fseeko (Depends-on): Likewise.
1874         * modules/ftello (Depends-on): Likewise.
1875         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
1876         broken.
1877         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
1878         broken.
1879         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
1880         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
1881         * lib/ftello.c (rpl_ftello): Likewise.
1882         * tests/test-fseeko.c (main): Test this.
1883         * tests/test-fseeko.sh: Likewise.
1884         * tests/test-ftello.c (main): Likewise.
1885         * tests/test-ftello.sh: Likewise.
1886         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
1887         implies replacing fseek.
1888         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
1889         HAVE_FTELLO.
1890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
1891         * modules/unistd (Makefile.am): Likewise.
1892         * lib/unistd_.h (lseek): Declare a replacement.
1893         * doc/functions/lseek.texi (lseek): Document this fix.
1894         * doc/functions/fseek.texi (fseek): Likewise.
1895         * doc/functions/ftell.texi (ftell): Likewise.
1896
1897 2007-05-24  Bruno Haible  <bruno@clisp.org>
1898
1899         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
1900         in the printed representation of a NaN.
1901         * tests/test-vasprintf-posix.c (test_function): Likewise.
1902         * tests/test-snprintf-posix.h (test_function): Likewise.
1903         * tests/test-sprintf-posix.h (test_function): Likewise.
1904         Reported by Eric Blake.
1905
1906 2007-05-23  Eric Blake  <ebb9@byu.net>
1907
1908         Fix fseeko/ftello on cygwin 1.5.24.
1909         * doc/functions/fseeko.texi (fseeko): Document the fix.
1910         * doc/functions/ftello.texi (ftello): Document the fix.
1911         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
1912         * doc/functions/stdout.text (stdout): New file.
1913         * doc/functions/stderr.text (stderr): New file.
1914         * doc/gnulib.texi (Function Substitutes): Use new files.
1915         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
1916         prior to 1.7.0.
1917         * tests/test-ftello.c (main): Likewise for ftello.
1918         * tests/test-fseeko.sh: New file.
1919         * tests/test-ftello.sh: New file.
1920         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
1921         with seekable stdin.
1922         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
1923         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
1924         (gl_REPLACE_FSEEKO): New macro.
1925         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
1926         * modules/fseeko (Files): Distribute fseeko.c.
1927         * modules/ftello (Files): Distribute ftello.c.
1928         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
1929         mode.
1930         * lib/ftello.c (rpl_ftello): New file.
1931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
1932         fseeko, ftello.
1933         (gl_STDIN_LARGE_OFFSET): New macro.
1934         * modules/stdio (Makefile.am): Perform the replacement.
1935         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
1936
1937 2007-05-23  Bruno Haible  <bruno@clisp.org>
1938
1939         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
1940         GNULIB_POSIXCHECK is defined.
1941
1942 2007-05-21  Bruno Haible  <bruno@clisp.org>
1943
1944         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
1945         Check also the output for NaN arguments. When cross-compiling, guess
1946         no on IRIX.
1947         * lib/vasnprintf.c: Update comments.
1948         * tests/test-vasnprintf-posix.c (strisnan): New function.
1949         (test_function): Use it.
1950         * tests/test-vasprintf-posix.c (strisnan): New function.
1951         (test_function): Use it.
1952         * tests/test-snprintf-posix.h (strisnan): New function.
1953         (test_function): Use it.
1954         * tests/test-sprintf-posix.h (strisnan): New function.
1955         (test_function): Use it.
1956         Reported by Eric Blake.
1957
1958 2007-05-20  Bruno Haible  <bruno@clisp.org>
1959
1960         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
1961         numbers that fails on BeOS.
1962         * doc/functions/frexpl.texi: Update.
1963
1964 2007-05-20  Jim Meyering  <jim@meyering.net>
1965
1966         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
1967         forced upon us by glibc-2.6.
1968
1969 2007-05-20  Bruno Haible  <bruno@clisp.org>
1970
1971         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
1972         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
1973         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
1974         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
1975         NEED_PRINTF_INFINITE.
1976         (is_infinitel): New function.
1977         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
1978         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
1979         gl_PREREQ_VASNPRINTF_INFINITE.
1980         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
1981         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1982         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
1983         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
1984         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
1985         gl_PREREQ_VASNPRINTF_INFINITE.
1986         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1987         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1988         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1989         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1990         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1991         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1992         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1993         * doc/functions/fprintf.texi: Update.
1994         * doc/functions/printf.texi: Update.
1995         * doc/functions/snprintf.texi: Update.
1996         * doc/functions/sprintf.texi: Update.
1997         * doc/functions/vfprintf.texi: Update.
1998         * doc/functions/vprintf.texi: Update.
1999         * doc/functions/vsnprintf.texi: Update.
2000         * doc/functions/vsprintf.texi: Update.
2001
2002 2007-05-20  Bruno Haible  <bruno@clisp.org>
2003
2004         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
2005         was not found in libc.
2006         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
2007
2008 2007-05-20  Bruno Haible  <bruno@clisp.org>
2009
2010         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
2011         printed as "-nan" instead of "nan".
2012         * tests/test-vasprintf-posix.c (test_function): Likewise.
2013         * tests/test-snprintf-posix.h (test_function): Likewise.
2014         * tests/test-sprintf-posix.h (test_function): Likewise.
2015         Needed for HP-UX 11.
2016
2017 2007-05-20  Jim Meyering  <jim@meyering.net>
2018
2019         Fix buggy test for the fchownat-deref bug.
2020         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
2021         symlink required for the run-test.  Without it, this test would
2022         always declare that fchownat doesn't work, and client code would
2023         unnecessarily use the replacement function with fixed libc.
2024         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
2025         Reported by Greg Schafer.
2026
2027 2007-05-19  Bruno Haible  <bruno@clisp.org>
2028
2029         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
2030         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
2031         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
2032         Needed for IRIX 6.5 and Solaris 2.5.1.
2033
2034 2007-05-19  Bruno Haible  <bruno@clisp.org>
2035
2036         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
2037         (test_function): Skip tests involving -0.0 on platforms where
2038         -0.0 = 0.0.
2039         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
2040         (test_function): Skip tests involving -0.0 on platforms where
2041         -0.0 = 0.0.
2042         * tests/test-snprintf-posix.h (have_minus_zero): New function.
2043         (test_function): Skip tests involving -0.0 on platforms where
2044         -0.0 = 0.0.
2045         * tests/test-sprintf-posix.h (have_minus_zero): New function.
2046         (test_function): Skip tests involving -0.0 on platforms where
2047         -0.0 = 0.0.
2048         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
2049         tests.
2050         * tests/test-printf-posix.h (test_function): Likewise.
2051         * tests/test-printf-posix.output: Remove all -0.0 related results.
2052         Needed for IRIX 6.5.
2053
2054 2007-05-19  Bruno Haible  <bruno@clisp.org>
2055
2056         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
2057         printed as "nan0x7fffffff" instead of "nan".
2058         * tests/test-vasprintf-posix.c (test_function): Likewise.
2059         * tests/test-snprintf-posix.h (test_function): Likewise.
2060         * tests/test-sprintf-posix.h (test_function): Likewise.
2061         * tests/test-fprintf-posix.h (NaN): Remove macro.
2062         (test_function): Remove all NaN related tests.
2063         * tests/test-printf-posix.h (NaN): Remove macro.
2064         (test_function): Remove all NaN related tests.
2065         * tests/test-printf-posix.output: Remove all NaN related results.
2066         Needed for IRIX 6.5.
2067
2068 2007-05-19  Bruno Haible  <bruno@clisp.org>
2069
2070         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
2071         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
2072
2073 2007-05-19  Bruno Haible  <bruno@clisp.org>
2074
2075         * lib/float_.h: New file.
2076         * m4/float_h.m4: New file.
2077         * modules/float: New file.
2078         * modules/isnanl (Dependencies): Add float.
2079         * modules/isnanl-nolibm (Dependencies): Likewise.
2080         * modules/mathl (Dependencies): Likewise.
2081         * modules/printf-frexpl (Dependencies): Likewise.
2082         * modules/signbit (Dependencies): Likewise.
2083         * modules/vasnprintf (Dependencies): Likewise.
2084         * doc/headers/float.texi: Update.
2085
2086 2007-05-19  Jim Meyering  <jim@meyering.net>
2087
2088         * lib/utimens.c (gl_futimens): Rename from futimens,
2089         now that glibc-2.6 declares futimens.
2090         * lib/utimens.h: Likewise.
2091
2092 2007-05-19  Bruno Haible  <bruno@clisp.org>
2093
2094         Avoid test failures on mingw.
2095         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
2096         * tests/test-printf-posix.sh: Likewise.
2097         * tests/test-vfprintf-posix.sh: Likewise.
2098         * tests/test-vprintf-posix.sh: Likewise.
2099
2100 2007-05-19  Bruno Haible  <bruno@clisp.org>
2101
2102         Fix *printf result for NaN, Inf, -0.0 on mingw.
2103         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
2104         * lib/vasnprintf.c: Include math.h and isnan.h.
2105         (is_infinite_or_zero): New function.
2106         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
2107         values in the %f, %F, %e, %E, %g, %G directives.
2108         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
2109         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2110         gl_PRINTF_INFINITE and test its result. Invoke
2111         gl_PREREQ_VASNPRINTF_INFINITE.
2112         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
2113         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2114         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2115         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2116         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2117         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2118         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2119         * doc/functions/fprintf.texi: Update.
2120         * doc/functions/printf.texi: Update.
2121         * doc/functions/snprintf.texi: Update.
2122         * doc/functions/sprintf.texi: Update.
2123         * doc/functions/vfprintf.texi: Update.
2124         * doc/functions/vprintf.texi: Update.
2125         * doc/functions/vsnprintf.texi: Update.
2126         * doc/functions/vsprintf.texi: Update.
2127
2128 2007-05-19  Bruno Haible  <bruno@clisp.org>
2129
2130         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
2131         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
2132         Instead of multiplying with 10^k, set extra_zeroes to k.
2133         (scale10_round_long_double): Remove function.
2134
2135 2007-05-18  Bruno Haible  <bruno@clisp.org>
2136
2137         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
2138         introduced on 2007-05-06.
2139
2140 2007-05-18  Bruno Haible  <bruno@clisp.org>
2141
2142         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
2143         %g directives.
2144         * tests/test-vasprintf-posix.c (test_function): Likewise.
2145         * tests/test-snprintf-posix.h (test_function): Likewise.
2146         * tests/test-sprintf-posix.h (test_function): Likewise.
2147
2148 2007-05-18  Bruno Haible  <bruno@clisp.org>
2149
2150         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
2151         (strmatch): New function.
2152         (test_function): Test the %f directive on numbers of various exponents.
2153         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
2154         (strmatch): New function.
2155         (test_function): Test the %f directive on numbers of various exponents.
2156         * tests/test-snprintf-posix.h (strmatch): New function.
2157         (test_function): Test the %f directive on numbers of various exponents.
2158         * tests/test-sprintf-posix.h (strmatch): New function.
2159         (test_function): Test the %f directive on numbers of various exponents.
2160         * tests/test-snprintf-posix.c (SIZEOF): New macro.
2161         * tests/test-sprintf-posix.c (SIZEOF): New macro.
2162         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
2163         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
2164
2165 2007-05-18  Bruno Haible  <bruno@clisp.org>
2166
2167         Add support for 'long double' number output.
2168         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
2169         * lib/vasnprintf.c: Include math.h and float+.h.
2170         (mp_limb_t): New type.
2171         (GMP_LIMB_BITS): New macro.
2172         (mp_twolimb_t): New type.
2173         (GMP_TWOLIMB_BITS): New macro.
2174         (mpn_t): New type.
2175         (multiply, divide, convert_to_decimal, decode_long_double,
2176         scale10_round_long_double, scale10_round_decimal_long_double,
2177         floorlog10l): New functions.
2178         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
2179         for the %f, %F, %e, %E, %g, %G directives.
2180         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
2181         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2182         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
2183         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
2184         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
2185         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2186         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2187         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2188         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2189         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2190         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2191         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
2192         * modules/snprintf-posix (Depends-on): Likewise.
2193         * modules/sprintf-posix (Depends-on): Likewise.
2194         * modules/vasnprintf-posix (Depends-on): Likewise.
2195         * modules/vasprintf-posix (Depends-on): Likewise.
2196         * modules/vfprintf-posix (Depends-on): Likewise.
2197         * modules/vsnprintf-posix (Depends-on): Likewise.
2198         * modules/vsprintf-posix (Depends-on): Likewise.
2199         * modules/vasnprintf (Files): Add lib/float+.h.
2200         * doc/functions/fprintf.texi: Update.
2201         * doc/functions/printf.texi: Update.
2202         * doc/functions/snprintf.texi: Update.
2203         * doc/functions/sprintf.texi: Update.
2204         * doc/functions/vfprintf.texi: Update.
2205         * doc/functions/vprintf.texi: Update.
2206         * doc/functions/vsnprintf.texi: Update.
2207         * doc/functions/vsprintf.texi: Update.
2208
2209 2007-05-18  Bruno Haible  <bruno@clisp.org>
2210
2211         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
2212
2213 2007-05-18  Bruno Haible  <bruno@clisp.org>
2214
2215         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
2216         for printing 64-bit integers. Needed for mingw.
2217
2218 2007-05-18  Bruno Haible  <bruno@clisp.org>
2219
2220         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
2221         gl_FUNC_FREXPL_WORKS.
2222         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
2223
2224 2007-05-18  Bruno Haible  <bruno@clisp.org>
2225
2226         * modules/frexpl-nolibm-tests: New file.
2227
2228         * modules/frexpl-nolibm: New file.
2229         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
2230
2231 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2232
2233         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
2234         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
2235         GCC 4.2, which otherwise issues a lot of warnings.
2236         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
2237         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
2238         Likewise.
2239         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
2240         * modules/iconv_open (iconv.h): Likewise.
2241         * modules/locale (locale.h): Likewise.
2242         * modules/netinet_in (netinet/in.h): Likewise.
2243         * modules/sys_select (sys_select.h): Likewise.
2244         * modules/sys_socket (sys/socket.h): Likewise.
2245         * modules/sys_stat (sys/stat.h): Likewise.
2246         * modules/sysexits (sysexits.h): Likewise.
2247         * modules/unistd (unistd.h): Likewise.
2248
2249 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2250
2251         * modules/closein-tests (Makefile.am): Distribute
2252         `test-closein.sh'.
2253
2254 2007-05-17  Bruno Haible  <bruno@clisp.org>
2255
2256         * tests/test-printf-posix.output: Renamed from
2257         tests/test-fprintf-posix.out.
2258         * modules/fprintf-posix-tests: Update.
2259         * modules/printf-posix-tests: Update.
2260         * modules/vfprintf-posix-tests: Update.
2261         * modules/vprintf-posix-tests: Update.
2262         * tests/test-fprintf-posix.sh: Update.
2263         * tests/test-printf-posix.sh: Update.
2264         * tests/test-vfprintf-posix.sh: Update.
2265         * tests/test-vprintf-posix.sh: Update.
2266         Reported by Ralf Wildenhues.
2267
2268 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2269
2270         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
2271         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
2272         GCC 4.2, which otherwise issues a lot of warnings.
2273         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
2274         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
2275         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
2276         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
2277         it should no longer be needed.
2278         * lib/string_.h: Likewise.
2279         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
2280         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
2281         * modules/inttypes (inttypes.h): Likewise.
2282         * modules/math (math.h): Likewise.
2283         * modules/search (search.h): Likewise.
2284         * modules/signal (signal.h): Likewise.
2285         * modules/stdint (stdint.h): Likewise.
2286         * modules/stdio (stdio.h): Likewise.
2287         * modules/stdlib (stdlib.h): Likewise.
2288         * modules/string (string.h): Likewise.
2289         * modules/sys_time (sys/time.h): Likewise.
2290         * modules/time (time.h): Likewise.
2291         * modules/wchar (wchar.h): Likewise.
2292         * modules/wctype (wtype.h): Likewise.
2293
2294 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
2295
2296         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
2297
2298 2007-05-13  Bruno Haible  <bruno@clisp.org>
2299
2300         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
2301         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
2302         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
2303         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
2304         (gl_PREREQ_STRTOK_R): Don't require it here.
2305
2306 2007-05-13  Bruno Haible  <bruno@clisp.org>
2307
2308         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
2309         when used in C++ mode.
2310
2311 2007-05-12  Bruno Haible  <bruno@clisp.org>
2312
2313         * lib/linebuffer.h: Tweak doc.
2314         * lib/linebuffer.c: Likewise.
2315
2316 2007-05-12  James Youngman  <jay@gnu.org>
2317
2318         * lib/linebuffer.c (readlinebuffer_delim): New function,
2319         like readlinebuffer, but use a caller-specified delimiter.
2320         (readlinebuffer): Just call readlinebuffer_delim with '\n'
2321         as the delimiter.
2322         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
2323
2324 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2325
2326         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
2327         * modules/openat (Files): Remove openat-die.c.
2328         (Depends-on): Add openat-die.
2329         * modules/openat-die: New module.
2330
2331 2007-05-06  Bruno Haible  <bruno@clisp.org>
2332
2333         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
2334         Update with info about Cygwin.
2335         * doc/functions/fprintf.texi: Update.
2336         * doc/functions/printf.texi: Update.
2337         * doc/functions/snprintf.texi: Update.
2338         * doc/functions/sprintf.texi: Update.
2339         * doc/functions/vfprintf.texi: Update.
2340         * doc/functions/vprintf.texi: Update.
2341         * doc/functions/vsnprintf.texi: Update.
2342         * doc/functions/vsprintf.texi: Update.
2343         Reported by Eric Blake.
2344
2345 2007-05-06  Bruno Haible  <bruno@clisp.org>
2346
2347         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
2348         padding ourselves for the floating-point directives.
2349         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
2350         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
2351         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
2352         gl_PRINTF_FLAG_ZERO and test its result. Invoke
2353         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
2354         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2355         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
2356         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2357         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2358         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2359         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2360         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2361         * tests/test-snprintf-posix.h (test_function): Also check the width
2362         and some flags in the %f directive.
2363         * tests/test-sprintf-posix.h (test_function): Likewise.
2364         * tests/test-vasnprintf-posix.c (test_function): Likewise.
2365         * tests/test-vasprintf-posix.c (test_function): Likewise.
2366         * doc/functions/fprintf.texi: Update.
2367         * doc/functions/printf.texi: Update.
2368         * doc/functions/snprintf.texi: Update.
2369         * doc/functions/sprintf.texi: Update.
2370         * doc/functions/vfprintf.texi: Update.
2371         * doc/functions/vprintf.texi: Update.
2372         * doc/functions/vsnprintf.texi: Update.
2373         * doc/functions/vsprintf.texi: Update.
2374
2375 2007-05-06  Bruno Haible  <bruno@clisp.org>
2376
2377         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
2378         pass the ' flag character to sprintf or snprintf.
2379         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
2380         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
2381         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
2382         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
2383         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
2384         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2385         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
2386         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2387         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2388         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2389         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2390         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2391         * tests/test-snprintf-posix.h (test_function): Also check the grouping
2392         flag.
2393         * tests/test-sprintf-posix.h (test_function): Likewise.
2394         * tests/test-vasnprintf-posix.c (test_function): Likewise.
2395         * tests/test-vasprintf-posix.c (test_function): Likewise.
2396         * doc/functions/fprintf.texi: Update.
2397         * doc/functions/printf.texi: Update.
2398         * doc/functions/snprintf.texi: Update.
2399         * doc/functions/sprintf.texi: Update.
2400         * doc/functions/vfprintf.texi: Update.
2401         * doc/functions/vprintf.texi: Update.
2402         * doc/functions/vsnprintf.texi: Update.
2403         * doc/functions/vsprintf.texi: Update.
2404
2405 2007-05-01  Bruno Haible  <bruno@clisp.org>
2406
2407         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
2408
2409 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
2410
2411         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
2412         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
2413
2414 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
2415
2416         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
2417         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
2418         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
2419
2420 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
2421
2422         * lib/argp-help.c (struct hol_entry): New member `ord'.
2423         (HOL_ENTRY_PTRCMP): Use ord for comparison
2424         (hol_sort): Initialize ord.
2425
2426 2007-05-01  Bruno Haible  <bruno@clisp.org>
2427
2428         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
2429         Reported by Eric Blake.
2430         * doc/gnulib.texi (Function Substitutes): Update.
2431
2432 2007-05-01  Bruno Haible  <bruno@clisp.org>
2433
2434         * doc/functions.texi: Remove file, now redundant through
2435         doc/functions/*.texi.
2436
2437 2007-05-01  Bruno Haible  <bruno@clisp.org>
2438
2439         * modules/argp (Depends-on): Add sleep.
2440
2441 2007-05-01  Bruno Haible  <bruno@clisp.org>
2442
2443         * modules/sleep-tests: New file.
2444         * tests/test-sleep.c: New file.
2445
2446         * modules/sleep: New file.
2447         * lib/sleep.c: New file.
2448         * m4/sleep.m4: New file.
2449         * lib/unistd_.h (sleep): New declaration.
2450         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
2451         HAVE_SLEEP.
2452         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
2453         * doc/functions/sleep.texi: Document the sleep module.
2454
2455 2007-05-01  Bruno Haible  <bruno@clisp.org>
2456
2457         * lib/sigprocmask.h: Remove file.
2458         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
2459         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
2460         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
2461         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
2462         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
2463         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
2464         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
2465         HAVE_SIGSET_T as a shell variable.
2466         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
2467         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
2468         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
2469         (Depends-on): Add signal. Remove verify.
2470         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
2471         (Include): Mention <signal.h> instead of sigprocmask.h.
2472         * NEWS: Mention the change.
2473         * lib/fatal-signal.c: Don't include sigprocmask.h.
2474
2475 2007-05-01  Bruno Haible  <bruno@clisp.org>
2476
2477         * modules/signal: New file.
2478         * lib/signal_.h: New file.
2479         * m4/signal_h.m4: New file.
2480
2481 2007-05-01  Bruno Haible  <bruno@clisp.org>
2482
2483         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
2484         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
2485         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
2486         HAVE_WCTYPE_CTMP_BUG into wctype.h.
2487
2488 2007-05-01  Bruno Haible  <bruno@clisp.org>
2489
2490         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
2491         configure time.
2492         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
2493         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
2494         * modules/sys_stat (Makefile.am): Substitute their values into
2495         sys/stat.h.
2496
2497 2007-05-01  Bruno Haible  <bruno@clisp.org>
2498
2499         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
2500         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
2501         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
2502
2503 2007-05-01  Bruno Haible  <bruno@clisp.org>
2504
2505         * doc/header/assert.texi: Undo last change: don't mention the gnulib
2506         'assert' module here.
2507
2508 2007-05-01  Bruno Haible  <bruno@clisp.org>
2509
2510         * doc/functions/*.texi: New files.
2511         * doc/functions/google-ranking.txt: New file.
2512         * doc/gnulib.texi (Function Substitutes): New chapter.
2513         (ctime, inet_ntoa): Remove sections.
2514         * doc/ctime.texi: Remove file.
2515         * doc/inet_ntoa.texi: Remove file.
2516         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
2517         dependencies.
2518         (%.info): New rule, specifying a --reference-limit.
2519
2520 2007-05-01  Bruno Haible  <bruno@clisp.org>
2521
2522         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
2523
2524 2007-05-01  Bruno Haible  <bruno@clisp.org>
2525
2526         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
2527         the portability of 'mkdir' to mingw systems.
2528
2529 2007-05-01  Bruno Haible  <bruno@clisp.org>
2530
2531         * doc/headers/google-ranking.txt: New file.
2532
2533 2007-04-30  Eric Blake  <ebb9@byu.net>
2534
2535         Prefer fseeko to fseek.
2536         * modules/getpass (Depends-on): Add fseeko.
2537         * lib/getpass.c (getpass): Use fseeko, not fseek.
2538
2539 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
2540
2541         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
2542         assumes the sorting is stable, while most qsort implementations
2543         are not.  Use argument addresses to ensure they never compare as
2544         equal.
2545
2546         * tests/test-argp-2.sh (usage-indent test): Fix output
2547         (func_compare): Restore diff options
2548         * tests/test-argp.c: Restore #include "progname.h"
2549
2550 2007-04-29  Bruno Haible  <bruno@clisp.org>
2551
2552         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
2553         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
2554         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
2555         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2556         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
2557         (configure.ac): Define CHECK_SNPRINTF_POSIX.
2558         (TESTS, check_PROGRAMS): Add test-snprintf.
2559         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
2560         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
2561         (TESTS, check_PROGRAMS): Add test-vsnprintf.
2562         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
2563         assertions that fail on HP-UX, OSF/1, or IRIX.
2564         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
2565
2566 2007-04-29  Bruno Haible  <bruno@clisp.org>
2567
2568         * MODULES.html.sh (posix_functions): Remove 'contents'.
2569
2570 2007-04-29  Karl Berry  <karl@gnu.org>
2571
2572         * config/srclist.txt (gendocs_template_min): new entry.
2573
2574 2007-04-29  Bruno Haible  <bruno@clisp.org>
2575
2576         Work around fpurge bug on BSD systems.
2577         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
2578         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
2579         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
2580         fpurge to rpl_fpurge if the system already has this function.
2581         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
2582         the case where the system already has this function. Correct invariants
2583         on BSD systems.
2584         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
2585         BSD systems.
2586
2587 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
2588
2589         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
2590         proposed by Sven Verdoolaege.
2591
2592         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
2593         options.
2594         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
2595         (usage and help tests): Update
2596
2597 2007-04-29  Bruno Haible  <bruno@clisp.org>
2598
2599         * tests/test-fflush.c (main): Use a file of size 17, not 10.
2600         Print more information in case of failure. Disable a test on BeOS.
2601
2602 2007-04-29  Bruno Haible  <bruno@clisp.org>
2603
2604         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
2605         This helps debugging on systems on which no gdb is available.
2606
2607 2007-04-29  Bruno Haible  <bruno@clisp.org>
2608
2609         * lib/freading.h: Improve comments.
2610         * lib/fwriting.h: Likewise.
2611         * tests/test-freading.c (main): Don't check freading immediately after
2612         repositioning. Needed for glibc.
2613
2614 2007-04-29  Bruno Haible  <bruno@clisp.org>
2615
2616         * lib/freading.c (freading): Trivial simplification.
2617
2618 2007-04-28  Bruno Haible  <bruno@clisp.org>
2619
2620         * tests/test-fwriting.c (main): Also test the interaction between
2621         fflush and fwriting.
2622         * modules/fwriting-tests (Depends-on): Add fflush.
2623
2624         * tests/test-freading.c (main): Also test the interaction between
2625         fflush and freading.
2626         * modules/freading-tests (Depends-on): Add fflush.
2627
2628 2007-04-28  Bruno Haible  <bruno@clisp.org>
2629
2630         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
2631         fseeko and ftello.
2632         Suggested by Eric Blake.
2633
2634 2007-04-28  Jim Meyering  <jim@meyering.net>
2635
2636         Avoid false-negative in gl_STDINT_H's C99 conformance test.
2637         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
2638         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
2639
2640 2007-04-27  Eric Blake  <ebb9@byu.net>
2641
2642         * doc/headers/assert.texi (assert.h): Document assert module use.
2643
2644 2007-04-27  Bruno Haible  <bruno@clisp.org>
2645
2646         * doc/headers/*.texi: New files.
2647         * doc/gnulib.texi (Header File Substitutes): New chapter.
2648         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
2649         dependencies.
2650         (standards.info ,standards.html, standards.dvi): Update dependencies.
2651         (mostlyclean, clean): New targets.
2652
2653 2007-04-27  Bruno Haible  <bruno@clisp.org>
2654
2655         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
2656         * modules/sysexits (Files, Makefile.am): Update.
2657
2658         * lib/sys_socket_.h: Renamed from lib/socket_.h.
2659         * modules/sys_socket (Files, Makefile.am): Update.
2660
2661         * lib/sys_stat_.h: Renamed from lib/stat_.h.
2662         * modules/sys_stat (Files, Makefile.am): Update.
2663
2664 2007-04-27  Eric Blake  <ebb9@byu.net>
2665
2666         * lib/freading.h: Improve comments.
2667         * lib/fwriting.h: Likewise.
2668         * lib/fflush.c: Likewise.
2669
2670         Fix closein for mingw.
2671         * modules/closein-tests: Add tests for closein.
2672         * tests/test-closein.c: New file.
2673         * tests/test-closein.sh: Likewise.
2674         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
2675         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
2676
2677 2007-04-27  Bruno Haible  <bruno@clisp.org>
2678
2679         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
2680         version is < 6.
2681         * lib/math_.h [__DECC]: Likewise.
2682         * lib/stdio_.h [__DECC]: Likewise.
2683         * lib/stdlib_.h [__DECC]: Likewise.
2684         * lib/string_.h [__DECC]: Likewise.
2685         * lib/time_.h [__DECC]: Likewise.
2686         * lib/wchar_.h [__DECC]: Likewise.
2687         * lib/wctype_.h [__DECC]: Likewise.
2688
2689 2007-04-27  Bruno Haible  <bruno@clisp.org>
2690
2691         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
2692
2693 2007-04-27  Bruno Haible  <bruno@clisp.org>
2694
2695         * lib/fflush.c: Add comments.
2696         * modules/fpurge-tests (Depends-on): Add fflush.
2697         * modules/freadable-tests (Depends-on): Likewise.
2698         * modules/fwritable-tests (Depends-on): Likewise.
2699
2700 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
2701
2702         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
2703         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
2704         Report by Bruno Haible <bruno@clisp.org>.
2705
2706 2007-04-26  Eric Blake  <ebb9@byu.net>
2707
2708         Fix fflush on mingw.
2709         * modules/fflush (Depends-on): Add freading.
2710         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
2711         but unread data.
2712
2713 2007-04-26  Eric Blake  <ebb9@byu.net>
2714         and Bruno Haible  <bruno@clisp.org>
2715
2716         Implement freading and fwriting.
2717         * lib/freading.c: New file.
2718         * lib/freading.h: Likewise.
2719         * m4/freading.m4: Likewise.
2720         * modules/freading: Likewise.
2721         * modules/freading-tests: Likewise.
2722         * tests/test-freading.c: Likewise.
2723         * lib/fwriting.c: New file.
2724         * lib/fwriting.h: Likewise.
2725         * m4/fwriting.m4: Likewise.
2726         * modules/fwriting: Likewise.
2727         * modules/fwriting-tests: Likewise.
2728         * tests/test-fwriting.c: Likewise.
2729         * MODULES.html.sh (File stream based Input/Output): Mention them.
2730
2731 2007-04-26  Bruno Haible  <bruno@clisp.org>
2732
2733         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
2734         'long' when we assume it.
2735         Suggested by Eric Blake.
2736
2737 2007-04-26  Bruno Haible  <bruno@clisp.org>
2738
2739         Ensure fseeko, ftello are declared on glibc systems.
2740         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
2741         * modules/fseeko (configure.ac-early): Likewise.
2742         * modules/ftello (configure.ac-early): Likewise.
2743         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
2744         AC_FUNC_FSEEKO for this.
2745         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
2746         (gl_CHECK_FSEEKO): Remove macro.
2747
2748 2007-04-26  Bruno Haible  <bruno@clisp.org>
2749
2750         * tests/test-fflush.c (main): Also check the ftell result after
2751         fflush and fseek/fseeko.
2752         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
2753         file descriptor position cache in the stream.
2754         * lib/fseeko.c (rpl_fseeko): Likewise.
2755
2756 2007-04-26  Bruno Haible  <bruno@clisp.org>
2757
2758         * modules/fflush-tests (Depends-on): Add fseeko.
2759
2760 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
2761             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2762
2763         * lib/argz_.h: ensure error_t definition is obtained in same
2764         mechanism system argz.h would have.
2765         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
2766         argz facilities are known bad.  Err on the side of caution if
2767         cross-compiling.
2768
2769 2007-04-25  Eric Blake  <ebb9@byu.net>
2770
2771         * lib/fpurge.c (includes): Use stdlib.h for free.
2772         * tests/test-fflush.c (main): Also test fflush-fseeko.
2773
2774 2007-04-25  Bruno Haible  <bruno@clisp.org>
2775
2776         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
2777         * lib/fseeko.c: New file.
2778         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
2779         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
2780         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
2781         gl_FUNC_FSEEKO.
2782         (gl_FUNC_FSEEKO): Invoke it.
2783         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
2784         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
2785         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
2786
2787 2007-04-25  Bruno Haible  <bruno@clisp.org>
2788
2789         * modules/fflush (Depends-on): Add ftello.
2790
2791 2007-04-25  Bruno Haible  <bruno@clisp.org>
2792
2793         * modules/ftello-tests: New file.
2794         * tests/test-ftello.c: New file.
2795
2796         * modules/ftello: New file.
2797         * m4/ftello.m4: New file.
2798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
2799         HAVE_FTELLO.
2800         * lib/stdio_.h (ftello): New declaration.
2801         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
2802         HAVE_FTELLO.
2803
2804 2007-04-25  Bruno Haible  <bruno@clisp.org>
2805
2806         * modules/fseeko-tests: New file.
2807         * tests/test-fseeko.c: New file.
2808
2809         * modules/fseeko: New file.
2810         * m4/fseeko.m4: New file.
2811         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
2812         HAVE_FSEEKO.
2813         * lib/stdio_.h (fseeko): New declaration.
2814         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
2815         HAVE_FSEEKO.
2816
2817 2007-04-25  Bruno Haible  <bruno@clisp.org>
2818
2819         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
2820
2821 2007-04-25  Bruno Haible  <bruno@clisp.org>
2822
2823         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
2824         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
2825         * tests/test-unistd.c: Likewise.
2826         * tests/test-fcntl.c: Likewise.
2827
2828 2007-04-23  Eric Blake  <ebb9@byu.net>
2829
2830         * lib/fflush.c: Fix missing include.
2831         Reported by Bruno Haible.
2832
2833 2007-04-23  Bruno Haible  <bruno@clisp.org>
2834
2835         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
2836         Reported by Eric Blake.
2837
2838 2007-04-23  Bruno Haible  <bruno@clisp.org>
2839
2840         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
2841
2842 2007-04-23  Bruno Haible  <bruno@clisp.org>
2843
2844         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
2845
2846 2007-04-23  Bruno Haible  <bruno@clisp.org>
2847
2848         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
2849         Needed on HP-UX 11.
2850
2851 2007-04-16  Eric Blake  <ebb9@byu.net>
2852
2853         Make fflush rely on fpurge.
2854         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
2855         open coding all variants.
2856         * modules/fflush (Depends-on): Add fpurge and unistd.
2857         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
2858         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
2859
2860         Fix --with-tests compilation on cygwin.
2861         * modules/argmatch-tests (Makefile.am): List gnulib library first
2862         in LDADD.
2863         * modules/argp-tests (Makefile.am): Likewise.
2864         * modules/array-list-tests (Makefile.am): Likewise.
2865         * modules/array-oset-tests (Makefile.am): Likewise.
2866         * modules/avltree-list-tests (Makefile.am): Likewise.
2867         * modules/avltree-oset-tests (Makefile.am): Likewise.
2868         * modules/avltreehash-list-tests (Makefile.am): Likewise.
2869         * modules/carray-list-tests (Makefile.am): Likewise.
2870         * modules/dirname-tests (Makefile.am): Likewise.
2871         * modules/frexp-tests (Makefile.am): Likewise.
2872         * modules/isnanl-tests (Makefile.am): Likewise.
2873         * modules/linked-list-tests (Makefile.am): Likewise.
2874         * modules/linkedhash-list-tests (Makefile.am): Likewise.
2875         * modules/lock-tests (Makefile.am): Likewise.
2876         * modules/rbtree-list-tests (Makefile.am): Likewise.
2877         * modules/rbtree-oset-tests (Makefile.am): Likewise.
2878         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
2879         * modules/tls-tests (Makefile.am): Likewise.
2880         * modules/tsearch-tests (Makefile.am): Likewise.
2881         * modules/xvasprintf-tests (Makefile.am): Likewise.
2882
2883         Fix fpurge for cygwin.
2884         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
2885         value.
2886         * modules/fpurge-tests (Depends-on): Clean up trash.
2887
2888 2007-04-16  Simon Josefsson  <simon@josefsson.org>
2889
2890         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
2891
2892         * m4/autobuild.m4: Re-indent.
2893
2894 2007-04-13  Bruno Haible  <bruno@clisp.org>
2895
2896         * modules/fpurge-tests: New file.
2897         * tests/test-fpurge.c: New file.
2898
2899         * modules/fpurge: New file.
2900         * lib/fpurge.h: New file.
2901         * lib/fpurge.c: New file.
2902         * m4/fpurge.m4: New file.
2903
2904 2007-04-13  Bruno Haible  <bruno@clisp.org>
2905
2906         * modules/fbufmode-tests: New file.
2907         * tests/test-fbufmode.c: New file.
2908
2909         * modules/fbufmode: New file.
2910         * lib/fbufmode.h: New file.
2911         * lib/fbufmode.c: New file.
2912         * m4/fbufmode.m4: New file.
2913
2914 2007-04-13  Bruno Haible  <bruno@clisp.org>
2915
2916         * modules/fwritable-tests: New file.
2917         * tests/test-fwritable.c: New file.
2918
2919         * modules/fwritable: New file.
2920         * lib/fwritable.h: New file.
2921         * lib/fwritable.c: New file.
2922         * m4/fwritable.m4: New file.
2923
2924 2007-04-13  Bruno Haible  <bruno@clisp.org>
2925
2926         * modules/freadable-tests: New file.
2927         * tests/test-freadable.c: New file.
2928
2929         * modules/freadable: New file.
2930         * lib/freadable.h: New file.
2931         * lib/freadable.c: New file.
2932         * m4/freadable.m4: New file.
2933
2934 2007-04-13  Bruno Haible  <bruno@clisp.org>
2935
2936         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
2937         MOSTLYCLEANFILES.
2938
2939 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
2940
2941         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
2942         gzip bootstrap.conf to avoid dragging in i18n machinery.
2943         (gnulib_tool_option): Use it.
2944
2945 2007-04-13  Bruno Haible  <bruno@clisp.org>
2946
2947         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
2948         %F directives.
2949         * tests/test-vasprintf-posix.c (test_function): Likewise.
2950         * tests/test-snprintf-posix.h (test_function): Likewise.
2951         * tests/test-sprintf-posix.h (test_function): Likewise.
2952         * tests/test-fprintf-posix.h (test_function): Likewise.
2953         * tests/test-printf-posix.h (test_function): Likewise.
2954         * tests/test-fprintf-posix.out: Likewise.
2955
2956 2007-04-13  Bruno Haible  <bruno@clisp.org>
2957
2958         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
2959         * modules/tls-tests (configure.ac): Likewise.
2960         Reported by Arto C. Nirkko <anirkko@insel.ch>.
2961
2962 2007-04-13  Bruno Haible  <bruno@clisp.org>
2963
2964         * lib/tls.c (glthread_tls_get): Fix return type.
2965         Patch by Arto C. Nirkko <anirkko@insel.ch>.
2966
2967 2007-04-12  Eric Blake  <ebb9@byu.net>
2968
2969         * modules/gettime (Depends-on): Remove gettime.
2970         Reported by Dmitry V. Levin.
2971
2972 2007-04-12  Bruno Haible  <bruno@clisp.org>
2973
2974         * modules/fflush (Include): Mention <stdio.h>.
2975         * modules/strtoimax (Include): Mention <inttypes.h>.
2976         * modules/strtoumax (Include): Likewise.
2977
2978 2007-04-12  Eric Blake  <ebb9@byu.net>
2979
2980         * .cvsignore: New file.
2981         * .gitignore: Likewise.
2982
2983 2007-04-12  Bruno Haible  <bruno@clisp.org>
2984
2985         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
2986         not before, since $(LDADD) often contains libgnu.a.
2987         * modules/striconv-tests (test_striconv_LDADD): Likewise.
2988         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
2989         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
2990         Needed on Cygwin.
2991
2992 2007-04-12  Eric Blake  <ebb9@byu.net>
2993
2994         Work around glibc's failure to flush stdin on fclose.
2995         * lib/closein.c (close_stdin): Flush stdin before closing.
2996
2997         Work around glibc's failure to reset seekable stdin on exit.
2998         * modules/closein: New module.
2999         * lib/closein.c: New file.
3000         * lib/closein.h: Likewise.
3001         * m4/closein.m4: Likewise.
3002         * MODULES.html.sh (File stream based Input/Output): Document it.
3003
3004 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3005
3006         * gnulib-tool: Rename generated 'autobuild' script to
3007         'do-autobuild' in --create-megatestdir output.
3008
3009         * doc/gnulib.texi (Build robot for gnulib): Fix.
3010
3011 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3012
3013         * modules/sysexits (Depends-on): Add absolute-header.
3014
3015 2007-04-12  Eric Blake  <ebb9@byu.net>
3016
3017         No need to preserve errno on success.
3018         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
3019         Reported by Bruno Haible.
3020
3021 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3022
3023         * MODULES.html.sh (Support for maintaining and releasing
3024         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
3025
3026 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3027
3028         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
3029
3030 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3031
3032         * modules/autobuild: New module.
3033
3034         * m4/autobuild.m4: New file.
3035
3036 2007-04-11  Bruno Haible  <bruno@clisp.org>
3037
3038         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
3039         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
3040         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
3041         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
3042         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
3043         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3044         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3045         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
3046         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3047         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3048         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
3049         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3050         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3051         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
3052         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3053         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3054         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
3055         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3056         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3057         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
3058         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3059         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3060         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
3061         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3062         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3063         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
3064         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3065         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3066         Reported by Eric Blake.
3067
3068 2007-04-11  Bruno Haible  <bruno@clisp.org>
3069
3070         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
3071
3072 2007-04-10  Bruno Haible  <bruno@clisp.org>
3073
3074         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
3075         for NaN and Infinity. Needed on FreeBSD 6.1.
3076         * tests/test-vasnprintf-posix.c (test_function): Undo last change
3077         regarding results for "%010a" of Infinity and NaN.
3078         * tests/test-vasprintf-posix.c (test_function): Likewise.
3079         * tests/test-snprintf-posix.h (test_function): Likewise.
3080         * tests/test-sprintf-posix.h (test_function): Likewise.
3081         * tests/test-fprintf-posix.h (test_function): Likewise.
3082         * tests/test-printf-posix.h (test_function): Likewise.
3083         * tests/test-fprintf-posix.out: Likewise.
3084
3085 2007-04-10  Bruno Haible  <bruno@clisp.org>
3086
3087         * modules/locale-tests: New file.
3088         * tests/test-locale.c: New file.
3089
3090         * modules/locale: New file.
3091         * lib/locale_.h: New file.
3092         * m4/locale_h.m4: New file.
3093
3094 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
3095             Bruno Haible  <bruno@clisp.org>
3096
3097         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
3098         be determined, test for availability of the copysignf, copysign,
3099         copysignl functions.
3100         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
3101         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
3102         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
3103
3104 2007-04-09  Eric Blake  <ebb9@byu.net>
3105
3106         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
3107         * modules/stdio (Makefile.am): Support fflush.
3108         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
3109         * modules/fflush: New file.
3110         * lib/fflush.c: Likewise.
3111         * m4/fflush.m4: Likewise.
3112         * modules/fflush-tests: New test.
3113         * tests/test-fflush.c: Likewise.
3114         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
3115
3116 2007-04-06  Bruno Haible  <bruno@clisp.org>
3117
3118         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
3119         (VASNPRINTF): Use signbit for faster determination whether to print a
3120         minus sign.
3121         * modules/vasnprintf (Files): Remove lib/float+.h.
3122         * modules/fprintf-posix (Depends-on): Add signbit.
3123         * modules/snprintf-posix (Depends-on): Likewise.
3124         * modules/sprintf-posix (Depends-on): Likewise.
3125         * modules/vasnprintf-posix (Depends-on): Likewise.
3126         * modules/vasprintf-posix (Depends-on): Likewise.
3127         * modules/vfprintf-posix (Depends-on): Likewise.
3128         * modules/vsnprintf-posix (Depends-on): Likewise.
3129         * modules/vsprintf-posix (Depends-on): Likewise.
3130
3131 2007-04-06  Bruno Haible  <bruno@clisp.org>
3132
3133         * tests/test-frexp.c (main): Test also the sign bit of zero results.
3134         * tests/test-frexpl.c (main): Likewise.
3135         * tests/test-ldexpl.c (main): Likewise.
3136         * modules/frexp-tests (Depends-on): Add signbit.
3137         * modules/frexpl-tests (Depdends-on): Likewise.
3138         * modules/ldexpl-tests (Depdends-on): Likewise.
3139
3140 2007-04-06  Bruno Haible  <bruno@clisp.org>
3141
3142         * modules/signbit-tests: New file.
3143         * tests/test-signbit.c: New file.
3144
3145         * modules/signbit: New file.
3146         * lib/signbitf.c: New file.
3147         * lib/signbitd.c: New file.
3148         * lib/signbitl.c: New file.
3149         * m4/signbit.m4: New file.
3150         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
3151         (signbit): New macro.
3152         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
3153         REPLACE_SIGNBIT.
3154         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
3155         REPLACE_FREXPL into math.h.
3156
3157 2007-04-06  Bruno Haible  <bruno@clisp.org>
3158
3159         * modules/isnanf-nolibm-tests: New file.
3160         * tests/test-isnanf.c: New file.
3161
3162         * modules/isnanf-nolibm: New file.
3163         * lib/isnanf.h: New file.
3164         * lib/isnanf.c: New file.
3165         * lib/isnan.c: Consider the USE_FLOAT macro.
3166         * m4/isnanf.m4: New file.
3167
3168 2007-04-06  Bruno Haible  <bruno@clisp.org>
3169
3170         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
3171         (Link): New section.
3172
3173         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
3174
3175 2007-04-06  Bruno Haible  <bruno@clisp.org>
3176
3177         Assume the 'long double' type.
3178         * m4/longdouble.m4: Remove file.
3179         * config/srclist.txt: Don't mention longdouble.m4.
3180         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
3181         * lib/float+.h: Likewise.
3182         * lib/frexp.c: Likewise.
3183         * lib/printf-args.h: Likewise.
3184         * lib/printf-args.c: Likewise.
3185         * lib/printf-frexp.c: Likewise.
3186         * lib/printf-parse.c: Likewise.
3187         * lib/vasnprintf.c: Likewise.
3188         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
3189         * m4/intl.m4: Likewise.
3190         * m4/isnanl.m4: Likewise.
3191         * m4/printf.m4: Likewise.
3192         * m4/printf-frexpl.m4: Likewise.
3193         * m4/vasnprintf.m4: Likewise.
3194         * modules/allocsa (Files): Remove m4/longdouble.m4.
3195         * modules/gettext (Files): Likewise.
3196         * modules/relocatable-prog-wrapper (Files): Likewise.
3197         * modules/vasnprintf (Files): Likewise.
3198         * modules/isnanl (Files): Likewise.
3199         (Include): Simplify.
3200         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
3201         (Include): Simplify.
3202         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
3203         (Include): Simplify.
3204         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
3205         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3206         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
3207         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3208         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
3209         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3210         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
3211         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3212         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
3213         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3214         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
3215         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3216         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
3217         * tests/test-isnanl.c: Likewise.
3218         * tests/test-snprintf-posix.h: Likewise.
3219         * tests/test-sprintf-posix.h: Likewise.
3220         * tests/test-vasnprintf-posix.c: Likewise.
3221         * tests/test-vasnprintf-posix2.c: Likewise.
3222         * tests/test-vasprintf-posix.c: Likewise.
3223
3224 2007-04-06  Bruno Haible  <bruno@clisp.org>
3225
3226         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
3227         * lib/math_.h [__DECC]: Include the overridden include file through
3228         #include_next, outside the double-inclusion guard.
3229         * lib/stdio_.h [__DECC]: Likewise.
3230         * lib/stdlib_.h [__DECC]: Likewise.
3231         * lib/string_.h [__DECC]: Likewise.
3232         * lib/time_.h [__DECC]: Likewise.
3233         * lib/wchar_.h [__DECC]: Likewise.
3234         * lib/wctype_.h [__DECC]: Likewise.
3235         * lib/inttypes_.h [__DECC]: Likewise.
3236         Reported by Albert Chin <china@thewrittenword.com> in
3237         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
3238
3239 2007-04-04  Eric Blake  <ebb9@byu.net>
3240
3241         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
3242         1.5.x.
3243
3244 2007-04-04  Bruno Haible  <bruno@clisp.org>
3245
3246         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
3247         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
3248
3249 2007-04-04  Bruno Haible  <bruno@clisp.org>
3250
3251         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
3252         results for "%010a" of Infinity and NaN.
3253         * tests/test-vasprintf-posix.c (test_function): Likewise.
3254         * tests/test-snprintf-posix.h (test_function): Likewise.
3255         * tests/test-sprintf-posix.h (test_function): Likewise.
3256         * tests/test-fprintf-posix.h (test_function): Remove these tests.
3257         * tests/test-printf-posix.h (test_function): Likewise.
3258         * tests/test-fprintf-posix.out: Update.
3259         Needed for FreeBSD 6.1.
3260
3261 2007-04-04  Bruno Haible  <bruno@clisp.org>
3262
3263         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
3264         directly used by the gnulib modules nor by gnulib-tool.
3265
3266 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
3267
3268         * DEPENDENCIES: Give overall description of version dependency
3269         desirability.  Use more-typical names for apps.
3270         Add shell, coreutils, diffutils, grep, tar, gzip.
3271
3272 2007-04-04  Simon Josefsson  <simon@josefsson.org>
3273
3274         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
3275
3276 2007-04-04  Karl Berry  <karl@gnu.org>
3277
3278         * MODULES.html.sh (func_module): missing '.
3279
3280 2007-04-03  Bruno Haible  <bruno@clisp.org>
3281
3282         * modules/argmatch-tests (Makefile.am): New variable
3283         test_argmatch_LDADD.
3284         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
3285         * modules/array-list-tests (Makefile.am): New variable
3286         test_array_list_LDADD.
3287         * modules/array-oset-tests (Makefile.am): New variable
3288         test_array_oset_LDADD.
3289         * modules/avltree-list-tests (Makefile.am): New variable
3290         test_avltree_list_LDADD.
3291         * modules/avltree-oset-tests (Makefile.am): New variable
3292         test_avltree_oset_LDADD.
3293         * modules/avltreehash-list-tests (Makefile.am): New variable
3294         test_avltreehash_list_LDADD.
3295         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
3296         test_canonicalize_lgpl_LDADD.
3297         * modules/carray-list-tests (Makefile.am): New variable
3298         test_carray_list_LDADD.
3299         * modules/dirname-tests (Makefile.am): New variable
3300         test_dirname_LDADD.
3301         * modules/linked-list-tests (Makefile.am): New variable
3302         test_linked_list_LDADD.
3303         * modules/linkedhash-list-tests (Makefile.am): New variable
3304         test_linkedhash_list_LDADD.
3305         * modules/rbtree-list-tests (Makefile.am): New variable
3306         test_rbtree_list_LDADD.
3307         * modules/rbtree-oset-tests (Makefile.am): New variable
3308         test_rbtree_oset_LDADD.
3309         * modules/rbtreehash-list-tests (Makefile.am): New variable
3310         test_rbtreehash_list_LDADD.
3311         * modules/xvasprintf-tests (Makefile.am): New variable
3312         test_xvasprintf_LDADD.
3313         Reported by Eric Blake.
3314
3315 2007-04-03  Eric Blake  <ebb9@byu.net>
3316
3317         * DEPENDENCIES: Weaken m4 requirements.
3318
3319 2007-04-03  Bruno Haible  <bruno@clisp.org>
3320
3321         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
3322         * modules/isnanl-tests (configure.ac): Likewise.
3323
3324 2007-04-03  Ben Pfaff  <blp@gnu.org>
3325
3326         * modules/iconv_open: Add $(srcdir)/ to source directory
3327         references in Makefile fragments that call gperf, to fix VPATH
3328         builds.
3329
3330 2007-04-03  Bruno Haible  <bruno@clisp.org>
3331
3332         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
3333         * lib/ldexpl.c: Undo last change.
3334
3335 2007-04-03  Bruno Haible  <bruno@clisp.org>
3336
3337         * modules/printf-frexpl (Depends-on): Undo last change.
3338         (Files): Add m4/ldexpl.m4.
3339
3340 2007-04-03  Bruno Haible  <bruno@clisp.org>
3341
3342         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
3343         * modules/isnanl (Link): New section.
3344
3345         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
3346         * modules/frexp (Link): New section.
3347
3348         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
3349         * modules/frexpl (Link): New section.
3350
3351         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
3352         * modules/ldexpl (Link): New section.
3353
3354 2007-04-03  Bruno Haible  <bruno@clisp.org>
3355
3356         * modules/TEMPLATE-EXTENDED: New file.
3357         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
3358
3359 2007-04-03  Bruno Haible  <bruno@clisp.org>
3360
3361         * DEPENDENCIES: New file.
3362         Suggested by Simon Josefsson.
3363
3364 2007-04-03  Bruno Haible  <bruno@clisp.org>
3365
3366         * doc/gnulib.texi: Escape @.
3367
3368 2007-04-03  James Youngman  <jay@gnu.org>
3369         and Paul Eggert  <eggert@cs.ucla.edu>
3370
3371         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
3372         birthtime on all systems that have birthtime, not just those which
3373         use st_birthtimensec rather than st_birthtim.  Putting zero in
3374         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
3375         that the birth time is not available for files on an NFS mount.
3376
3377 2007-04-03  Simon Josefsson  <simon@josefsson.org>
3378
3379         * modules/memxor: Move back from crypto/, suggested by Bruno.
3380         * modules/crypto/hmac-sha1: Fix memxor dependency.
3381
3382         * modules/crypto/gc: Moved from ../.
3383
3384 2007-04-02  Eric Blake  <ebb9@byu.net>
3385
3386         * lib/ldexpl.c (includes): Avoid libm.
3387
3388         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
3389
3390 2007-04-02  Bruno Haible  <bruno@clisp.org>
3391
3392         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
3393         on IRIX.
3394
3395 2007-04-02  Bruno Haible  <bruno@clisp.org>
3396
3397         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
3398         x86 or x86_64 platforms running MacOS X.
3399         Reported by Ryan Schmidt <@ryandesign.com>.
3400
3401 2007-04-02  Bruno Haible  <bruno@clisp.org>
3402
3403         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
3404         i386.
3405
3406 2007-04-01  Simon Josefsson  <simon@josefsson.org>
3407
3408         * modules/crypto/arcfour: Moved from ../.
3409         * modules/crypto/arcfour-tests: Moved from ../.
3410         * modules/crypto/arctwo: Moved from ../.
3411         * modules/crypto/arctwo-tests: Moved from ../.
3412         * modules/crypto/des: Moved from ../.
3413         * modules/crypto/des-tests: Moved from ../.
3414         * modules/crypto/gc-arcfour: Moved from ../.
3415         * modules/crypto/gc-arcfour-tests: Moved from ../.
3416         * modules/crypto/gc-arctwo: Moved from ../.
3417         * modules/crypto/gc-arctwo-tests: Moved from ../.
3418         * modules/crypto/gc-des: Moved from ../.
3419         * modules/crypto/gc-des-tests: Moved from ../.
3420         * modules/crypto/gc-hmac-md5: Moved from ../.
3421         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
3422         * modules/crypto/gc-hmac-sha1: Moved from ../.
3423         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
3424         * modules/crypto/gc-md2: Moved from ../.
3425         * modules/crypto/gc-md2-tests: Moved from ../.
3426         * modules/crypto/gc-md4: Moved from ../.
3427         * modules/crypto/gc-md4-tests: Moved from ../.
3428         * modules/crypto/gc-md5: Moved from ../.
3429         * modules/crypto/gc-md5-tests: Moved from ../.
3430         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
3431         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
3432         * modules/crypto/gc-random: Moved from ../.
3433         * modules/crypto/gc-rijndael: Moved from ../.
3434         * modules/crypto/gc-rijndael-tests: Moved from ../.
3435         * modules/crypto/gc-sha1: Moved from ../.
3436         * modules/crypto/gc-sha1-tests: Moved from ../.
3437         * modules/crypto/gc-tests: Moved from ../.
3438         * modules/crypto/hmac-md5: Moved from ../.
3439         * modules/crypto/hmac-md5-tests: Moved from ../.
3440         * modules/crypto/hmac-sha1: Moved from ../.
3441         * modules/crypto/hmac-sha1-tests: Moved from ../.
3442         * modules/crypto/md2: Moved from ../.
3443         * modules/crypto/md2-tests: Moved from ../.
3444         * modules/crypto/md4: Moved from ../.
3445         * modules/crypto/md4-tests: Moved from ../.
3446         * modules/crypto/md5: Moved from ../.
3447         * modules/crypto/md5-tests: Moved from ../.
3448         * modules/crypto/memxor: Moved from ../.
3449         * modules/crypto/rijndael: Moved from ../.
3450         * modules/crypto/rijndael-tests: Moved from ../.
3451         * modules/crypto/sha1: Moved from ../.
3452
3453 2007-03-30  James Youngman  <jay@gnu.org>
3454
3455         * tests/test-stat-time.c (prepare_test): use chmod() rather than
3456         rename() to change the ctime of a file (because ctime is unaffected
3457         by rename on jfs2 on AIX 5.1).
3458         (main): Start by doing cleanup, in case a previous run failed leaving
3459         test files behind.
3460
3461 2007-03-31  Bruno Haible  <bruno@clisp.org>
3462
3463         Support old proprietary implementations of iconv.
3464         * modules/iconv_open: New file.
3465         * lib/iconv_.h: New file.
3466         * m4/iconv_h.m4: New file.
3467         * lib/iconv_open.c: New file.
3468         * lib/iconv_open-aix.gperf: New file.
3469         * lib/iconv_open-hpux.gperf: New file.
3470         * lib/iconv_open-irix.gperf: New file.
3471         * lib/iconv_open-osf.gperf: New file.
3472         * m4/iconv_open.m4: New file.
3473         * modules/linebreak (Depends-on): Add iconv_open.
3474         * modules/striconv (Depends-on): Likewise.
3475         * modules/striconveh (Depends-on): Likewise.
3476         * modules/unicodeio (Depends-on): Likewise.
3477         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
3478         (iconv_t)(-1).
3479         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
3480         conversion if cd is (iconv_t)(-1).
3481         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
3482         is not possible.
3483
3484 2007-03-31  Bruno Haible  <bruno@clisp.org>
3485
3486         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
3487         work on Solaris either. Protect also second use of "autodetect_jp".
3488
3489 2007-03-31  Bruno Haible  <bruno@clisp.org>
3490
3491         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
3492         the function is not present.
3493
3494 2007-03-31  Bruno Haible  <bruno@clisp.org>
3495
3496         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
3497         the function is not present.
3498
3499 2007-03-31  Bruno Haible  <bruno@clisp.org>
3500
3501         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
3502         a bug in HP-UX iconv_open().
3503
3504 2007-03-31  Bruno Haible  <bruno@clisp.org>
3505
3506         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
3507         (Mathematics <math.h>): New section, add fpieee.
3508         (Input/output <stdio.h>): Add fseterr.
3509         (Mathematics <math.h>): New section, add printf-frexp.
3510         (Container data structures): Add sublist.
3511         (Core language properties): Add fpucw, inline.
3512         (Functions for greatest-width integer types <inttypes.h>): Add
3513         imaxabs, imaxdiv, inttypes.
3514         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
3515         isnanl-nolibm, ldexp.
3516         (Mathematics <math.h>): New section, add printf-frexpl.
3517         (Support for systems lacking POSIX:2001): Add fprintf-posix,
3518         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
3519         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
3520         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
3521         (Unicode string functions): Add unistr/u*-mbtoucr.
3522         (Java): Add javacomp-script, javaexec-script.
3523         (C#): Add csharpcomp-script, csharpexec-script.
3524         (Support for building libraries and executables): Add havelib,
3525         relocatable-*.
3526         (Support for maintaining and releasing projects): Renamed from
3527         'Support for maintaining and release projects'. Add announce-gen.
3528
3529 2007-03-31  Bruno Haible  <bruno@clisp.org>
3530
3531         * README: Talk primarily about git.
3532         (git and CVS): Renamed from CVS.
3533         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
3534         gnulib is available through git.
3535         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
3536
3537 2007-03-30  Bruno Haible  <bruno@clisp.org>
3538
3539         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
3540         * lib/poll_.h: Likewise.
3541         * lib/stat_.h: Likewise.
3542         * lib/sys_time_.h: Likewise.
3543         * lib/sysexit_.h: Likewise.
3544         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
3545         * lib/stdbool_.h: Likewise.
3546         * lib/byteswap_.h: Add double-inclusion guard.
3547
3548 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
3549
3550         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
3551
3552 2007-03-30  Karl Berry  <karl@gnu.org>
3553
3554         * config/srclist-update: double space after USA in the license
3555         substitution, since that's how it's usually (?) written.
3556
3557 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
3558
3559         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
3560         reported by Bruno Haible.
3561
3562 2007-03-29  Bruno Haible  <bruno@clisp.org>
3563
3564         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
3565         a bug in AIX iconv().
3566
3567 2007-03-29  Bruno Haible  <bruno@clisp.org>
3568
3569         * modules/ldexpl-tests: New file.
3570         * tests/test-ldexpl.c: New file.
3571
3572 2007-03-29  Bruno Haible  <bruno@clisp.org>
3573
3574         * lib/ldexpl.c: Include fpucw.h.
3575         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
3576         multiplication.
3577         * modules/ldexpl (Depends-on): Add fpucw.
3578
3579 2007-03-29  Bruno Haible  <bruno@clisp.org>
3580
3581         * modules/ldexpl: New file.
3582         * m4/ldexpl.m4: New file.
3583         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
3584         set.
3585         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
3586         REPLACE_LDEXPL.
3587         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
3588         REPLACE_LDEXPL.
3589         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
3590         gl_FUNC_LDEXPL_WORKS.
3591         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
3592         * modules/mathl (Files): Remove lib/ldexpl.c.
3593         (Depends-on): Add ldexpl.
3594
3595 2007-03-29  Bruno Haible  <bruno@clisp.org>
3596
3597         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
3598
3599 2007-03-29  Bruno Haible  <bruno@clisp.org>
3600
3601         * tests/test-striconveh.c (main): Don't assume that a direct conversion
3602         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
3603         and possibly also HP-UX.
3604         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
3605         work on AIX, IRIX, HP-UX, OSF/1.
3606         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3607         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3608         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3609         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3610         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
3611         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3612
3613 2007-03-29  Bruno Haible  <bruno@clisp.org>
3614
3615         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
3616
3617 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
3618
3619         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
3620         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
3621
3622 2007-03-29  Eric Blake  <ebb9@byu.net>
3623
3624         * lib/acl-internal.h: Remove redundant include.
3625         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
3626         Cygwin when a file is locked.
3627
3628 2007-03-29  Bruno Haible  <bruno@clisp.org>
3629
3630         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
3631         file.
3632         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
3633
3634 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
3635
3636         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
3637         try to remove a parent directory if the child couldn't be removed
3638         (except for the first rmdir, which could fail because the child
3639         doesn't exist).  Problem reported by Jeff Blaine in
3640         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
3641
3642 2007-03-28  Bruno Haible  <bruno@clisp.org>
3643
3644         * lib/striconveh.c (utf8conv_carefully): New function.
3645         (mem_cd_iconveh_internal): Invoke it.
3646
3647 2007-03-28  Bruno Haible  <bruno@clisp.org>
3648
3649         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
3650         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
3651         input.
3652         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
3653         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
3654         unistr/u8-uctomb.
3655
3656 2007-03-28  Bruno Haible  <bruno@clisp.org>
3657
3658         * modules/unistr/u8-mbtoucr: New file.
3659         * lib/unistr/u8-mbtoucr.c: New file.
3660         * modules/unistr/u16-mbtoucr: New file.
3661         * lib/unistr/u16-mbtoucr.c: New file.
3662         * modules/unistr/u16-mbtoucr: New file.
3663         * lib/unistr/u16-mbtoucr.c: New file.
3664         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
3665
3666 2007-03-27  Simon Josefsson  <simon@josefsson.org>
3667             Bruno Haible  <bruno@clisp.org>
3668
3669         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
3670         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
3671         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
3672
3673         * m4/stdio_h.m4: Add stubs for vasprintf too.
3674
3675         * modules/stdio: Support vasprintf in sed command.
3676
3677         * modules/vasprintf: Depend on stdio for prototypes.  Remove
3678         vasprintf.h.  Add stdio module indicator.
3679
3680         * lib/stdio_.h: Declare asprintf and vasprintf, based on
3681         vasprintf.h.
3682
3683         * lib/vasprintf.h: File removed.
3684
3685         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
3686         * lib/vasprintf.c: Ditto.
3687         * lib/xvasprintf.c: Ditto.
3688         * tests/test-vasprintf-posix.c: Ditto.
3689         * tests/test-vasprintf.c: Ditto.
3690
3691 2007-03-27  Bruno Haible  <bruno@clisp.org>
3692
3693         Make vasnprintf multithread-safe.
3694         * lib/vasnprintf.c (decimal_point_char): New function.
3695         (VASNPRINTF): Use it.
3696         Suggested by Simon Josefsson.
3697
3698 2007-03-27  Eric Blake  <ebb9@byu.net>
3699
3700         Support sub-second birthtime on cygwin.
3701         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
3702         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
3703         (get_stat_birthtime): Also work with st_birthtim.
3704
3705 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
3706
3707         * lib/stat-time.h (USE_BIRTHTIME): Remove.
3708         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
3709         (get_stat_birthtime_ns): Do not try to use "spare" fields.
3710         (get_stat_birthtime_ns): Simplify compile-time tests.
3711         (get_stat_birthtime): Change the API to look like
3712         get_stat_mtime etc., except return a negative tv_nsec on error.
3713         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
3714         Don't check for "spare" fields.
3715         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
3716         or for struct stat.st_birthtime, as these tests aren't used.
3717         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
3718
3719 2007-03-27  Bruno Haible  <bruno@clisp.org>
3720
3721         * lib/stat-time.h: Include <sys/stat.h>.
3722
3723 2007-03-27  James Youngman  <jay@gnu.org>
3724
3725         * lib/stat-time.h (get_stat_birthtime): New function for
3726           retrieving st_birthtime as provided by UFS2 (hence *BSD).
3727         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
3728           and its variants.
3729         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
3730         * modules/stat-time-test: New file.
3731         * tests/test-stat-time.c: New test, devised by Bruno Haible.
3732
3733 2007-03-26  Bruno Haible  <bruno@clisp.org>
3734
3735         Better support of signalling NaNs.
3736         * lib/atanl.c: Include isnanl.h.
3737         (atanl): Perform test for NaN at the beginning of the function and
3738         through a call to isnanl.
3739         * lib/cosl.c: Include isnanl.h.
3740         (cosl): Perform test for NaN at the beginning of the function and
3741         through a call to isnanl.
3742         * lib/ldexpl.c: Include isnanl.h.
3743         (ldexpl): Perform test for NaN through a call to isnanl.
3744         * lib/logl.c: Include isnanl.h.
3745         (logl): Perform test for NaN at the beginning of the function and
3746         through a call to isnanl.
3747         * lib/sinl.c: Include isnanl.h.
3748         (sinl): Perform test for NaN at the beginning of the function and
3749         through a call to isnanl.
3750         * lib/sqrtl.c: Include isnanl.h.
3751         (sqrtl): Perform test for NaN at the beginning of the function and
3752         through a call to isnanl.
3753         * lib/tanl.c: Include isnanl.h.
3754         (tanl): Perform test for NaN at the beginning of the function and
3755         through a call to isnanl.
3756         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
3757         * modules/mathl (Depends-on): Add isnanl.
3758
3759 2007-03-26  Eric Blake  <ebb9@byu.net>
3760
3761         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
3762         regression in logic sense of previous patch.
3763
3764 2007-03-26  Bruno Haible  <bruno@clisp.org>
3765
3766         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
3767         unportable shell command "if ! ...".
3768         Reported by Ralf Wildenhues.
3769
3770 2007-03-25  Bruno Haible  <bruno@clisp.org>
3771
3772         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
3773         <sysexits.h> file, and only add EX_CONFIG.
3774         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
3775         absolute file name and whether it is sufficient. Substitute also
3776         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
3777         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
3778         ABSOLUTE_SYSEXITS_H into sysexits.h.
3779
3780 2007-03-25  Bruno Haible  <bruno@clisp.org>
3781
3782         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
3783         hints is NULL.
3784
3785 2007-03-25  Bruno Haible  <bruno@clisp.org>
3786
3787         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
3788         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
3789
3790 2007-03-25  Bruno Haible  <bruno@clisp.org>
3791
3792         * lib/vasnprintf.c: Include langinfo.h.
3793         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
3794         multithread-safe.
3795         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
3796         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
3797         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
3798         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
3799         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
3800         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
3801         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
3802         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
3803         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
3804         Reported by Simon Josefsson.
3805
3806 2007-03-25  Bruno Haible  <bruno@clisp.org>
3807
3808         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
3809         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
3810         * modules/vasnprintf (Depends-on): Add stdint.
3811
3812 2007-03-25  Bruno Haible  <bruno@clisp.org>
3813
3814         * modules/fpieee: New file.
3815         * m4/fpieee.m4: New file.
3816         * modules/isnan-nolibm (Depends-on): Add fpieee.
3817         * modules/isnanl-nolibm (Depends-on): Add fpieee.
3818         * modules/isnanl (Depends-on): Add fpieee.
3819
3820 2007-03-25  Bruno Haible  <bruno@clisp.org>
3821
3822         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
3823
3824 2007-03-25  Bruno Haible  <bruno@clisp.org>
3825
3826         Avoid test failures on IRIX 6.5.
3827         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
3828         (main): Use it.
3829         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
3830         macros.
3831         (main): Use them.
3832
3833 2007-03-25  Bruno Haible  <bruno@clisp.org>
3834
3835         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
3836         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
3837         exists but doesn't work.
3838         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
3839         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
3840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
3841         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
3842
3843 2007-03-25  Bruno Haible  <bruno@clisp.org>
3844
3845         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
3846         returns inf. Needed on IRIX 6.5.
3847
3848 2007-03-25  Bruno Haible  <bruno@clisp.org>
3849
3850         * tests/test-frexpl.c: Include isnanl-nolibm.h.
3851         (main): Use isnanl instead of x != x idiom.
3852         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
3853
3854         * tests/test-frexp.c: Include isnan.h.
3855         (main): Use isnan instead of x != x idiom.
3856         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
3857
3858 2007-03-25  Bruno Haible  <bruno@clisp.org>
3859
3860         * tests/test-frexp.c (NaN): New function/macro.
3861         (main): Use it instead of 0.0 / 0.0.
3862         * tests/test-isnan.c (NaN): New function/macro.
3863         (main): Use it instead of 0.0 / 0.0.
3864         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
3865         (test_function): Use it instead of 0.0 / 0.0.
3866         * tests/test-vasprintf-posix.c (NaN): New function/macro.
3867         (test_function): Use it instead of 0.0 / 0.0.
3868         * tests/test-snprintf-posix.h (NaN): New function/macro.
3869         (test_function): Use it instead of 0.0 / 0.0.
3870         * tests/test-sprintf-posix.h (NaN): New function/macro.
3871         (test_function): Use it instead of 0.0 / 0.0.
3872         * tests/test-fprintf-posix.h (NaN): New function/macro.
3873         (test_function): Use it instead of 0.0 / 0.0.
3874         * tests/test-printf-posix.h (NaN): New function/macro.
3875         (test_function): Use it instead of 0.0 / 0.0.
3876
3877         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
3878
3879 2007-03-25  Bruno Haible  <bruno@clisp.org>
3880
3881         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
3882
3883 2007-03-25  Bruno Haible  <bruno@clisp.org>
3884
3885         * lib/regexec.c (merge_state_with_log): Make static.
3886
3887 2007-03-25  Bruno Haible  <bruno@clisp.org>
3888
3889         * lib/trigl.c (kernel_rem_pio2): Make static.
3890
3891 2007-03-25  Bruno Haible  <bruno@clisp.org>
3892
3893         * lib/sincosl.c (sincosl_table): Make static.
3894
3895 2007-03-25  Bruno Haible  <bruno@clisp.org>
3896
3897         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
3898         if the compiler does not support C99.
3899
3900 2007-03-25  Bruno Haible  <bruno@clisp.org>
3901
3902         * modules/time (Makefile.am): Ensure all rule action lines start with a
3903         tab.
3904
3905 2007-03-24  Bruno Haible  <bruno@clisp.org>
3906
3907         * modules/tsearch-tests: New file.
3908         * tests/test-tsearch.sh: New file.
3909         * tests/test-tsearch.c: New file, mostly copied from glibc.
3910
3911         * modules/search-tests: New file.
3912         * tests/test-search.c: New file.
3913
3914         * modules/search: New file.
3915         * lib/search_.h: New file, incorporating lib/tsearch.h.
3916         * m4/search_h.m4: New file.
3917         * lib/tsearch.h: Remove file.
3918         * lib/tsearch.c: Include search.h instead of tsearch.h.
3919         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
3920         HAVE_TSEARCH.
3921         * modules/tsearch (Files): Remove lib/tsearch.h.
3922         (Depends-on): Add search.
3923         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
3924         (Include): Change tsearch.h into search.h.
3925
3926 2007-03-24  Bruno Haible  <bruno@clisp.org>
3927
3928         * modules/fpucw: New file.
3929         * lib/fpucw.h: New file.
3930         * lib/frexp.c: Include fpucw.h.
3931         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
3932         (FUNC): Use them.
3933         * lib/printf-frexp.c: Include fpucw.h.
3934         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
3935         (FUNC): Use them.
3936         * lib/vasnprintf.c: Include fpucw.h.
3937         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
3938         'long double' calculations.
3939         * tests/test-frexpl.c: Include fpucw.h.
3940         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
3941         * tests/test-printf-frexpl.c: Include fpucw.h.
3942         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
3943         * modules/frexpl (Depends-on): Add fpucw.
3944         * modules/printf-frexpl (Depends-on): Likewise.
3945         * modules/fprintf-posix (Depends-on): Likewise.
3946         * modules/snprintf-posix (Depends-on): Likewise.
3947         * modules/sprintf-posix (Depends-on): Likewise.
3948         * modules/vasnprintf-posix (Depends-on): Likewise.
3949         * modules/vasprintf-posix (Depends-on): Likewise.
3950         * modules/vfprintf-posix (Depends-on): Likewise.
3951         * modules/vsnprintf-posix (Depends-on): Likewise.
3952         * modules/vsprintf-posix (Depends-on): Likewise.
3953         * modules/frexpl-tests (Depends-on): Likewise.
3954         * modules/printf-frexpl-tests (Depends-on): Likewise.
3955
3956 2007-03-24  Bruno Haible  <bruno@clisp.org>
3957
3958         * lib/float+.h: New file.
3959         * lib/isnan.c: Include float+.h.
3960         (SIZE): New macro.
3961         (FUNC): Compare only SIZE bytes of the value.
3962         * lib/vasnprintf.c: Include float+.h.
3963         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
3964         SIZEOF_LDBL or SIZEOF_DBL bytes.
3965         * modules/isnan-nolibm (Files): Add lib/float+.h.
3966         * modules/isnanl-nolibm (Files): Add lib/float+.h.
3967         * modules/isnanl (Files): Add lib/float+.h.
3968         * modules/vasnprintf (Files): Add lib/float+.h.
3969
3970 2007-03-24  Bruno Haible  <bruno@clisp.org>
3971
3972         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
3973         include isnanl-nolibm.h.
3974
3975 2007-03-24  Bruno Haible  <bruno@clisp.org>
3976
3977         * tests/test-read-file.c (main): Don't produce spurious output for
3978         expected situations. Make the test fail if it encountered unexpected
3979         results.
3980
3981 2007-03-24  Bruno Haible  <bruno@clisp.org>
3982
3983         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
3984         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
3985
3986 2007-03-24  Bruno Haible  <bruno@clisp.org>
3987
3988         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
3989
3990 2007-03-24  Bruno Haible  <bruno@clisp.org>
3991
3992         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
3993         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
3994
3995         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
3996         * modules/utf8-ucs4: Turn into a symbolic link to module
3997         unistr/u8-mbtouc.
3998
3999         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
4000         utf8-ucs4-unsafe.
4001         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
4002         unistr/u8-mbtouc-unsafe.
4003
4004         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
4005         * modules/utf16-ucs4: Turn into a symbolic link to module
4006         unistr/u16-mbtouc.
4007
4008         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
4009         utf16-ucs4-unsafe.
4010         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
4011         unistr/u16-mbtouc-unsafe.
4012
4013         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
4014         * modules/ucs4-utf8: Turn into a symbolic link to module
4015         unistr/u8-ubtomb.
4016
4017         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
4018         * modules/ucs4-utf16: Turn into a symbolic link to module
4019         unistr/u16-ubtomb.
4020
4021 2007-03-24  Bruno Haible  <bruno@clisp.org>
4022
4023         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
4024         Enable the function only if HAVE_INLINE.
4025         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
4026         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
4027         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
4028         Enable the function only if HAVE_INLINE.
4029         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
4030         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
4031         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
4032         Enable the function only if HAVE_INLINE.
4033         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
4034         Enable the function only if HAVE_INLINE.
4035         * modules/utf8-ucs4: Update.
4036         * modules/utf8-ucs4-unsafe: Update.
4037         * modules/utf16-ucs4: Update.
4038         * modules/utf16-ucs4-unsafe: Update.
4039         * modules/ucs4-utf8: Update.
4040         * modules/ucs4-utf16: Update.
4041
4042 2007-03-24  Bruno Haible  <bruno@clisp.org>
4043
4044         * lib/utf8-ucs4.h: Remove file.
4045         * lib/utf8-ucs4-unsafe.h: Remove file.
4046         * lib/utf16-ucs4.h: Remove file.
4047         * lib/utf16-ucs4-unsafe.h: Remove file.
4048         * lib/ucs4-utf8.h: Remove file.
4049         * lib/ucs4-utf16.h: Remove file.
4050         * lib/unistr.h: Include their previous contents.
4051         * m4/utf-ucs4.m4: Remove file.
4052         * m4/ucs4-utf.m4: Remove file.
4053         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
4054         (Depends-on): Add unistr/base.
4055         (configure.ac): Remove gl_UTF_UCS4.
4056         (Makefile.am): Update.
4057         (Include): Change to unistr.h.
4058         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
4059         (Depends-on): Add unistr/base.
4060         (configure.ac): Remove gl_UTF_UCS4.
4061         (Makefile.am): Update.
4062         (Include): Change to unistr.h.
4063         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
4064         (Depends-on): Add unistr/base.
4065         (configure.ac): Remove gl_UTF_UCS4.
4066         (Makefile.am): Update.
4067         (Include): Change to unistr.h.
4068         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
4069         (Depends-on): Add unistr/base.
4070         (configure.ac): Remove gl_UTF_UCS4.
4071         (Makefile.am): Update.
4072         (Include): Change to unistr.h.
4073         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
4074         (Depends-on): Add unistr/base.
4075         (configure.ac): Remove gl_UCS4_UTF.
4076         (Makefile.am): Update.
4077         (Include): Change to unistr.h.
4078         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
4079         (Depends-on): Add unistr/base.
4080         (configure.ac): Remove gl_UCS4_UTF.
4081         (Makefile.am): Update.
4082         (Include): Change to unistr.h.
4083         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
4084         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
4085         utf8-ucs4-unsafe.h.
4086         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
4087         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
4088         utf16-ucs4-unsafe.h.
4089         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
4090         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
4091         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
4092         * lib/unistr/u8-strchr.c: Likewise.
4093         * lib/unistr/u8-strrchr.c: Likewise.
4094         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
4095         * lib/unistr/u16-strchr.c: Likewise.
4096         * lib/unistr/u16-strrchr.c: Likewise.
4097         * lib/striconveh.c: Update.
4098         * lib/linebreak.c: Update.
4099
4100 2007-03-24  Bruno Haible  <bruno@clisp.org>
4101
4102         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
4103         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
4104
4105 2007-03-22  Bruno Haible  <bruno@clisp.org>
4106
4107         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
4108
4109 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
4110
4111         * MODULES.html.sh (File system functions): New module write-any-file.
4112         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
4113         * m4/write-any-file.m4: New files.
4114
4115 2007-03-23  Eric Blake  <ebb9@byu.net>
4116
4117         * gnulib-tool: Rearrange space-tab sequences, since some editors
4118         like to eat them.
4119
4120 2007-03-23  Eric Blake  <ebb9@byu.net>
4121
4122         * lib/version-etc.c (version_etc_va): Update license wording to
4123         be more concise.  Recommended by Richard Stallman.
4124
4125 2007-03-22  Bruno Haible  <bruno@clisp.org>
4126
4127         * lib/poll.c (MSG_PEEK): New fallback definition.
4128
4129 2007-03-22  Bruno Haible  <bruno@clisp.org>
4130
4131         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
4132         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
4133         (main): Update.
4134         Fixes a compilation error on BeOS.
4135
4136 2007-03-22  Bruno Haible  <bruno@clisp.org>
4137
4138         * modules/frexpl-tests: New file.
4139         * tests/test-frexpl.c: New file.
4140
4141         * modules/frexpl: New file.
4142         * m4/frexpl.m4: New file.
4143         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
4144         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
4145         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
4146         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
4147         (Depends-on): Add frexpl. Remove isnanl-nolibm.
4148         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
4149
4150 2007-03-22  Bruno Haible  <bruno@clisp.org>
4151
4152         * lib/frexpl.c: Share code with lib/frexp.c.
4153         * modules/mathl (Files): Add lib/frexp.c.
4154         (Depends-on): Add isnanl-nolibm.
4155
4156 2007-03-22  Bruno Haible  <bruno@clisp.org>
4157
4158         * modules/printf-frexp (Files): Add m4/frexp.m4.
4159         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
4160         only if the found frexp function actually works.
4161
4162 2007-03-22  Bruno Haible  <bruno@clisp.org>
4163
4164         * lib/frexp.c: Remove older implementation that uses divisions.
4165
4166 2007-03-21  Bruno Haible  <bruno@clisp.org>
4167
4168         * modules/frexp-tests: New file.
4169         * tests/test-frexp.c: New file.
4170
4171         * modules/frexp: New file.
4172         * lib/frexp.c: New file.
4173         * m4/frexp.m4: New file.
4174         * lib/math_.h (frexp): New declaration.
4175         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
4176         REPLACE_FREXP.
4177         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
4178
4179 2007-03-21  Bruno Haible  <bruno@clisp.org>
4180
4181         * modules/isnanl-tests: New file.
4182         * tests/test-isnanl.c: New file.
4183
4184         * modules/isnanl: New file.
4185         * lib/isnanl.h: New file.
4186         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
4187         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
4188         gl_FUNC_ISNANL_WORKS.
4189         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
4190         New macros.
4191
4192 2007-03-21  Bruno Haible  <bruno@clisp.org>
4193
4194         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
4195         lib/isnanl.h.
4196         (Include): Update.
4197         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
4198         * lib/vasnprintf.c: Update.
4199         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
4200         tests/test-isnanl.h, remove tests/test-isnanl.c.
4201         (Makefile.am): Update.
4202         * tests/test-isnanl-nolibm.c: New file.
4203         * tests/test-isnanl.h: New file.
4204         * tests/test-isnanl.c: Remove file.
4205
4206 2007-03-21  Jim Meyering  <jim@meyering.net>
4207
4208         When trying to open ".", treat ESTALE like EACCES.
4209         * lib/savewd.c (savewd_save): Resort to forking not just upon
4210         failure with EACCES, but also when errno is ESTALE.
4211
4212 2007-03-20  Bruno Haible  <bruno@clisp.org>
4213
4214         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
4215         Needed on AIX 5.1. Reported by Matthew Woehlke.
4216
4217 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4218
4219         Suggestions by Bruno Haible:
4220         * lib/acl-internal.h: Include "gettext.h" rather than rolling
4221         our own.
4222         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
4223         * modules/acl (Depends-on): Add gettext.
4224
4225 2007-03-19  Bruno Haible  <bruno@clisp.org>
4226
4227         * modules/iconvme: Remove file.
4228         * lib/iconvme.h: Remove file.
4229         * lib/iconvme.c: Remove file.
4230         * m4/iconvme.m4: Remove file.
4231
4232 2007-03-19  Bruno Haible  <bruno@clisp.org>
4233
4234         * doc/relocatable-maint.texi: Break long shell script line.
4235         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
4236
4237 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4238
4239         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
4240         handle file_has_acl.
4241         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
4242         * lib/acl.c: Move header inclusions and related macro defns into
4243         lib/acl-internal.h.
4244         (S_ISLNK): Remove defn, since that's now done for us.
4245         (file_has_acl): Move to lib/file-has-acl.c.
4246         Call acl_trivial if available.  This is the crucial part of the fix.
4247         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
4248         shared within the library.  Rewrite a bit, partly to make it compatible
4249         with the GNU coding style.
4250         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
4251         Remove unnecessary double-quotes.
4252         Don't test for acl_to_text; the build will catch that.
4253         Replace acl_entries if it doesn't exist and it is needed.
4254         Check for -lsec and acl_trivial (as used on Solaris 10).
4255         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
4256         lib/file-has-acl.c.
4257         (Depends-on): Add sys_stat, for S_ISLNK.
4258
4259 2007-03-19  Ben Pfaff  <blp@gnu.org>
4260
4261         * doc/gnulib.texi: Fix typos.
4262         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
4263
4264 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4265
4266         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
4267         If size is zero here, buf must be zero.
4268
4269 2007-03-19  Simon Josefsson  <simon@josefsson.org>
4270
4271         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
4272         <bruno@clisp.org>.
4273
4274 2007-03-18  Bruno Haible  <bruno@clisp.org>
4275
4276         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
4277         Suggested by Eric Blake.
4278
4279 2007-03-18  Ben Pfaff  <blp@gnu.org>
4280
4281         * doc/relocatable.texi: Recommend using as prefix a directory
4282         that does not exist and will never be created.  Based on
4283         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
4284         and others.
4285
4286 2007-03-17  Bruno Haible  <bruno@clisp.org>
4287
4288         * lib/fchownat.c: Include lchown.h.
4289
4290 2007-03-17  Bruno Haible  <bruno@clisp.org>
4291
4292         Fix endless loop when the given allocated size was > INT_MAX.
4293         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
4294         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
4295         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
4296         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
4297         * lib/sprintf.c (sprintf): Likewise.
4298
4299 2007-03-17  Bruno Haible  <bruno@clisp.org>
4300
4301         * tests/test-argp-2.sh (func_compare): Output a context diff.
4302
4303 2007-03-17  Bruno Haible  <bruno@clisp.org>
4304
4305         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
4306         locale's decimal-point character.
4307
4308 2007-03-17  Bruno Haible  <bruno@clisp.org>
4309
4310         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
4311         before comparing it. Needed because on some platforms (e.g. x86) a
4312         'long double' occupies less bytes than sizeof (long double).
4313
4314 2007-03-17  Bruno Haible  <bruno@clisp.org>
4315
4316         * tests/test-crc.c (main): Make printf statements 64-bit clean.
4317         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
4318         * tests/test-getaddrinfo.c (simple): Likewise.
4319         * tests/test-read-file.c (main): Likewise.
4320
4321 2007-03-17  Bruno Haible  <bruno@clisp.org>
4322
4323         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
4324
4325 2007-03-17  Bruno Haible  <bruno@clisp.org>
4326
4327         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
4328         unused variable.
4329
4330 2007-03-17  Bruno Haible  <bruno@clisp.org>
4331
4332         * tests/test-c-strcasecmp.c: Include c-strcase.h.
4333         * tests/test-c-strncasecmp.c: Likewise.
4334
4335 2007-03-17  Bruno Haible  <bruno@clisp.org>
4336
4337         * modules/stdlib (Depends-on): Add unistd.
4338         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
4339         Needed for MacOS X 10.3.
4340
4341 2007-03-17  Bruno Haible  <bruno@clisp.org>
4342
4343         * lib/unistr/u-strdup.h: Include <stdlib.h>.
4344
4345 2007-03-17  Bruno Haible  <bruno@clisp.org>
4346
4347         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
4348
4349 2007-03-17  Bruno Haible  <bruno@clisp.org>
4350
4351         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
4352         to reflect files copied from gnulib (with or without modifications).
4353         Suggested by Jim Meyering.
4354
4355 2007-03-17  Eric Blake  <ebb9@byu.net>
4356
4357         * NEWS: Document stdlib change from 2007-02-18.
4358
4359 2007-03-17  Jim Meyering  <jim@meyering.net>
4360
4361         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
4362         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
4363         someone uses a name containing shell meta-characters.
4364         Reported by Alfred M. Szmidt.
4365
4366         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
4367
4368 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
4369
4370         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
4371         and copy gettext configuration files only if configure.ac contains
4372         a use of AM_GNU_GETTEXT_VERSION.
4373
4374 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
4375
4376         * build-aux/bootstrap (gnulib_name): New variable.
4377         (gnulib_tool_options): Use it.
4378
4379 2007-03-13  Simon Josefsson  <simon@josefsson.org>
4380
4381         * tests/test-des.c: Use new namespace.
4382
4383 2007-03-15  Bruno Haible  <bruno@clisp.org>
4384
4385         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
4386         Reported by James Youngman <jay@gnu.org>.
4387
4388 2007-03-15  Bruno Haible  <bruno@clisp.org>
4389
4390         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
4391         declared prototype. Needed with cc on OSF/1 5.1.
4392
4393 2007-03-15  Bruno Haible  <bruno@clisp.org>
4394
4395         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
4396         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
4397         (struct gl_list_implementation): Add dispose_fn argument to the
4398         'create_empty', 'create' methods.
4399         (struct gl_list_impl_base): Add field 'dispose_fn'.
4400         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
4401         argument.
4402         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
4403         dispose_fn argument.
4404         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
4405         dispose_fn on the dropped values.
4406         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
4407         dispose_fn argument.
4408         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
4409         dropped values.
4410         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
4411         (gl_tree_remove_node): Call dispose_fn on the dropped value.
4412         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
4413         (gl_tree_remove_node): Call dispose_fn on the dropped value.
4414         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
4415         argument.
4416         (gl_tree_list_free): Call dispose_fn on the dropped values.
4417         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
4418         the dropped values.
4419         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
4420         Add dispose_fn argument.
4421         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
4422         Call dispose_fn on the dropped values.
4423         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
4424         Add dispose_fn argument.
4425         (gl_sublist_create): Initialize the 'dispose_fn' field.
4426         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
4427         * tests/test-array_list.c (main): Update.
4428         * tests/test-carray_list.c (main): Update.
4429         * tests/test-avltree_list.c (main): Update.
4430         * tests/test-rbtree_list.c (main): Update.
4431         * tests/test-avltreehash_list.c (main): Update.
4432         * tests/test-rbtreehash_list.c (main): Update.
4433         * tests/test-linked_list.c (main): Update.
4434         * tests/test-linkedhash_list.c (main): Update.
4435         * tests/test-array_oset.c (main): Update.
4436
4437 2007-03-15  Bruno Haible  <bruno@clisp.org>
4438
4439         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
4440         (gl_oset_create_empty): Add dispose_fn argument.
4441         (struct gl_oset_implementation): Add dispose_fn argument to
4442         'create_empty' method.
4443         (struct gl_oset_impl_base): Add dispose_fn field.
4444         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
4445         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
4446         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
4447         values.
4448         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
4449         (gl_tree_oset_free): Call dispose_fn on the dropped values.
4450         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
4451         dropped value.
4452         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
4453         dropped value.
4454         * tests/test-array_oset.c (main): Update.
4455         * tests/test-avltree_oset.c (main): Update.
4456         * tests/test-rbtree_oset.c (main): Update.
4457         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
4458
4459 2007-03-13  Bruno Haible  <bruno@clisp.org>
4460
4461         * tests/test-stdbool.c (i): Update after last patch.
4462
4463 2007-03-12  Bruno Haible  <bruno@clisp.org>
4464
4465         * lib/quotearg.c: Include <wctype.h> early, before the definition of
4466         the iswprint macro. Needed on Solaris 2.5.1.
4467
4468 2007-03-12  Bruno Haible  <bruno@clisp.org>
4469
4470         * tests/test-printf-frexp.c (main): Declare x as volatile.
4471
4472 2007-03-12  Simon Josefsson  <simon@josefsson.org>
4473
4474         * doc/gnulib.texi (Build robot for gnulib): New section.
4475
4476 2007-03-12  Jim Meyering  <jim@meyering.net>
4477
4478         * build-aux/bootstrap: New file.
4479         * build-aux/bootstrap.conf: New file, from coreutils.
4480
4481 2007-03-11  Bruno Haible  <bruno@clisp.org>
4482
4483         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
4484
4485 2007-03-12  Simon Josefsson  <simon@josefsson.org>
4486
4487         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
4488         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
4489         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
4490
4491 2007-03-11  Bruno Haible  <bruno@clisp.org>
4492
4493         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
4494         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
4495
4496 2007-03-11  Bruno Haible  <bruno@clisp.org>
4497
4498         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
4499         formula. Needed for SunPRO C 5.0.
4500
4501 2007-03-11  Bruno Haible  <bruno@clisp.org>
4502
4503         * modules/long-options (Depends-on): Add getopt.
4504
4505 2007-03-11  Bruno Haible  <bruno@clisp.org>
4506
4507         * modules/modechange (Depends-on): Add stdbool.
4508
4509 2007-03-11  Bruno Haible  <bruno@clisp.org>
4510
4511         * modules/i-ring (Depends-on): Add stdbool.
4512
4513 2007-03-11  Bruno Haible  <bruno@clisp.org>
4514
4515         * modules/gc-des (Depends-on): Add stdbool.
4516
4517 2007-03-11  Bruno Haible  <bruno@clisp.org>
4518
4519         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
4520
4521 2007-03-11  Bruno Haible  <bruno@clisp.org>
4522
4523         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
4524
4525 2007-03-11  Bruno Haible  <bruno@clisp.org>
4526
4527         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
4528
4529 2007-03-11  Bruno Haible  <bruno@clisp.org>
4530
4531         * lib/vasnprintf.c (sprintf): Undefine.
4532
4533 2007-03-11  Bruno Haible  <bruno@clisp.org>
4534
4535         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
4536         initializers in SunPRO C and Compaq C compilers.
4537
4538 2007-03-11  Bruno Haible  <bruno@clisp.org>
4539
4540         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
4541         decrementing code ANSI C compliant.
4542
4543 2007-03-11  Bruno Haible  <bruno@clisp.org>
4544
4545         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
4546         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
4547
4548 2007-03-11  Bruno Haible  <bruno@clisp.org>
4549
4550         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
4551         <stdbool.h> substitute doesn't pass.
4552
4553 2007-03-11  Bruno Haible  <bruno@clisp.org>
4554
4555         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
4556
4557 2007-03-11  Bruno Haible  <bruno@clisp.org>
4558
4559         * gnulib-tool (func_create_megatestdir): Create also an autobuild
4560         script, for submission to autobuild.josefsson.org.
4561
4562 2007-03-10  Bruno Haible  <bruno@clisp.org>
4563
4564         * modules/canonicalize-lgpl-tests: New file.
4565         * tests/test-canonicalize-lgpl.sh: New file.
4566         * tests/test-canonicalize-lgpl.c: New file.
4567
4568         * modules/c-strcase-tests: New file.
4569         * tests/test-c-strcase.sh: New file.
4570         * tests/test-c-strcasecmp.c: New file.
4571         * tests/test-c-strncasecmp.c: New file.
4572
4573         * modules/atexit-tests: New file.
4574         * tests/test-atexit.sh: New file.
4575         * tests/test-atexit.c: New file.
4576
4577 2007-03-10  Bruno Haible  <bruno@clisp.org>
4578
4579         * tests/test-binary-io.sh: Use temporary filenames that are not so
4580         likely to clash with those of other tests (in a parallel make).
4581         * tests/test-binary-io.c: Likewise.
4582
4583 2007-03-10  Bruno Haible  <bruno@clisp.org>
4584
4585         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
4586         fallback; use #error instead.
4587         Suggested by Simon Josefsson.
4588
4589 2007-03-10  Bruno Haible  <bruno@clisp.org>
4590
4591         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
4592         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
4593         first and the last.
4594
4595 2007-03-10  Bruno Haible  <bruno@clisp.org>
4596
4597         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
4598
4599 2007-03-10  Bruno Haible  <bruno@clisp.org>
4600
4601         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
4602         "make distcheck".
4603         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
4604         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
4605         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
4606
4607 2007-03-10  Bruno Haible  <bruno@clisp.org>
4608
4609         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
4610         variable.
4611         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
4612         variable.
4613
4614 2007-03-09  Eric Blake  <ebb9@byu.net>
4615         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
4616
4617         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
4618         types are not being provided by gnulib.
4619         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
4620         types are supported.
4621
4622 2007-03-10  Bruno Haible  <bruno@clisp.org>
4623
4624         * lib/stdio_.h (__attribute__): New macro.
4625         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
4626         vsprintf): Specify __attribute__ __format__ for GCC.
4627         Suggested by Eric Blake.
4628
4629 2007-03-09  Bruno Haible  <bruno@clisp.org>
4630
4631         * modules/printf-posix-tests: New file.
4632         * tests/test-printf-posix.sh: New file.
4633         * tests/test-printf-posix.c: New file.
4634
4635         * modules/printf-posix: New file.
4636         * lib/printf.c: New file.
4637         * m4/printf-posix-rpl.m4: New file.
4638         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
4639         REPLACE_PRINTF.
4640         * lib/stdio_.h (printf): New declaration.
4641         (format, __format__, ____printf____, ____scanf____, ____strftime____,
4642         ____strfmon____): New macros.
4643         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
4644         REPLACE_PRINTF.
4645
4646 2007-03-09  Bruno Haible  <bruno@clisp.org>
4647
4648         * tests/test-vasnprintf-posix2.sh: New file.
4649         * tests/test-vasnprintf-posix2.c: New file.
4650         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
4651         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
4652         (Makefile.am): Activate test-vasnprintf-posix2.sh.
4653
4654         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
4655         a locale dependent decimal point, rather than always '.'.
4656
4657 2007-03-09  Eric Blake  <ebb9@byu.net>
4658
4659         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
4660         spite of platforms like Tandem/NSK that define it to -1.
4661
4662 2007-03-08  Bruno Haible  <bruno@clisp.org>
4663
4664         * modules/vprintf-posix-tests: New file.
4665         * tests/test-vprintf-posix.sh: New file.
4666         * tests/test-vprintf-posix.c: New file.
4667         * tests/test-printf-posix.h: New file.
4668
4669         * modules/vprintf-posix: New file.
4670         * lib/vprintf.c: New file.
4671         * m4/vprintf-posix.m4: New file.
4672         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
4673         REPLACE_VPRINTF.
4674         * lib/stdio_.h (vprintf): New declaration.
4675         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
4676         REPLACE_VPRINTF.
4677
4678 2007-03-08  Bruno Haible  <bruno@clisp.org>
4679
4680         * modules/fprintf-posix-tests: New file.
4681         * tests/test-fprintf-posix.sh: New file.
4682         * tests/test-fprintf-posix.c: New file.
4683
4684         * modules/fprintf-posix: New file.
4685         * lib/fprintf.c: New file.
4686         * m4/fprintf-posix.m4: New file.
4687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
4688         REPLACE_FPRINTF.
4689         * lib/stdio_.h (fprintf): New declaration.
4690         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
4691         REPLACE_FPRINTF.
4692
4693 2007-03-08  Bruno Haible  <bruno@clisp.org>
4694
4695         * modules/vfprintf-posix-tests: New file.
4696         * tests/test-vfprintf-posix.sh: New file.
4697         * tests/test-vfprintf-posix.c: New file.
4698         * tests/test-fprintf-posix.h: New file.
4699         * tests/test-fprintf-posix.out: New file.
4700
4701         * modules/vfprintf-posix: New file.
4702         * lib/vfprintf.c: New file.
4703         * m4/vfprintf-posix.m4: New file.
4704         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
4705         REPLACE_VFPRINTF.
4706         * lib/stdio_.h (vfprintf): New declaration.
4707         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
4708         REPLACE_VFPRINTF.
4709
4710 2007-03-08  Bruno Haible  <bruno@clisp.org>
4711
4712         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
4713
4714 2007-03-08  Bruno Haible  <bruno@clisp.org>
4715
4716         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
4717         instead of 'expr' invocations.
4718         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4719         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4720         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4721         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4722         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4723         Suggested by Paul Eggert.
4724
4725 2007-03-08  Bruno Haible  <bruno@clisp.org>
4726
4727         * modules/fseterr-tests: New file.
4728         * tests/test-fseterr.c: New file.
4729
4730         * modules/fseterr: New file.
4731         * lib/fseterr.h: New file.
4732         * lib/fseterr.c: New file.
4733
4734 2007-03-08  Bruno Haible  <bruno@clisp.org>
4735
4736         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
4737         * lib/getopt_.h: Likewise.
4738         * lib/mbswidth.h: Likewise.
4739         * lib/setenv.h: Likewise.
4740         * lib/vasnprintf.h: Likewise.
4741         * lib/vasprintf.h: Likewise.
4742         * lib/verror.h: Likewise.
4743         * lib/xsetenv.h: Likewise.
4744         * lib/xvasprintf.h: Likewise.
4745
4746 2007-03-08  Jim Meyering  <jim@meyering.net>
4747
4748         * users.txt: Add parted.
4749
4750         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
4751
4752 2007-03-07  Bruno Haible  <bruno@clisp.org>
4753
4754         * m4/printf.m4: Make the shell script snippets copy&pastable.
4755
4756 2007-03-02  Bruno Haible  <bruno@clisp.org>
4757
4758         * lib/netinet_in_.h: New file.
4759         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
4760         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
4761         * modules/netinet_in (Files): Add lib/netinet_in_.h.
4762         (Depends-on): Add absolute-header.
4763         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
4764         into netinet/in.h.
4765
4766 2007-03-03  Bruno Haible  <bruno@clisp.org>
4767
4768         * lib/sys_select_.h: New file.
4769         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
4770         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
4771         * modules/sys_select (Files): Add lib/sys_select_.h.
4772         (Depends-on): Add absolute-header.
4773         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
4774         into sys/select.h.
4775
4776 2007-03-02  Bruno Haible  <bruno@clisp.org>
4777
4778         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
4779         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
4780         values.
4781         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
4782         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
4783         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
4784         * modules/sys_socket (Depends-on): Add absolute-header.
4785         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
4786         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
4787         (Include): Remove requirement of inclusion of <sys/types.h>.
4788
4789 2007-03-02  Bruno Haible  <bruno@clisp.org>
4790
4791         * lib/byteswap_.h (bswap_32): Fix formula.
4792
4793 2007-03-06  Bruno Haible  <bruno@clisp.org>
4794
4795         * modules/sprintf-posix-tests: New file.
4796         * tests/test-sprintf-posix.c: New file.
4797
4798         * modules/sprintf-posix: New file.
4799         * lib/sprintf.c: New file.
4800         * m4/sprintf-posix.m4: New file.
4801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
4802         REPLACE_SPRINTF.
4803         * lib/stdio_.h (sprintf): New declaration.
4804         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
4805         REPLACE_SPRINTF.
4806
4807 2007-03-06  Bruno Haible  <bruno@clisp.org>
4808
4809         * modules/vsprintf-posix-tests: New file.
4810         * tests/test-vsprintf-posix.c: New file.
4811         * tests/test-sprintf-posix.h: New file.
4812
4813         * modules/vsprintf-posix: New file.
4814         * lib/vsprintf.c: New file.
4815         * m4/vsprintf-posix.m4: New file.
4816         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
4817         REPLACE_VSPRINTF.
4818         * lib/stdio_.h (vsprintf): New declaration.
4819         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
4820         REPLACE_VSPRINTF.
4821
4822 2007-03-06  Bruno Haible  <bruno@clisp.org>
4823
4824         * modules/vsnprintf (Depend-on): Remove minmax.
4825
4826 2007-03-06  Bruno Haible  <bruno@clisp.org>
4827
4828         * modules/snprintf-posix-tests: New file.
4829         * tests/test-snprintf-posix.c: New file.
4830
4831         * modules/snprintf-posix: New file.
4832         * m4/snprintf-posix.m4: New file.
4833         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
4834         gl_FUNC_SNPRINTF.
4835         (gl_FUNC_SNPRINTF): Invoke it.
4836         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
4837         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
4838         is set.
4839         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
4840
4841 2007-03-06  Bruno Haible  <bruno@clisp.org>
4842
4843         * modules/vsnprintf-posix-tests: New file.
4844         * tests/test-vsnprintf-posix.c: New file.
4845         * tests/test-snprintf-posix.h: New file.
4846
4847         * modules/vsnprintf-posix: New file.
4848         * m4/vsnprintf-posix.m4: New file.
4849         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
4850         gl_FUNC_VSNPRINTF.
4851         (gl_FUNC_VSNPRINTF): Invoke it.
4852         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
4853         * lib/stdio_.h (vsnprintf): Define as a replacement if
4854         REPLACE_VSNPRINTF is set.
4855         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
4856
4857 2007-03-06  Bruno Haible  <bruno@clisp.org>
4858
4859         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
4860         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
4861
4862 2007-03-06  Bruno Haible  <bruno@clisp.org>
4863
4864         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
4865         (asinl): Declare also if HAVE_DECL_ASINL is set.
4866         (atanl): Declare also if HAVE_DECL_ATANL is set.
4867         (ceill): Declare also if HAVE_DECL_CEILL is set.
4868         (cosl): Declare also if HAVE_DECL_COSL is set.
4869         (expl): Declare also if HAVE_DECL_EXPL is set.
4870         (floorl): Declare also if HAVE_DECL_FLOORL is set.
4871         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
4872         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
4873         (logl): Declare also if HAVE_DECL_LOGL is set.
4874         (sinl): Declare also if HAVE_DECL_SINL is set.
4875         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
4876         (tanl): Declare also if HAVE_DECL_TANL is set.
4877         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
4878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
4879         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
4880         declaration of frexpl, ldexpl.
4881         * modules/printf-frexpl (Depends-on): Add math.
4882         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
4883
4884 2007-03-05  Bruno Haible  <bruno@clisp.org>
4885
4886         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
4887         frexpl and ldexpl are declared.
4888         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
4889
4890 2007-03-05  Bruno Haible  <bruno@clisp.org>
4891
4892         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
4893         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
4894
4895 2007-03-05  Bruno Haible  <bruno@clisp.org>
4896
4897         * lib/stdio_.h: Include <stddef.h>.
4898
4899 2007-03-05  Bruno Haible  <bruno@clisp.org>
4900
4901         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
4902
4903 2007-03-05  Bruno Haible  <bruno@clisp.org>
4904
4905         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
4906         NetBSD 4, from Ralf Wildenhues.
4907
4908 2007-03-04  Bruno Haible  <bruno@clisp.org>
4909
4910         * lib/vasprintf.h: Update #if logic for the case when the functions
4911         exist but are overridden.
4912
4913 2007-03-04  Bruno Haible  <bruno@clisp.org>
4914
4915         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
4916         implementations: glibc-2.4 and MacOS X 10.3.
4917         * tests/test-vasnprintf-posix.c (test_function): Test also the case
4918         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
4919         * tests/test-vasprintf-posix.c (test_function): Likewise.
4920
4921 2007-03-04  Bruno Haible  <bruno@clisp.org>
4922
4923         * modules/vasprintf-posix-tests: New file.
4924         * tests/test-vasprintf-posix.c: New file.
4925
4926         * modules/vasprintf-posix: New file.
4927         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
4928         defined.
4929         * m4/vasprintf-posix.m4: New file.
4930         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
4931         gl_FUNC_VASPRINTF.
4932         (gl_FUNC_VASPRINTF): Invoke it.
4933         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
4934         here.
4935         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
4936
4937 2007-03-04  Bruno Haible  <bruno@clisp.org>
4938
4939         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
4940         REPLACE_GETTIMEOFDAY.
4941         * modules/sys_time (Makefile.am): Likewise.
4942         * m4/sys_time_h.m4: Likewise.
4943         * m4/gettimeofday.m4: Likewise.
4944
4945 2007-03-04  Bruno Haible  <bruno@clisp.org>
4946
4947         * modules/vasnprintf-posix-tests: New file.
4948         * tests/test-vasnprintf-posix.c: New file.
4949
4950         * modules/vasnprintf-posix: New file.
4951         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
4952         printf-frexpl.h.
4953         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
4954         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
4955         REPLACE_VASNPRINTF is defined.
4956         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
4957         gl_FUNC_VASNPRINTF.
4958         (gl_FUNC_VASNPRINTF): Invoke it.
4959         * m4/vasnprintf-posix.m4: New file.
4960         * m4/printf.m4: New file.
4961
4962 2007-03-04  Bruno Haible  <bruno@clisp.org>
4963
4964         Compile progreloc.c only if --enable-relocatable is specified.
4965         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
4966         if --enable-relocatable was specified.
4967         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
4968         lib_SOURCES.
4969
4970 2007-03-04  Jim Meyering  <jim@meyering.net>
4971
4972         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
4973         Use it consistently, rather than enumerating errno constants.
4974
4975 2007-03-04  Bruno Haible  <bruno@clisp.org>
4976
4977         * modules/xvasprintf-tests: New file.
4978         * tests/test-xvasprintf.c: New file.
4979
4980         * modules/vasprintf-tests: New file.
4981         * tests/test-vasprintf.c: New file.
4982
4983         * modules/vasnprintf-tests: New file.
4984         * tests/test-vasnprintf.c: New file.
4985
4986         * modules/vsnprintf-tests: New file.
4987         * tests/test-vsnprintf.c: New file.
4988
4989         * modules/snprintf-tests: New file.
4990         * tests/test-snprintf.c: New file.
4991
4992 2007-03-04  Bruno Haible  <bruno@clisp.org>
4993
4994         Compile relocatable.c only if --enable-relocatable is specified.
4995         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
4996         gl_RELOCATABLE_LIBRARY.
4997         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
4998         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
4999         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
5000         gl_RELOCATABLE_LIBRARY.
5001         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
5002         (Makefile.am): Remove lib_SOURCES.
5003         * modules/relocatable-lib-lgpl (configure.ac): Invoke
5004         gl_RELOCATABLE_LIBRARY.
5005         (Makefile.am): Remove lib_SOURCES.
5006         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
5007         always.
5008         * modules/relocatable-prog-wrapper (configure.ac): Invoke
5009         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
5010
5011 2007-03-04  Bruno Haible  <bruno@clisp.org>
5012
5013         * modules/argmatch-tests: New file.
5014         * tests/test-argmatch.c: New file.
5015
5016         * tests/test-allocsa.c (main): Halve the number of loop runs.
5017
5018         * modules/alloca-opt-tests: New file.
5019         * tests/test-alloca-opt.c: New file.
5020
5021 2007-03-04  Jim Meyering  <jim@meyering.net>
5022
5023         Work around difference between Linux ACLs and Solaris 10 ZFS.
5024         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
5025         for EINVAL.
5026
5027 2007-03-03  Bruno Haible  <bruno@clisp.org>
5028
5029         * modules/relocatable-prog (Depends-on): Add back progreloc's
5030         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
5031
5032 2007-03-03  Bruno Haible  <bruno@clisp.org>
5033
5034         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
5035         * modules/relocatable-lib: New file.
5036
5037 2007-03-03  Bruno Haible  <bruno@clisp.org>
5038
5039         * modules/relocatable-prog: Renamed from modules/relocatable.
5040         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
5041
5042 2007-03-03  Bruno Haible  <bruno@clisp.org>
5043
5044         * modules/relocatable-script (Files): Add doc/relocatable.texi,
5045         m4/relocatable-lib.m4.
5046         (Depends-on): Remove 'relocatable'.
5047         (configure.ac): Add gl_RELOCATABLE_NOP.
5048
5049 2007-03-03  Bruno Haible  <bruno@clisp.org>
5050
5051         * modules/relocatable-prog-wrapper: New file.
5052         * modules/relocatable (Depends-on): Add it. Remove all other
5053         dependencies except progname.
5054         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
5055
5056         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
5057         (gl_FUNC_STRERROR): Nop.
5058         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
5059
5060         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
5061         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
5062
5063         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
5064         (gl_FUNC_READLINK): Update.
5065
5066         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
5067
5068 2007-03-03  Bruno Haible  <bruno@clisp.org>
5069
5070         * lib/xreadlink.c: Include <unistd.h> unconditionally.
5071         * modules/xreadlink (Depends-on): Add unistd.
5072         * modules/xreadlink-with-size (Depends-on): Likewise.
5073
5074 2007-03-03  Bruno Haible  <bruno@clisp.org>
5075
5076         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
5077         extracted from gt_FUNC_SETENV.
5078         (gt_FUNC_SETENV): Remove macro.
5079         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
5080         remove gt_FUNC_SETENV.
5081
5082 2007-03-03  Bruno Haible  <bruno@clisp.org>
5083
5084         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
5085         ENABLE_RELOCATABLE here.
5086         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
5087
5088 2007-03-03  Bruno Haible  <bruno@clisp.org>
5089
5090         * modules/rbtreehash-list-tests (Depends-on): Add progname.
5091         * tests/test-rbtreehash_list.c: Include progname.h.
5092         (main): Call set_program_name.
5093
5094         * modules/rbtree-oset-tests (Depends-on): Add progname.
5095         * tests/test-rbtree_oset.c: Include progname.h.
5096         (main): Call set_program_name.
5097
5098         * modules/rbtree-list-tests (Depends-on): Add progname.
5099         * tests/test-rbtree_list.c: Include progname.h.
5100         (main): Call set_program_name.
5101
5102         * modules/linked-list-tests (Depends-on): Add progname.
5103         * tests/test-linked_list.c: Include progname.h.
5104         (main): Call set_program_name.
5105
5106 2007-03-03  Bruno Haible  <bruno@clisp.org>
5107
5108         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
5109         All uses of __restrict changed to _Restrict_.
5110         * lib/glob_.h (__restrict): Remove macro.
5111
5112 2007-03-02  Bruno Haible  <bruno@clisp.org>
5113
5114         * modules/gettext (configure.ac): Require gettext infrastructure
5115         from version 0.16.1.
5116
5117 2007-03-02  Bruno Haible  <bruno@clisp.org>
5118
5119         * modules/linkedhash-list-tests (Depends-on): Add progname.
5120         * tests/test-linkedhash_list.c: Include progname.h.
5121         (main): Call set_program_name.
5122
5123         * modules/carray-list-tests (Depends-on): Add progname.
5124         * tests/test-carray_list.c: Include progname.h.
5125         (main): Call set_program_name.
5126
5127         * modules/avltreehash-list-tests (Depends-on): Add progname.
5128         * tests/test-avltreehash_list.c: Include progname.h.
5129         (main): Call set_program_name.
5130
5131         * modules/avltree-oset-tests (Depends-on): Add progname.
5132         * tests/test-avltree_oset.c: Include progname.h.
5133         (main): Call set_program_name.
5134
5135         * modules/avltree-list-tests (Depends-on): Add progname.
5136         * tests/test-avltree_list.c: Include progname.h.
5137         (main): Call set_program_name.
5138
5139         * modules/array-oset-tests (Depends-on): Add progname.
5140         * tests/test-array_oset.c: Include progname.h.
5141         (main): Call set_program_name.
5142
5143         * modules/array-list-tests (Depends-on): Add progname.
5144         * tests/test-array_list.c: Include progname.h.
5145         (main): Call set_program_name.
5146
5147         * modules/argp-tests (Depends-on): Add progname.
5148         * tests/test-argp.c: Include argp.h first. Include progname.h.
5149         (main): Call set_program_name.
5150
5151 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
5152
5153         * doc/gnulib-tool.texi (Initial import): Reword description of
5154         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
5155         limited effect even if defined after the first system include.
5156
5157 2007-03-01  Bruno Haible  <bruno@clisp.org>
5158
5159         * build-aux/config.libpath: Update to libtool-1.5.22.
5160         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5161
5162 2007-03-01  Bruno Haible  <bruno@clisp.org>
5163
5164         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
5165         foo_CFLAGS.
5166         Reported by Ralf Wildenhues.
5167
5168 2007-03-01  Bruno Haible  <bruno@clisp.org>
5169
5170         * build-aux/install-reloc: Remove object files left over by some
5171         compilers.
5172         Reported by Ralf Wildenhues.
5173
5174 2007-03-01  Bruno Haible  <bruno@clisp.org>
5175
5176         * build-aux/install-reloc: Break long lines.
5177
5178 2007-03-01  Bruno Haible  <bruno@clisp.org>
5179
5180         * doc/relocatable.texi: Document that it may not work on OpenBSD.
5181         Reported by Ralf Wildenhues.
5182
5183 2007-03-01  Bruno Haible  <bruno@clisp.org>
5184
5185         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
5186         include ordering constraints.
5187
5188 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
5189
5190         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
5191         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
5192         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
5193         as another example.
5194         * lib/time_.h: Fix misspelling.
5195         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
5196         Require gl_HEADER_TIME_H_DEFAULTS.
5197         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
5198         * m4/time_r.m4 (gl_TIME_R): Likewise.
5199         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
5200
5201 2007-03-01  Bruno Haible  <bruno@clisp.org>
5202
5203         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
5204         * m4/utimens.m4 (gl_UTIMENS): Likewise.
5205
5206 2007-03-01  Jim Meyering  <jim@meyering.net>
5207
5208         * modules/xreadlink (Maintainer): Add my name.
5209         * modules/xreadlink-with-size (Depends-on): Alphabetize.
5210
5211 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
5212             Bruno Haible  <bruno@clisp.org>
5213
5214         * build-aux/install-reloc: Compile also c-ctype.c.
5215         * build-aux/relocatable.sh.in: New file.
5216         * doc/relocatable.texi: New file.
5217         * doc/relocatable-maint.texi: New file.
5218         * doc/gnulib.texi: Include relocatable-maint.texi.
5219         * lib/progreloc.c: Include unistd.h unconditionally.
5220         * lib/relocwrapper.c: Include unistd.h unconditionally.
5221         Include c-ctype.h.
5222         (add_dotbin): Use c_tolower.
5223         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
5224         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
5225         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
5226         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
5227         to m4/relocatable-lib.m4.
5228         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
5229         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
5230         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
5231         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
5232         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
5233         * modules/relocatable: New file.
5234         * modules/relocatable-lib: New file.
5235         * modules/relocatable-script: New file.
5236
5237 2007-02-28  Bruno Haible  <bruno@clisp.org>
5238
5239         Import --enable-relocatable infrastructure.
5240         * build-aux/config.libpath: New file, from GNU gettext.
5241         * build-aux/install-reloc: New file, from GNU gettext.
5242         * build-aux/reloc-ldflags: New file, from GNU gettext.
5243         * lib/relocatable.h: New file, from GNU gettext.
5244         * lib/relocatable.c: New file, from GNU gettext.
5245         * lib/relocwrapper.c: New file, from GNU gettext.
5246         * m4/relocatable.m4: New file, from GNU gettext.
5247
5248 2007-02-28  Bruno Haible  <bruno@clisp.org>
5249
5250         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
5251
5252         * modules/xreadlink: New file, from GNU gettext with modifications.
5253         * lib/xreadlink.c: New file, from GNU gettext.
5254         * lib/xreadlink.h: Add comments.
5255         (xreadlink): New declaration.
5256
5257         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
5258         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
5259         lib/xreadlink-with-size.c.
5260         (configure.ac): Remove gl_XREADLINK invocation.
5261         (Makefile.am): Augment lib_SOURCES.
5262         * m4/xreadlink.m4: Remove file.
5263         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
5264         (xreadlink_with_size): Renamed from xreadink.
5265         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
5266         * modules/canonicalize (Depends-on): Replace xreadlink with
5267         xreadlink-with-size.
5268         * lib/canonicalize.c (canonicalize_filename_mode): Update.
5269
5270 2007-02-25  Jim Meyering  <jim@meyering.net>
5271
5272         * build-aux/announce-gen: When complaining about excess arguments,
5273         list them.
5274
5275 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
5276
5277         * README: Document signed integer overflow situation more
5278         accurately.
5279
5280 2007-02-25  Bruno Haible  <bruno@clisp.org>
5281
5282         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
5283         'a' or 'A' conversion.
5284
5285 2007-02-25  Bruno Haible  <bruno@clisp.org>
5286
5287         * modules/filename: Renamed from modules/pathname.
5288         (Files): Replace lib/pathname.h with lib/filename.h. Replace
5289         lib/concatpath.c with lib/concat-filename.c.
5290         (Makefile.am): Update.
5291         (Include): Replace pathname.h with filename.h.
5292         * lib/filename.h: Renamed from lib/pathname.h.
5293         (concatenated_filename): Renamed from concatenated_pathname.
5294         * lib/concat-filename.c: Renamed from lib/concatpath.c.
5295         (concatenated_filename): Renamed from concatenated_pathname.
5296         * lib/findprog.c: Include filename.h instead of pathname.h.
5297         (find_in_path): Update.
5298         * lib/javacomp.c: Include filename.h instead of pathname.h.
5299         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
5300         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
5301         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
5302         is_oldgcj_14_13_usable, is_javac_usable): Update.
5303         * lib/javaexec.c: Include filename.h instead of pathname.h.
5304         (execute_java_class): Update.
5305         * modules/findprog: Update.
5306         * modules/javacomp: Update.
5307         * modules/javaexec: Update.
5308         * MODULES.html.sh (File system functions): Add 'filename', remove
5309         'pathname'.
5310
5311 2007-02-25  Bruno Haible  <bruno@clisp.org>
5312
5313         * modules/printf-frexpl-tests: New file.
5314         * tests/test-printf-frexpl.c: New file.
5315
5316         * modules/printf-frexpl: New file.
5317         * lib/printf-frexpl.h: New file.
5318         * lib/printf-frexpl.c: New file.
5319         * m4/printf-frexpl.m4: New file.
5320
5321 2007-02-25  Bruno Haible  <bruno@clisp.org>
5322
5323         * modules/printf-frexp-tests: New file.
5324         * tests/test-printf-frexp.c: New file.
5325
5326         * modules/printf-frexp: New file.
5327         * lib/printf-frexp.h: New file.
5328         * lib/printf-frexp.c: New file.
5329         * m4/printf-frexp.m4: New file.
5330
5331 2007-02-25  Bruno Haible  <bruno@clisp.org>
5332
5333         Assume automake >= 1.10 for the tests.
5334         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
5335         * modules/arctwo-tests: Likewise.
5336         * modules/argp-tests: Likewise.
5337         * modules/avltree-list-tests: Likewise.
5338         * modules/avltree-oset-tests: Likewise.
5339         * modules/avltreehash-list-tests: Likewise.
5340         * modules/carray-list-tests: Likewise.
5341         * modules/crc-tests: Likewise.
5342         * modules/des-tests: Likewise.
5343         * modules/gc-arcfour-tests: Likewise.
5344         * modules/gc-arctwo-tests: Likewise.
5345         * modules/gc-des-tests: Likewise.
5346         * modules/gc-hmac-md5-tests: Likewise.
5347         * modules/gc-hmac-sha1-tests: Likewise.
5348         * modules/gc-md2-tests: Likewise.
5349         * modules/gc-md4-tests: Likewise.
5350         * modules/gc-md5-tests: Likewise.
5351         * modules/gc-pbkdf2-sha1-tests: Likewise.
5352         * modules/gc-rijndael-tests: Likewise.
5353         * modules/gc-sha1-tests: Likewise.
5354         * modules/gc-tests: Likewise.
5355         * modules/getaddrinfo-tests: Likewise.
5356         * modules/hmac-md5-tests: Likewise.
5357         * modules/hmac-sha1-tests: Likewise.
5358         * modules/linked-list-tests: Likewise.
5359         * modules/linkedhash-list-tests: Likewise.
5360         * modules/lock-tests: Likewise.
5361         * modules/md2-tests: Likewise.
5362         * modules/md4-tests: Likewise.
5363         * modules/md5-tests: Likewise.
5364         * modules/rbtree-list-tests: Likewise.
5365         * modules/rbtree-oset-tests: Likewise.
5366         * modules/rbtreehash-list-tests: Likewise.
5367         * modules/read-file-tests: Likewise.
5368         * modules/rijndael-tests: Likewise.
5369         * modules/stdint-tests: Likewise.
5370         * modules/tls-tests: Likewise.
5371
5372 2007-02-24  Bruno Haible  <bruno@clisp.org>
5373
5374         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
5375         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
5376         function; instead check whether isnan with a double argument links.
5377         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
5378         function; instead check whether isnan with a 'long double' argument
5379         links.
5380         Reported by Eric Blake <ebb9@byu.net>.
5381
5382 2007-02-24  Bruno Haible  <bruno@clisp.org>
5383
5384         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
5385         defined.
5386         * lib/isnanl.c: Remove all code. Just include isnan.c.
5387         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
5388
5389 2007-02-25  Jim Meyering  <jim@meyering.net>
5390
5391         Avoid conflicting types for 'unsetenv' on FreeBSD.
5392         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
5393         conflicting with FreeBSD's (5.0 and 6.1) function declaration
5394         in stdlib.h.
5395
5396 2007-02-24  Bruno Haible  <bruno@clisp.org>
5397
5398         * modules/isnanl-nolibm-tests: New file.
5399         * tests/test-isnanl.c: New file.
5400
5401         * modules/isnanl-nolibm: New file.
5402         * lib/isnanl.h: New file.
5403         * lib/isnanl.c: New file.
5404         * m4/isnanl.m4: New file.
5405
5406 2007-02-24  Bruno Haible  <bruno@clisp.org>
5407
5408         * modules/isnan-nolibm-tests: New file.
5409         * tests/test-isnan.c: New file.
5410
5411         * modules/isnan-nolibm: New file.
5412         * lib/isnan.h: New file.
5413         * lib/isnan.c: New file.
5414         * m4/isnan.m4: New file.
5415
5416 2007-02-24  Bruno Haible  <bruno@clisp.org>
5417
5418         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
5419         assume that an exponent fits in 20 bits.
5420
5421 2007-02-24  Jim Meyering  <jim@meyering.net>
5422
5423         * m4/regex.m4: Update the description of the configure-time option,
5424         --without-included-regex, to state accurately what the defaults are,
5425         and perhaps to give people an idea why using this option is risky.
5426
5427 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5428
5429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
5430         loops on small arguments.  This attempts to avoid the problem
5431         Bruno Haible reported for AIX 4.3.2 in
5432         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
5433
5434 2007-02-23  Bruno Haible  <bruno@clisp.org>
5435
5436         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
5437         Needed for help2man.
5438
5439 2007-02-23  Karl Berry  <karl@gnu.org>
5440
5441         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
5442         exists, foo.h should be cvs-ignored, not committed.
5443
5444 2007-02-23  Eric Blake  <ebb9@byu.net>
5445
5446         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
5447         * lib/stat-time.h (includes): Likewise.
5448         * lib/utimecmp.c (includes): Likewise.
5449         * lib/utimens.h (includes): Likewise.
5450         * lib/getdate.y (includes): Also include "timespec.h" for use
5451         internal to the module.
5452         * modules/utimens (Depends-on): Revert yesterday's patch.
5453         * modules/nanosleep (Depends-on): Add missing dependency.
5454
5455 2007-02-22  Bruno Haible  <bruno@clisp.org>
5456
5457         * lib/glob.c: Don't include getlogin_r.h.
5458
5459 2007-02-22  Jim Meyering  <jim@meyering.net>
5460
5461         * modules/utimens (Depends-on): Add timespec, required for
5462         utimens.h's inclusion of timespec.h.
5463
5464 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
5465
5466         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
5467         long unreadable paths in GNU/Linux.  Problem reported by Andreas
5468         Schwab in
5469         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
5470         I'll try to think of a better way to fix the Solaris problem.
5471
5472         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
5473         like glibc; on Solaris 10, it fails with errno == EINVAL.
5474         POSIX says the behavior is unspecified if the first argument is NULL,
5475         so play it safe and never pass NULL to the system getcwd.
5476
5477 2007-02-21  Jim Meyering  <jim@meyering.net>
5478
5479         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
5480         of gettimeofday.  It would conflict with the one now always
5481         provided via sys_time_.h.  Reported by Matthew Woehlke, as
5482         an IRIX 6.5 build failure.
5483
5484 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
5485
5486         Minor fixups to port to Solaris 10 with Sun C 5.8.
5487         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
5488         * modules/getcwd (Depends-on): Add dirfd.
5489         * lib/putenv.c (putenv): #undef it.
5490         (rpl_putenv): New decl.
5491         (malloc, free): Include <stdlib.h> rather than prototyping separately.
5492
5493 2007-02-20  Bruno Haible  <bruno@clisp.org>
5494
5495         * modules/stdio-tests: New file.
5496         * tests/test-stdio.c: New file.
5497
5498         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
5499         (Depends-on): Add stdio.
5500         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
5501         (Include): Use <stdio.h> instead of vsnprintf.h.
5502         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
5503         HAVE_DECL_VSNPRINTF.
5504         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
5505
5506         * modules/snprintf (Files): Remove lib/snprintf.h.
5507         (Depends-on): Add stdio.
5508         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
5509         (Include): Use <stdio.h> instead of snprintf.h.
5510         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
5511         HAVE_DECL_SNPRINTF.
5512         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
5513         * lib/getaddrinfo.c: Likewise.
5514
5515         * modules/stdio: New file.
5516         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
5517         * lib/snprintf.h: Remove file.
5518         * lib/vsnprintf.h: Remove file.
5519         * lib/.cppi-disable: Remove snprintf.h.
5520         * m4/stdio_h.m4: New file.
5521         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
5522
5523 2007-02-20  Jim Meyering  <jim@meyering.net>
5524
5525         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
5526         used by e.g., mingw.  From Bruno Haible.
5527
5528 2007-02-19  Bruno Haible  <bruno@clisp.org>
5529
5530         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
5531         warnings.
5532         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5533
5534 2007-02-19  Bruno Haible  <bruno@clisp.org>
5535
5536         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
5537         from mingw users.
5538
5539 2007-02-19  Bruno Haible  <bruno@clisp.org>
5540
5541         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
5542         warnings.
5543         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
5544
5545 2007-02-19  Jim Meyering  <jim@meyering.net>
5546
5547         Don't use FD after a successful "fdopendir (fd)".
5548         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
5549         Reset it by calling dirfd on the just-obtained DIR*.
5550
5551         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
5552         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
5553
5554 2007-02-18  Bruno Haible  <bruno@clisp.org>
5555
5556         * lib/readlink.c: Include <unistd.h>.
5557         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
5558         HAVE_READLINK.
5559         * modules/readlink (Depends-on): Add unistd.
5560         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5561         (Include): Add <unistd.h>.
5562
5563         * lib/getlogin_r.h: Remove file.
5564         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
5565         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
5566         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
5567         HAVE_DECL_GETLOGIN_R.
5568         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
5569         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5570         (Include): Use <unistd.h> instead of getlogin_r.h.
5571
5572         * lib/getcwd.h: Remove file.
5573         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
5574         * lib/xgetcwd.c: Likewise.
5575         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
5576         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
5577         * modules/getcwd (Files): Remove lib/getcwd.h.
5578         (Depends-on): Add unistd.
5579         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5580         (Include): Use <unistd.h> instad of getcwd.h.
5581
5582         * lib/ftruncate.c: Include <unistd.h> first.
5583         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
5584         Set HAVE_FTRUNCATE.
5585         * modules/ftruncate (Depends-on): Add unistd.
5586         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5587
5588         * lib/fchdir.c: Include <unistd.h> first.
5589         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
5590         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
5591         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
5592         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5593         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
5594
5595         * lib/dup2.c: Include <unistd.h> first.
5596         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
5597         HAVE_DUP2.
5598         * modules/dup2 (Depends-on): Add unistd.
5599         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5600
5601         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
5602         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
5603         REPLACE_CHOWN. Don't define chown as a macro here.
5604         * modules/chown (Depends-on): Add unistd.
5605         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5606
5607         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
5608         Add definition for GL_LINK_WARNING.
5609         (chown, dup2): New declarations.
5610         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
5611         link warning.
5612         (ftruncate): New declaration.
5613         (getcwd): New declaration, taken from old getcwd.h.
5614         (getlogin_r): New declaration, taken from old getlogin_r.h.
5615         (readlink): New declaration.
5616         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
5617         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
5618         (gl_PREREQ_UNISTD): Remove macro.
5619         (gl_UNISTD_MODULE_INDICATOR): New macro.
5620         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
5621         many new variables. Don't set UNISTD_H.
5622         * modules/unistd (Description): Change.
5623         (Depends-on): Add link-warning.
5624         (configure.ac): Update.
5625         (Makefile.am): Create unistd.h always. Substitute many new variables
5626         into it.
5627
5628 2007-02-18  Bruno Haible  <bruno@clisp.org>
5629
5630         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
5631         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
5632         HAVE_GETSUBOPT.
5633         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
5634         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
5635         * lib/getsubopt.h: Remove file.
5636         * modules/getsubopt (Files): Remove lib/getsubopt.h.
5637         (Depends-on): Add stdlib.
5638         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
5639         (Includes): Use <stdlib.h> instead of getsubopt.h.
5640         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
5641         Set HAVE_GETSUBOPT.
5642         * lib/getsubopt.c: Don't include getsubopt.h.
5643
5644 2007-02-18  Bruno Haible  <bruno@clisp.org>
5645
5646         * modules/fchdir (Depends-on): Add dup2.
5647
5648 2007-02-18  Bruno Haible  <bruno@clisp.org>
5649
5650         * lib/stdlib_.h: Handle glibc's special invocation convention
5651         specially.
5652
5653 2007-02-18  Bruno Haible  <bruno@clisp.org>
5654
5655         * modules/stdlib-tests: New file.
5656         * tests/test-stdlib.c: New file.
5657
5658         * modules/mkstemp (Files): Remove lib/mkstemp.h.
5659         (Depends-on): Add stdlib.
5660         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
5661         (Includes): Use <stdlib.h> instead of mkstemp.h.
5662         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
5663         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
5664         * lib/mkstemp.c: Don't include mkstemp.h.
5665         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
5666         * lib/stdlib--.h: Don't include mkstemp.h.
5667
5668         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
5669         (Depends-on): Add stdlib.
5670         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
5671         (Includes): Use <stdlib.h> instead of mkdtemp.h.
5672         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
5673         HAVE_MKDTEMP.
5674         * lib/mkdtemp.c: Don't include mkdtemp.h.
5675         * lib/clean-temp.c: Don't include mkdtemp.h.
5676
5677         * modules/exit (Files): Remove lib/exit.h.
5678         (Depends-on): Add stdlib.
5679         (Makefile.am): Remove lib_SOURCES.
5680         (Include): Use <stdlib.h> instead of exit.h.
5681         * lib/argmatch.c: Don't include exit.h.
5682         * lib/execute.c: Likewise.
5683         * lib/pagealign_alloc.c: Likewise.
5684         * lib/pipe.c: Likewise.
5685         * lib/wait-process.c: Likewise.
5686         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
5687         * lib/exitfail.c: Likewise.
5688         * lib/savewd.c: Likewise.
5689         * lib/xsetenv.c: Likewise.
5690
5691         * modules/stdlib: New file.
5692         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
5693         and extra comments about mkstemp().
5694         * lib/exit.h: Remove file.
5695         * lib/mkdtemp.h: Remove file.
5696         * lib/mkstemp.h: Remove file.
5697         * m4/stdlib_h.m4: New file.
5698         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
5699
5700 2007-02-18  Bruno Haible  <bruno@clisp.org>
5701
5702         * modules/math-tests: New file.
5703         * tests/test-math.c: New file.
5704
5705         * modules/math: New file.
5706         * modules/mathl (Files): Remove lib/mathl.h.
5707         (Depends-on): Add math.
5708         (Makefile.am): Don't mention mathl.h.
5709         (Include): Use <math.h> instead of mathl.h.
5710         * lib/math_.h: New file.
5711         * lib/mathl.h: Remove file.
5712         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
5713         mathl.h.
5714         * lib/asinl.c: Likewise.
5715         * lib/atanl.c: Likewise.
5716         * lib/ceill.c: Likewise.
5717         * lib/cosl.c: Likewise.
5718         * lib/expl.c: Likewise.
5719         * lib/floorl.c: Likewise.
5720         * lib/frexpl.c: Likewise.
5721         * lib/ldexpl.c: Likewise.
5722         * lib/logl.c: Likewise.
5723         * lib/sincosl.c: Likewise.
5724         * lib/sinl.c: Likewise.
5725         * lib/sqrtl.c: Likewise.
5726         * lib/tanl.c: Likewise.
5727         * lib/trigl.c: Likewise.
5728         * m4/math_h.m4: New file.
5729         * MODULES.html.sh (Mathematics): Add math.
5730
5731 2007-02-17  Bruno Haible  <bruno@clisp.org>
5732
5733         * modules/wctype-tests: New file.
5734         * tests/test-wctype.c: New file.
5735
5736         * modules/wchar-tests: New file.
5737         * tests/test-wchar.c: New file.
5738
5739         * modules/unistd-tests: New file.
5740         * tests/test-unistd.c: New file.
5741
5742         * modules/time-tests: New file.
5743         * tests/test-time.c: New file.
5744
5745         * modules/sysexits-tests: New file.
5746         * tests/test-sysexits.c: New file.
5747
5748         * modules/sys_time-tests: New file.
5749         * tests/test-sys_time.c: New file.
5750
5751         * modules/sys_stat-tests: New file.
5752         * tests/test-sys_stat.c: New file.
5753
5754         * modules/sys_socket-tests: New file.
5755         * tests/test-sys_socket.c: New file.
5756
5757         * modules/sys_select-tests: New file.
5758         * tests/test-sys_select.c: New file.
5759
5760         * modules/string-tests: New file.
5761         * tests/test-string.c: New file.
5762
5763         * modules/stdbool-tests: New file.
5764         * tests/test-stdbool.c: New file.
5765
5766         * modules/netinet_in-tests: New file.
5767         * tests/test-netinet_in.c: New file.
5768
5769         * modules/inttypes-tests: New file.
5770         * tests/test-inttypes.c: New file.
5771
5772         * modules/fcntl-tests: New file.
5773         * tests/test-fcntl.c: New file.
5774
5775         * modules/byteswap-tests: New file.
5776         * tests/test-byteswap.c: New file.
5777
5778         * modules/arpa_inet-tests: New file.
5779         * tests/test-arpa_inet.c: New file.
5780
5781 2007-02-17  Bruno Haible  <bruno@clisp.org>
5782
5783         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
5784         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
5785         if the corresponding module is not enabled. Emit link warnings if
5786         the function is used nevertheless.
5787         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
5788         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
5789         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
5790         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
5791         * modules/inttypes (Depends-on): Add link-warning.
5792         (Makefile.am): Copy the contents of build-aux/link-warning.h into
5793         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
5794         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
5795         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
5796         * modules/imaxdiv (configure.ac): Likewise.
5797         * modules/strtoimax (configure.ac): Likewise.
5798         * modules/strtoumax (configure.ac): Likewise.
5799
5800 2007-02-17  Bruno Haible  <bruno@clisp.org>
5801
5802         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
5803         gl_STRING_MODULE_INDICATOR_DEFAULTS.
5804         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
5805         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
5806
5807 2007-02-17  Bruno Haible  <bruno@clisp.org>
5808
5809         * modules/link-warning: New file.
5810         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
5811         * lib/string_.h (GL_LINK_WARNING): Remove definition.
5812         * modules/string (Depends-on): Add link-warning.
5813         (Makefile.am): Copy the contents of build-aux/link-warning.h into
5814         string.h.
5815         * MODULES.html.sh (Support for building libraries and executables): Add
5816         link-warning.
5817
5818 2007-02-17  Bruno Haible  <bruno@clisp.org>
5819
5820         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
5821         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
5822         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
5823         long lines.
5824
5825 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
5826             Bruno Haible  <bruno@clisp.org>
5827
5828         * modules/tmpfile: New file.
5829         * lib/tmpfile.c: New file.
5830         * m4/tmpfile.m4: New file.
5831         * MODULES.html.sh (func_all_modules): New section "Input/output".
5832
5833 2007-02-15  Bruno Haible  <bruno@clisp.org>
5834
5835         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
5836         (supports_delete_on_close): New function.
5837         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
5838
5839 2007-02-14  Bruno Haible  <bruno@clisp.org>
5840
5841         * modules/mbspcasecmp-tests: New file.
5842         * tests/test-mbspcasecmp.sh: New file.
5843         * tests/test-mbspcasecmp.c: New file.
5844
5845         New module mbspcasecmp.
5846         * modules/mbspcasecmp: New file.
5847         * lib/mbspcasecmp.c: New file.
5848         * lib/string_.h (strncasecmp): Change warning message.
5849         (mbspcasecmp): New declaration.
5850         * m4/mbspcasecmp.m4: New file.
5851         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5852         GNULIB_MBSPCASECMP.
5853         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
5854         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
5855
5856 2007-02-14  Bruno Haible  <bruno@clisp.org>
5857
5858         * modules/mbsncasecmp-tests: New file.
5859         * tests/test-mbsncasecmp.sh: New file.
5860         * tests/test-mbsncasecmp.c: New file.
5861
5862         New module mbsncasecmp.
5863         * modules/mbsncasecmp: New file.
5864         * lib/mbsncasecmp.c: New file.
5865         * lib/string_.h (mbsncasecmp): New declaration.
5866         * m4/mbsncasecmp.m4: New file.
5867         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5868         GNULIB_MBSNCASECMP.
5869         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
5870         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
5871
5872 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
5873
5874         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
5875         Verify that it doesn't overlap with our flags.
5876         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
5877         do not have the desired effect in multibyte locales; instead, use
5878         mbscasecmp.
5879         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
5880         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
5881         we don't require GNU fnmatch ourselves (if our users require it, they
5882         should do so explicitly).
5883
5884         Fix regex code so it doesn't rely on strcasecmp.
5885         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
5886         Otherwise, include gnulib's langinfo.h.
5887         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
5888         undesirable behavior in non-C locales.  Instead, rely on localecharset.
5889         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
5890         * modules/regex (FILES): Remove m4/codeset.m4.
5891         (Depends-on): Add localcharset.  Remove strcase.
5892
5893 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5894
5895         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
5896         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5897
5898 2007-02-13  Bruno Haible  <bruno@clisp.org>
5899
5900         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
5901         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5902
5903 2007-02-12  Bruno Haible  <bruno@clisp.org>
5904
5905         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
5906         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
5907         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
5908         time warning rather than a link error.
5909
5910 2007-02-12  Bruno Haible  <bruno@clisp.org>
5911
5912         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
5913         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5914         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5915
5916 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5917
5918         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
5919         args, not 2.
5920
5921 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5922
5923         New module 'time', so that apps can include <time.h> as per
5924         POSIX and GNU instead of separate include files like time_r.h
5925         and timegm.h.  This implementation tries out a simpler approach
5926         for replacing decls in standard include files (as compared to
5927         the string module), somewhat as an experiment.
5928
5929         * config/srclist.txt: Comment out mktime.c for now.
5930         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
5931         since it doesn't apply any more.  Use generic wording instead.
5932         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
5933         'time'.
5934         * lib/time_.h, m4/time_h.m4, modules/time: New files.
5935         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
5936         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
5937         Don't include <sys/types.h>; no longer needed since we assume C89.
5938         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
5939         * lib/strftime.c: Likewise.
5940         * lib/time_r.c: Likewise.
5941         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
5942         * lib/nanosleep.c: Include <time.h> first, to check interface.
5943         * lib/strptime.c: Likewise.
5944         * lib/time_r.c: Likewise.
5945         * lib/timegm.c: Likewise.
5946         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
5947         needed.
5948         * lib/timegm.c: Don't include timegm.h; no longer needed.
5949         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
5950         time.h now handles any problems in that area.
5951         (struct timespec, nanosleep): Remove; time.h now arranges for these.
5952         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
5953         that time.h defines struct timespec.
5954         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
5955         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
5956         handles that.
5957         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
5958         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
5959         needed.  Set REPLACE_LOCALTIME.
5960         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
5961         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
5962         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
5963         nanosleep; time_h.m4 now does that.  Don't require
5964         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
5965         module handles this now.
5966         * modules/getdate (Depends-on): Remove timespec.  Add time.
5967         * modules/nanosleep (Depends-on): Likewise.
5968         * modules/stat-time (Depends-on): Likewise.
5969         * modules/nanosleep (Include): Include time.h, not timespec.h.
5970         * modules/strptime (Files): Remove lib/strptime.h.
5971         (Depends-on): Add extensions, time.
5972         (Include): Include time.h, not strptime.h.
5973         * modules/time_r (Files): Remove lib/time_r.h.
5974         (Depends-on): Add time.
5975         (Include): Include time.h, not time_r.h.
5976         * modules/timegm: Likewise.
5977         * modules/timespec (Description): Now does timespec-related decls
5978         of our own, instead of struct timespec itself.
5979         (Depends-on): Add time; remove extensions.
5980         (Maintainer): Add self.
5981         * modules/utimecmp (Depends-on): Add time; remove timespec.
5982         * modules/utimens (Depends-on): Likewise.
5983         * modules/xnanosleep (Depends-on): Likewise.
5984
5985 2007-02-11  Bruno Haible  <bruno@clisp.org>
5986
5987         * lib/c-strstr.c: Include allocsa.h.
5988         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
5989         * lib/c-strcasestr.c: Include allocsa.h.
5990         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
5991         * lib/strcasestr.c: Include allocsa.h.
5992         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
5993         * lib/mbsstr.c: Include allocsa.h.
5994         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
5995         allocsa/freesa instead of malloc/free.
5996         * lib/mbscasestr.c: Include allocsa.h.
5997         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
5998         allocsa/freesa instead of malloc/free.
5999         * modules/c-strstr (Depends-on): Add allocsa.
6000         * modules/c-strcasestr (Depends-on): Likewise.
6001         * modules/strcasestr (Depends-on): Likewise.
6002         * modules/mbsstr (Depends-on): Likewise.
6003         * modules/mbscasestr (Depends-on): Likewise.
6004
6005 2007-02-11  Bruno Haible  <bruno@clisp.org>
6006
6007         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
6008
6009         * modules/mbsspn-tests: New file.
6010         * tests/test-mbsspn.sh: New file.
6011         * tests/test-mbsspn.c: New file.
6012
6013 2007-02-11  Bruno Haible  <bruno@clisp.org>
6014
6015         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
6016
6017         * modules/mbspbrk-tests: New file.
6018         * tests/test-mbspbrk.sh: New file.
6019         * tests/test-mbspbrk.c: New file.
6020
6021 2007-02-11  Bruno Haible  <bruno@clisp.org>
6022
6023         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
6024         unneeded cast.
6025
6026         * modules/mbscspn-tests: New file.
6027         * tests/test-mbscspn.sh: New file.
6028         * tests/test-mbscspn.c: New file.
6029
6030 2007-02-11  Bruno Haible  <bruno@clisp.org>
6031
6032         * modules/mbscasecmp-tests: New file.
6033         * tests/test-mbscasecmp.sh: New file.
6034         * tests/test-mbscasecmp.c: New file.
6035
6036 2007-02-11  Bruno Haible  <bruno@clisp.org>
6037
6038         Ensure O(n) worst-case complexity of mbscasestr.
6039         * lib/mbscasestr.c: Include stdbool.h.
6040         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
6041         functions.
6042         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
6043         the bookkeeping indicates that it's worth it.
6044         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
6045
6046         * modules/mbscasestr-tests: New file.
6047         * tests/test-mbscasestr1.c: New file.
6048         * tests/test-mbscasestr2.sh: New file.
6049         * tests/test-mbscasestr2.c: New file.
6050         * tests/test-mbscasestr3.sh: New file.
6051         * tests/test-mbscasestr3.c: New file.
6052         * tests/test-mbscasestr4.sh: New file.
6053         * tests/test-mbscasestr4.c: New file.
6054         * m4/locale-tr.m4: New file.
6055
6056 2007-02-11  Bruno Haible  <bruno@clisp.org>
6057
6058         Ensure O(n) worst-case complexity of mbsstr.
6059         * lib/mbsstr.c: Include stdbool.h.
6060         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
6061         functions.
6062         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
6063         bookkeeping indicates that it's worth it.
6064         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
6065
6066         * modules/mbsstr-tests: New file.
6067         * tests/test-mbsstr1.c: New file.
6068         * tests/test-mbsstr2.sh: New file.
6069         * tests/test-mbsstr2.c: New file.
6070         * tests/test-mbsstr3.sh: New file.
6071         * tests/test-mbsstr3.c: New file.
6072         * m4/locale-fr.m4: New file.
6073
6074 2007-02-11  Bruno Haible  <bruno@clisp.org>
6075
6076         * lib/mbsrchr.c (mbsrchr): Fix bug.
6077
6078         * modules/mbsrchr-tests: New file.
6079         * tests/test-mbsrchr.sh: New file.
6080         * tests/test-mbsrchr.c: New file.
6081
6082 2007-02-11  Bruno Haible  <bruno@clisp.org>
6083
6084         * lib/mbschr.c (mbschr): Fix bug.
6085
6086         * modules/mbschr-tests: New file.
6087         * tests/test-mbschr.sh: New file.
6088         * tests/test-mbschr.c: New file.
6089         * m4/locale-zh.m4: New file.
6090
6091 2007-02-11  Bruno Haible  <bruno@clisp.org>
6092
6093         Support for copying multibyte string iterators.
6094         * lib/mbiter.h: Include <string.h>.
6095         (mbiter_multi_copy): New function.
6096         (mbi_copy): New macro.
6097         * lib/mbuiter.h: Include <string.h>.
6098         (mbuiter_multi_copy): New function.
6099         (mbui_copy): New macro.
6100
6101 2007-02-11  Bruno Haible  <bruno@clisp.org>
6102
6103         New module mbslen.
6104         * modules/mbslen: New file.
6105         * lib/mbslen.c: New file.
6106         * lib/string_.h (mbslen): New declaration.
6107         * m4/mbslen.m4: New file.
6108         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6109         GNULIB_MBSLEN.
6110         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
6111         * MODULES.html.sh (Internationalization functions): Add mbslen.
6112
6113 2007-02-11  Bruno Haible  <bruno@clisp.org>
6114
6115         Ensure O(n) worst-case complexity of strcasestr substitute.
6116         * lib/strcasestr.c: Include stdbool.h.
6117         (knuth_morris_pratt): New function.
6118         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
6119         bookkeeping indicates that it's worth it.
6120         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
6121
6122         * modules/strcasestr-tests: New file.
6123         * tests/test-strcasestr.c: New file.
6124
6125 2007-02-11  Bruno Haible  <bruno@clisp.org>
6126
6127         Ensure O(n) worst-case complexity of c_strcasestr.
6128         * lib/c-strcasestr.c: Include stdbool.h, string.h.
6129         (knuth_morris_pratt): New function.
6130         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
6131         the bookkeeping indicates that it's worth it.
6132         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
6133
6134         * modules/c-strcasestr-tests: New file.
6135         * tests/test-c-strcasestr.c: New file.
6136
6137 2007-02-11  Bruno Haible  <bruno@clisp.org>
6138
6139         Ensure O(n) worst-case complexity of c_strstr.
6140         * lib/c-strstr.c: Include stdbool.h, string.h.
6141         (knuth_morris_pratt): New function.
6142         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
6143         bookkeeping indicates that it's worth it.
6144         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
6145
6146         * lib/c-strstr.c: Complete rewrite for maintainability.
6147
6148         * modules/c-strstr-tests: New file.
6149         * tests/test-c-strstr.c: New file.
6150
6151 2007-02-11  Bruno Haible  <bruno@clisp.org>
6152
6153         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
6154         5.2.1 and earlier, whereby \055 was treated just like the range
6155         delimiter '-'.
6156         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
6157
6158 2007-02-08  Bruno Haible  <bruno@clisp.org>
6159
6160         * modules/regex (Depends-on): Add stdbool.
6161         Reported by Dalibor Topic <robilad@kaffe.org>.
6162
6163 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
6164
6165         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
6166         Prefer returning from main to exiting from it.
6167         Remove unnecessary parens after sizeof.
6168
6169 2007-02-05  Bruno Haible  <bruno@clisp.org>
6170
6171         New module mbssep.
6172         * modules/mbssep: New file.
6173         * lib/mbssep.c: New file.
6174         * lib/string_.h (strsep): Add a conditional link warning.
6175         (mbssep): New declaration.
6176         * m4/mbssep.m4: New file.
6177         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6178         GNULIB_MBSSEP.
6179         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
6180         * MODULES.html.sh (Internationalization functions): Add mbssep.
6181
6182 2007-02-05  Bruno Haible  <bruno@clisp.org>
6183
6184         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
6185         Optimize search in case of 1 delimiter.
6186
6187 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
6188
6189         * lib/acl.h: Include sys/types.h before sys/acl.h.
6190
6191 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
6192
6193         Merge upstream fix for glibc bugzilla #3957:
6194
6195         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
6196
6197         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
6198         bit for RE_HAT_LISTS_NOT_NEWLINE.
6199         (build_charclass_op): Remove bogus comment.
6200
6201 2007-02-05  Simon Josefsson  <simon@josefsson.org>
6202
6203         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
6204
6205 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
6206
6207         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
6208         * lib/memmem.c [!defined _LIBC]: Include config.h.
6209
6210 2007-02-04  Bruno Haible  <bruno@clisp.org>
6211
6212         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
6213         warning message.
6214
6215 2007-02-04  Bruno Haible  <bruno@clisp.org>
6216
6217         New module mbstok_r.
6218         * modules/mbstok_r: New file.
6219         * lib/mbstok_r.c: New file.
6220         * lib/string_.h (strtok_r): Change argument names to match the
6221         comments. Add a conditional link warning.
6222         (mbstok_r): New declaration.
6223         * m4/mbstok_r.m4: New file.
6224         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6225         GNULIB_MBSTOK_R.
6226         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
6227         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
6228
6229 2007-02-04  Bruno Haible  <bruno@clisp.org>
6230
6231         New module mbsspn.
6232         * modules/mbsspn: New file.
6233         * lib/mbsspn.c: New file.
6234         * lib/string_.h (strspn): Add a conditional link warning.
6235         (mbsspn): New declaration.
6236         * m4/mbsspn.m4: New file.
6237         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6238         GNULIB_MBSSPN.
6239         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
6240         * MODULES.html.sh (Internationalization functions): Add mbsspn.
6241
6242 2007-02-04  Bruno Haible  <bruno@clisp.org>
6243
6244         New module mbspbrk.
6245         * modules/mbspbrk: New file.
6246         * lib/mbspbrk.c: New file.
6247         * lib/string_.h (strpbrk): Add a conditional link warning.
6248         (mbspbrk): New declaration.
6249         * m4/mbspbrk.m4: New file.
6250         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6251         GNULIB_MBSPBRK.
6252         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
6253         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
6254
6255 2007-02-04  Bruno Haible  <bruno@clisp.org>
6256
6257         New module mbscspn.
6258         * modules/mbscspn: New file.
6259         * lib/mbscspn.c: New file.
6260         * lib/string_.h (strcspn): Add a conditional link warning.
6261         (mbscspn): New declaration.
6262         * m4/mbscspn.m4: New file.
6263         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6264         GNULIB_MBSCSPN.
6265         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
6266         * MODULES.html.sh (Internationalization functions): Add mbscspn.
6267
6268 2007-02-04  Bruno Haible  <bruno@clisp.org>
6269
6270         New module mbscasestr, reduced goal of strcasestr.
6271         * modules/mbscasestr: New file.
6272         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
6273         (mbscasestr): Renamed from strcasestr.
6274         * lib/strcasestr.c: Don't include mbuiter.h.
6275         (strcasestr): Remove support for multibyte locales.
6276         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
6277         Change the conditional link warning.
6278         (mbscasestr): New declaration.
6279         * m4/mbscasestr.m4: New file.
6280         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
6281         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
6282         REPLACE_STRCASESTR.
6283         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
6284         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
6285         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
6286         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
6287         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
6288         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
6289         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
6290         (Depends-on): Remove mbuiter.
6291         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
6292
6293 2007-02-04  Bruno Haible  <bruno@clisp.org>
6294
6295         Simplify handling of strncasecmp.
6296         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
6297         the conditional link warning.
6298         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
6299         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
6300         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
6301         * modules/strcase (configure.ac): Don't invoke
6302         gl_STRING_MODULE_INDICATOR.
6303         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
6304
6305 2007-02-04  Bruno Haible  <bruno@clisp.org>
6306
6307         New module mbscasecmp, reduced goal of strcasecmp.
6308         * modules/mbscasecmp: New file.
6309         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
6310         (mbscasecmp): Renamed from strcasecmp.
6311         * lib/strcasecmp.c: Don't include mbuiter.h.
6312         (strcasecmp): Remove support for multibyte locales.
6313         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
6314         Change the conditional link warning.
6315         (mbscasecmp): New declaration.
6316         * m4/mbscasecmp.m4: New file.
6317         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
6318         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
6319         REPLACE_STRCASECMP.
6320         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
6321         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6322         GNULIB_MBSCASECMP.
6323         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
6324         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
6325         * modules/strcase (Files): Remove m4/mbrtowc.m4.
6326         (Depends-on): Remove mbuiter.
6327         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
6328
6329 2007-02-04  Bruno Haible  <bruno@clisp.org>
6330
6331         New module mbsstr. Remove module strstr.
6332         * modules/mbsstr: New file.
6333         * modules/strstr: Remove file.
6334         * lib/mbsstr.c: Renamed from lib/strstr.c.
6335         (mbsstr): Renamed from strstr.
6336         * lib/string_.h (strstr): Remove declaration. Change the conditional
6337         link warning.
6338         (mbsstr): New declaration.
6339         * m4/mbsstr.m4: New file.
6340         * m4/strstr.m4: Remove file.
6341         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
6342         REPLACE_STRSTR.
6343         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
6344         Don't initialize GNULIB_STRSTR.
6345         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
6346         substitute GNULIB_STRSTR and REPLACE_STRSTR.
6347         * MODULES.html.sh (Internationalization functions): Add mbsstr.
6348         (Support for systems lacking ANSI C 89): Remove strstr.
6349
6350 2007-02-04  Bruno Haible  <bruno@clisp.org>
6351
6352         New module mbsrchr.
6353         * modules/mbsrchr: New file.
6354         * lib/mbsrchr.c: New file.
6355         * lib/string_.h (strrchr): Add a conditional link warning.
6356         (mbsrchr): New declaration.
6357         * m4/mbsrchr.m4: New file.
6358         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6359         GNULIB_MBSRCHR.
6360         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
6361         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
6362
6363 2007-02-04  Bruno Haible  <bruno@clisp.org>
6364
6365         New module mbschr.
6366         * modules/mbschr: New file.
6367         * lib/mbschr.c: New file.
6368         * lib/string_.h (strchr): Add a conditional link warning.
6369         (mbschr): New declaration.
6370         * m4/mbschr.m4: New file.
6371         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6372         GNULIB_MBSCHR.
6373         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
6374         * MODULES.html.sh (Internationalization functions): Add mbschr.
6375
6376 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
6377
6378         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
6379
6380         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
6381
6382 2007-02-04  Bruno Haible  <bruno@clisp.org>
6383
6384         New module description section 'configure.ac-early'.
6385         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
6386         (func_get_autoconf_early_snippet): New function.
6387         (func_import, func_create_testdir): Use it. Remove special cases for
6388         modules 'extensions' and 'lock'.
6389         * modules/extensions (configure.ac-early): Require
6390         gl_USE_SYSTEM_EXTENSIONS.
6391         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
6392
6393 2007-02-04  Bruno Haible  <bruno@clisp.org>
6394
6395         Make use of gcj-4.3's -fsource and -ftarget option.
6396         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
6397         and if so try the options -fsource and -ftarget.
6398         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
6399         source_version, ftarget_option, target_version arguments.
6400         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
6401         (is_envjavac_oldgcj_14_14_usable): Renamed from
6402         is_envjavac_gcj_14_14_usable.
6403         (is_envjavac_oldgcj_14_13_usable): Renamed from
6404         is_envjavac_gcj_14_13_usable.
6405         (is_gcj_present): Update.
6406         (is_gcj_43, is_gcj43_usable): New functions.
6407         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
6408         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
6409         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
6410         try the options -fsource and -ftarget.
6411
6412 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
6413
6414         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
6415         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
6416         larger value.
6417
6418 2007-02-03  Jim Meyering  <jim@meyering.net>
6419
6420         Give tools a better chance to allocate space for very large buffers.
6421         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
6422
6423         Make pwd and readlink work also when run with an unreadable parent dir
6424         on systems with openat support.
6425         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
6426         provided getcwd function, even when we have openat support.
6427         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
6428
6429 2007-02-02  Bruno Haible  <bruno@clisp.org>
6430
6431         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
6432         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
6433         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
6434         portability problems if one of these functions is only used on specific
6435         platforms.
6436         Reported by Paul Eggert.
6437
6438 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
6439
6440         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
6441         is causing more trouble than it's curing.
6442         * lib/regex_internal.h (__mempcpy): Remove.
6443         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
6444         (and make the code a tad smaller to boot).
6445         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
6446
6447 2007-02-02  Jim Meyering  <jim@meyering.net>
6448
6449         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
6450         section, not in the Makefile.am: one.
6451
6452 2007-02-02  Eric Blake  <ebb9@byu.net>
6453
6454         * lib/strchrnul.c: Always include config.h first.
6455
6456         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
6457         gnulib strstr is not necessary here.
6458
6459 2007-02-02  Simon Josefsson  <simon@josefsson.org>
6460
6461         * m4/socklen.m4: Fix typo.
6462
6463 2007-02-02  Eric Blake  <ebb9@byu.net>
6464
6465         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
6466         * modules/netinet_in (Makefile.am): Likewise.
6467
6468 2007-02-01  Bruno Haible  <bruno@clisp.org>
6469
6470         * lib/string_.h (GL_LINK_WARNING): New macro.
6471         (strcasecmp, strstr, strcasestr): If provided by the system,
6472         conditionally define as a macro that leads to a warning instead of to
6473         an error.
6474         (strncasecmp): Conditionally define as a macro that leads to a warning.
6475
6476 2007-02-01  Karl Berry  <karl@gnu.org>
6477
6478         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
6479
6480 2007-02-01  Bruno Haible  <bruno@clisp.org>
6481
6482         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
6483         renamings.
6484
6485 2007-02-01  Eric Blake  <ebb9@byu.net>
6486
6487         * modules/regex (Depends-on): Revert dependence on mempcpy.
6488         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
6489         module's definition of mempcpy.
6490         Reported by Paul Eggert.
6491
6492 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
6493
6494         * lib/string_.h: If the gnulib module XYZ is not present, undefine
6495         the symbol XYZ before redefining it.  This fixes a problem with
6496         programs that don't use XYZ, when compiled on systems that define
6497         XYZ to something else.
6498
6499 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
6500
6501         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
6502         occurs when "mkdir -m foo" creates a setgid directory that is (1)
6503         writeable to group or other and (2) is intended to have a special
6504         mode bit that is set or cleared.  In such a case, the directory
6505         should be neither group- nor other-writeable until the special
6506         mode bits are right.
6507
6508 2007-01-31  Eric Blake  <ebb9@byu.net>
6509
6510         * modules/mountlist (Depends-on): Add strstr.
6511
6512         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
6513         bug.
6514         * modules/string (Makefile.am): Remove redundant replacement.
6515         * modules/regex (Depends-on): Add mempcpy.
6516
6517 2007-01-31  Bruno Haible  <bruno@clisp.org>
6518
6519         New module description field 'Link'.
6520         * gnulib-tool (func_usage): Document --extract-link-directive.
6521         (sed_extract_prog): Recognize 'Link' directive.
6522         (func_get_link_directive): New function.
6523         (func_import): Show summary of link directives.
6524         Handle --extract-link-directive option.
6525         * modules/acl (Link): New section.
6526         * modules/clock-time (Link): New section.
6527         * modules/euidaccess (Link): New section.
6528         * modules/gettext (Link): New section.
6529         * modules/iconv (Link): New section.
6530         * modules/lock (Link): New section.
6531         * modules/nanosleep (Link): New section.
6532         * modules/readline (Link): New section.
6533
6534 2007-01-27  Bruno Haible  <bruno@clisp.org>
6535
6536         Enforce the use of gnulib modules for unportable <string.h> functions.
6537         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
6538         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
6539         (gl_HEADER_STRING_H_BODY): Require it.
6540         * lib/string_.h: If the gnulib module XYZ is not present, redefine
6541         the symbol XYZ to one that gives a link error.
6542         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
6543         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
6544         * modules/mempcpy (configure.ac): Likewise.
6545         * modules/memrchr (configure.ac): Likewise.
6546         * modules/stpcpy (configure.ac): Likewise.
6547         * modules/stpncpy (configure.ac): Likewise.
6548         * modules/strcase (configure.ac): Likewise.
6549         * modules/strcasestr (configure.ac): Likewise.
6550         * modules/strchrnul (configure.ac): Likewise.
6551         * modules/strdup (configure.ac): Likewise.
6552         * modules/strndup (configure.ac): Likewise.
6553         * modules/strnlen (configure.ac): Likewise.
6554         * modules/strpbrk (configure.ac): Likewise.
6555         * modules/strsep (configure.ac): Likewise.
6556         * modules/strstr (configure.ac): Likewise.
6557         * modules/strtok_r (configure.ac): Likewise.
6558
6559 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
6560
6561         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
6562
6563 2007-01-30  Jim Meyering  <jim@meyering.net>
6564
6565         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
6566
6567 2007-01-29  Bruno Haible  <bruno@clisp.org>
6568
6569         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
6570         * lib/execute.c: Likewise.
6571         * lib/pipe.c: Likewise.
6572         * lib/printf-args.h: Likewise.
6573         * lib/printf-args.c: Likewise.
6574         * lib/printf-parse.c: Likewise.
6575         * lib/vasnprintf.c: Likewise.
6576
6577 2007-01-29  Eric Blake  <ebb9@byu.net>
6578
6579         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
6580         declaration.
6581
6582 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
6583
6584         * lib/strptime.h (strptime): Use 'restrict' for args where
6585         POSIX requires this.
6586         * lib/strptime.c (strptime): Likewise.
6587         Change license notice from LGPL to GPL, since gnulib-tool will
6588         change this as needed.
6589         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
6590         defined.
6591         Include "strptime.h" first, to check interface.
6592         Do not #undef _LIBC and _NL_CURRENT.
6593         Do not include <stdlib.h>; no longer needed.
6594         Include "time_r.h" and declare ptime_locale_status
6595         only if _LIBC is not defined.
6596         (__P): Remove unused macro.
6597         (match_string): Bring back glibc version, but use it only if _LIBC
6598         is defined.
6599         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
6600         Remove unnecessary assertion and abort() call.
6601         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
6602         * m4/strptime.m4: Fix serial number comment.
6603         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
6604         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
6605         (Depends-on): Add time_r.
6606
6607 2007-01-29  Bruno Haible  <bruno@clisp.org>
6608
6609         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
6610         strptime.
6611         * modules/strptime (Depends-on): Add stdbool.
6612         * lib/strptime.h: Include <time.h> always. Add comments.
6613
6614 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
6615
6616         * modules/strptime: New file.
6617         * lib/strptime.h: New file.
6618         * lib/strptime.c: New file.
6619         * m4/strptime.m4: New file.
6620
6621 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
6622
6623         * MODULES.html.sh: New module mpsort.
6624         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
6625
6626         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
6627         a circularity problem with HP-UX ia64 reported by Bob Proulx in
6628         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
6629         All uses changed.
6630         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
6631         All uses changed.
6632         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
6633         to _Restrict_.
6634         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
6635         the parameter matches the prototype.
6636
6637 2007-01-28  Jim Meyering  <jim@meyering.net>
6638
6639         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
6640         sys/time.h here, reverting that part of the previous patch:
6641         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
6642
6643 2007-01-28  Bruno Haible  <bruno@clisp.org>
6644
6645         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
6646         value of $(SYS_TIME_H).
6647         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
6648         remove it conditionally, too. [added by Jim Meyering]
6649         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
6650         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
6651         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
6652         GETTIMEOFDAY_REPLACEMENT to 1.
6653
6654 2007-01-28  Bruno Haible  <bruno@clisp.org>
6655
6656         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
6657         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
6658         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
6659         Set UNISTD_H instead of UNISTD_H2.
6660         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
6661
6662 2007-01-28  Bruno Haible  <bruno@clisp.org>
6663
6664         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
6665         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
6666
6667 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6668
6669         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
6670         (func_create_testdir): Ensure C locale for `grep' and `tr'
6671         character ranges.
6672         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
6673         ACLOCAL_AMFLAGS parsing state machine.
6674
6675 2007-01-27  Bruno Haible  <bruno@clisp.org>
6676
6677         * modules/unistr/base: Update.
6678
6679 2007-01-27  Bruno Haible  <bruno@clisp.org>
6680
6681         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
6682         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
6683         * modules/unistr/u32-mbtouc-unsafe: Renamed from
6684         modules/unistr/u32-mbtouc.
6685         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
6686         * lib/unistr.h: Update.
6687         * lib/linebreak.c: Update.
6688         * modules/unistr/u32-mbtouc: Renamed from
6689         modules/unistr/u32-mbtouc-safe.
6690         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
6691         * lib/unistr.h: Update.
6692         * lib/unistr/u32-to-u8.c: Update.
6693         * lib/unistr/u32-to-u16.c: Update.
6694
6695 2007-01-27  Bruno Haible  <bruno@clisp.org>
6696
6697         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
6698         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
6699         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
6700         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
6701         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
6702         * modules/unistr/u16-mbtouc-unsafe: Renamed from
6703         modules/unistr/u16-mbtouc.
6704         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
6705         * lib/unistr.h: Update.
6706         * lib/linebreak.c: Update.
6707         * modules/linebreak: Update.
6708         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
6709         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
6710         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
6711         * modules/unistr/u16-mbtouc: Renamed from
6712         modules/unistr/u16-mbtouc-safe.
6713         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
6714         * lib/unistr.h: Update.
6715         * lib/unistr/u16-to-u8.c: Update.
6716         * modules/unistr/u16-to-u8: Update.
6717         * lib/unistr/u16-to-u32.c: Update.
6718         * modules/unistr/u16-to-u32: Update.
6719
6720 2007-01-27  Bruno Haible  <bruno@clisp.org>
6721
6722         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
6723         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
6724         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
6725         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
6726         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
6727         * modules/unistr/u8-mbtouc-unsafe: Renamed from
6728         modules/unistr/u8-mbtouc.
6729         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
6730         * lib/unistr.h: Update.
6731         * lib/striconveh.c: Update.
6732         * modules/striconveh: Update.
6733         * lib/linebreak.c: Update.
6734         * modules/linebreak: Update.
6735         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
6736         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
6737         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
6738         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
6739         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
6740         * lib/unistr.h: Update.
6741         * lib/striconveh.c: Update.
6742         * modules/striconveh: Update.
6743         * lib/unistr/u8-to-u16.c: Update.
6744         * modules/unistr/u8-to-u16: Update.
6745         * lib/unistr/u8-to-u32.c: Update.
6746         * modules/unistr/u8-to-u32: Update.
6747
6748 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6749
6750         Sync from Libtool.
6751         * lib/argz.c: Do not include strings.h nor memory.h, include
6752         string.h unconditionally.  Patch by Simon Josefsson.
6753
6754 2007-01-27  Bruno Haible  <bruno@clisp.org>
6755
6756         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
6757         from gl_HEADER_STRING_H_BODY.
6758         (gl_HEADER_STRING_H_BODY): Require it.
6759         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
6760         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
6761         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
6762         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
6763         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6764         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
6765         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6766         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
6767         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
6768         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
6769         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
6770         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
6771         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
6772         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6773         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6774
6775 2007-01-27  Bruno Haible  <bruno@clisp.org>
6776
6777         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
6778         check_PROGRAMS into noinst_PROGRAMS.
6779         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
6780         check_PROGRAMS in this case.
6781         (func_import): Set for_test to false.
6782         (func_create_testdir): Set for_test to true.
6783
6784 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
6785             Bruno Haible  <bruno@clisp.org>
6786
6787         * modules/strcasestr (Files): Remove lib/strcasestr.h.
6788         (Depends-on): Add string.
6789         (Includes): Use <string.h> instead of strcasestr.h.
6790         * modules/string (Makefile.am): Also substitute the value of
6791         REPLACE_STRCASESTR.
6792         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
6793         assume strcasestr is declared in <string.h> not <strings.h>. Also
6794         set REPLACE_STRCASESTR.
6795         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
6796         REPLACE_STRCASESTR.
6797         * lib/strcasestr.h: Remove file.
6798         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
6799         * lib/string_.h (strcasestr): New declaration.
6800
6801 2007-01-27  Bruno Haible  <bruno@clisp.org>
6802
6803         * lib/string_.h: Use 'extern'.
6804
6805 2007-01-27  Jim Meyering  <jim@meyering.net>
6806
6807         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
6808         of set-but-not-used local, "q".
6809
6810         * lib/mempcpy.c: Include <config.h> before <string.h>.
6811         This fixes a compilation error on HP-UX, due to the system's
6812         "restrict"-using mempcpy prototype.
6813
6814 2007-01-26  Bruno Haible  <bruno@clisp.org>
6815
6816         Small optimization.
6817         * lib/javacomp.c: Include c-strstr.h.
6818          (is_envjavac_gcj): Use c_strstr instead of strstr.
6819         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
6820
6821 2007-01-26  Bruno Haible  <bruno@clisp.org>
6822
6823         * MODULES.html.sh (Unicode string functions): Add the new modules.
6824
6825         * modules/uniconv/u32-strconv-to-locale: New file.
6826         * lib/uniconv/u32-strconv-to-locale.c: New file.
6827
6828         * modules/uniconv/u16-strconv-to-locale: New file.
6829         * lib/uniconv/u16-strconv-to-locale.c: New file.
6830
6831         * modules/uniconv/u8-strconv-to-locale: New file.
6832         * lib/uniconv/u8-strconv-to-locale.c: New file.
6833
6834         * modules/uniconv/u32-strconv-from-locale: New file.
6835         * lib/uniconv/u32-strconv-from-locale.c: New file.
6836
6837         * modules/uniconv/u16-strconv-from-locale: New file.
6838         * lib/uniconv/u16-strconv-from-locale.c: New file.
6839
6840         * modules/uniconv/u8-strconv-from-locale: New file.
6841         * lib/uniconv/u8-strconv-from-locale.c: New file.
6842
6843         * modules/uniconv/u32-strconv-to-enc: New file.
6844         * lib/uniconv/u32-strconv-to-enc.c: New file.
6845         * modules/uniconv/u32-strconv-to-enc-tests: New file.
6846         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
6847
6848         * modules/uniconv/u16-strconv-to-enc: New file.
6849         * lib/uniconv/u16-strconv-to-enc.c: New file.
6850         * lib/uniconv/u-strconv-to-enc.h: New file.
6851         * modules/uniconv/u16-strconv-to-enc-tests: New file.
6852         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
6853
6854         * modules/uniconv/u8-strconv-to-enc: New file.
6855         * lib/uniconv/u8-strconv-to-enc.c: New file.
6856         * modules/uniconv/u8-strconv-to-enc-tests: New file.
6857         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
6858
6859         * modules/uniconv/u32-strconv-from-enc: New file.
6860         * lib/uniconv/u32-strconv-from-enc.c: New file.
6861         * modules/uniconv/u32-strconv-from-enc-tests: New file.
6862         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
6863
6864         * modules/uniconv/u16-strconv-from-enc: New file.
6865         * lib/uniconv/u16-strconv-from-enc.c: New file.
6866         * modules/uniconv/u16-strconv-from-enc-tests: New file.
6867         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
6868
6869         * modules/uniconv/u8-strconv-from-enc: New file.
6870         * lib/uniconv/u8-strconv-from-enc.c: New file.
6871         * lib/uniconv/u-strconv-from-enc.h: New file.
6872         * modules/uniconv/u8-strconv-from-enc-tests: New file.
6873         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
6874
6875         * modules/uniconv/u32-conv-from-enc: New file.
6876         * lib/uniconv/u32-conv-from-enc.c: New file.
6877         * modules/uniconv/u32-conv-from-enc-tests: New file.
6878         * tests/uniconv/test-u32-conv-from-enc.c: New file.
6879
6880         * modules/uniconv/u16-conv-from-enc: New file.
6881         * lib/uniconv/u16-conv-from-enc.c: New file.
6882         * lib/uniconv/u-conv-from-enc.h: New file.
6883         * modules/uniconv/u16-conv-from-enc-tests: New file.
6884         * tests/uniconv/test-u16-conv-from-enc.c: New file.
6885
6886         * modules/uniconv/u8-conv-from-enc: New file.
6887         * lib/uniconv/u8-conv-from-enc.c: New file.
6888         * modules/uniconv/u8-conv-from-enc-tests: New file.
6889         * tests/uniconv/test-u8-conv-from-enc.c: New file.
6890
6891         * modules/uniconv/base: New file.
6892         * lib/uniconv.h: New file.
6893
6894 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
6895
6896         * doc/gnulib-tool.texi (Initial import): Update to match current
6897         behavior with strdup module.
6898         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
6899         * lib/memmem.h: Remove; all uses removed.  This is now done
6900         by <string.h>.
6901         * lib/mempcpy.h: Likewise.
6902         * lib/memrchr.h: Likewise.
6903         * lib/stpcpy.h: Likewise.
6904         * lib/stpncpy.h: Likewise.
6905         * lib/strcase.h: Likewise.
6906         * lib/strchrnul.h: Likewise.
6907         * lib/strdup.h: Likewise.
6908         * lib/strndup.h: Likewise.
6909         * lib/strnlen.h: Likewise.
6910         * lib/strpbrk.h: Likewise.
6911         * lib/strsep.h: Likewise.
6912         * lib/strstr.h: Likewise.
6913         * lib/strtok_r.h: Likewise.
6914         * lib/string_.h: New file.
6915         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
6916         Rely on <string.h> instead.
6917         * lib/canon-host.c: Likewise.
6918         * lib/chdir-long.c: Likewise.
6919         * lib/concatpath.c: Likewise.
6920         * lib/exclude.c: Likewise.
6921         * lib/fchdir.c: Likewise.
6922         * lib/getaddrinfo.c: Likewise.
6923         * lib/getcwd.c: Likewise.
6924         * lib/getsubopt.c: Likewise.
6925         * lib/glob.c: Likewise.
6926         * lib/hard-locale.c: Likewise.
6927         * lib/iconvme.c: Likewise.
6928         * lib/javacomp.c: Likewise.
6929         * lib/mempcpy.c: Likewise.
6930         * lib/memrchr.c: Likewise.
6931         * lib/regex_internal.h: Likewise.
6932         * lib/stpncpy.c: Likewise.
6933         * lib/strcasecmp.c: Likewise.
6934         * lib/strchrnul.c: Likewise.
6935         * lib/strdup.c: Likewise.
6936         * lib/striconv.c: Likewise.
6937         * lib/striconveh.c: Likewise.
6938         * lib/striconveha.c: Likewise.
6939         * lib/strncasecmp.c: Likewise.
6940         * lib/strndup.c: Likewise.
6941         * lib/strnlen.c: Likewise.
6942         * lib/strsep.c: Likewise.
6943         * lib/strstr.c: Likewise.
6944         * lib/strtok_r.c: Likewise.
6945         * lib/userspec.c: Likewise.
6946         * lib/w32spawn.h: Likewise.
6947         * lib/xstrndup.c: Likewise.
6948         * lib/mountlist.c (strstr): Remove decl.
6949         * m4/string_h.m4: New file.
6950         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
6951         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
6952         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
6953         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
6954         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
6955         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
6956         Set REPLACE_STRCASECMP if necessary.
6957         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
6958         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
6959         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
6960         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
6961         HAVE_DECL_STRDUP if necessary.
6962         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
6963         since gl_FUNC_STRNDUP does that now.
6964         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
6965         Check for decl here...
6966         (gl_PREREQ_STRNLEN): ... not here.
6967         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
6968         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
6969         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
6970         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
6971         necessary.
6972         * modules/string: New file.
6973         * modules/memmem (Files): Remove special-purpose include file.
6974         (Depends-on): Add string.
6975         (Include): Include <string.h>, not the removed file.
6976         * modules/mempcpy: Likewise.
6977         * modules/memrchr: Likewise.
6978         * modules/stpcpy: Likewise.
6979         * modules/stpncpy: Likewise.
6980         * modules/strcase: Likewise.
6981         * modules/strchrnul: Likewise.
6982         * modules/strdup: Likewise.
6983         * modules/strndup: Likewise.
6984         * modules/strnlen: Likewise.
6985         * modules/strpbrk: Likewise.
6986         * modules/strsep: Likewise.
6987         * modules/strstr: Likewise.
6988         * modules/strtok_r: Likewise.
6989         * tests/test-dirname.c: Don't include "strdup.h", since
6990         <string.h> now suffices.
6991         * tests/test-memmem.c: Don't include "memmem.h", since
6992         <string.h> now suffices.
6993
6994 2007-01-25  Bruno Haible  <bruno@clisp.org>
6995
6996         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
6997         *resultp is 0.
6998
6999         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
7000         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
7001         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
7002         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
7003
7004         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
7005         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
7006         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
7007         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
7008         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
7009         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
7010
7011 2007-01-24  Bruno Haible  <bruno@clisp.org>
7012
7013         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
7014         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
7015         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
7016         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
7017         gl_FUNC_FTS_CORE.
7018         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
7019         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
7020         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
7021         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
7022         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
7023         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
7024         gl_FUNC_FCHOWNAT.
7025         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
7026         gl_FUNC_STRFTIME.
7027         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
7028         Reported by Ralf Wildenhues.
7029
7030 2007-01-24  Bruno Haible  <bruno@clisp.org>
7031
7032         Drop AC_REQUIRE calls that are redundant with the module dependencies.
7033         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
7034         gl_GETADDRINFO.
7035         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
7036         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
7037         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
7038
7039 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
7040
7041         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
7042         Don't use 'exit'; just return from 'main'.
7043         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
7044
7045         * lib/fnmatch_.h: Readjust white space and comments to match
7046         glibc, to avoid spurious diffs.
7047
7048 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7049
7050         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
7051         2004-12-01 change by Jakub Jelinek, since this code won't compile
7052         if !LIBC.  Problem reported by Bob Proulx.
7053
7054 2007-01-23  Bruno Haible  <bruno@clisp.org>
7055
7056         * lib/striconveh.c: Include c-strcaseeq.h.
7057         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
7058         * modules/striconveh (Depends-on): Add c-strcaseeq.
7059
7060 2007-01-23  Bruno Haible  <bruno@clisp.org>
7061
7062         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
7063
7064         * modules/c-strcaseeq: New file.
7065         * lib/c-strcaseeq.h: New file.
7066
7067         * modules/streq: New file.
7068         * lib/streq.h: New file.
7069
7070 2007-01-23  Bruno Haible  <bruno@clisp.org>
7071
7072         * modules/striconveha-tests: New file.
7073         * tests/test-striconveha.c: New file.
7074
7075         * lib/striconveha.h: Include <stdbool.h>.
7076         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
7077         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
7078         (mem_iconveha_notranslit): Renamed from mem_iconveha.
7079         (mem_iconveha): New function.
7080         (str_iconveha_notranslit): Renamed from str_iconveha.
7081         (str_iconveha): New function.
7082         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
7083         c-strcase.
7084
7085 2007-01-23  Bruno Haible  <bruno@clisp.org>
7086
7087         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
7088         encodings without forgiving before trying any encoding with handler.
7089         (str_iconveha): Try all encodings without forgiving before trying any
7090         encoding with handler.
7091
7092 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7093
7094         Import the following changes from libc.
7095
7096         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
7097
7098         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
7099
7100         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
7101
7102         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
7103         normal_bracket label.
7104
7105         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
7106
7107         [BZ #361]
7108         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
7109         to normal_bracket after fetching the next character.
7110
7111 2007-01-22  Bruno Haible  <bruno@clisp.org>
7112
7113         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
7114         argument.
7115         * lib/striconveh.c (iconv_carefully_1): New function.
7116         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
7117         argument.
7118         (str_cd_iconveh): Update.
7119         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
7120         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
7121         * tests/test-striconveh.c (MAGIC): New macro.
7122         (new_offsets): New function.
7123         (main): Test call with and without offsets.
7124
7125 2007-01-22  Bruno Haible  <bruno@clisp.org>
7126
7127         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
7128         * modules/sys_select (Makefile.am): Likewise.
7129         * modules/sys_socket (Makefile.am): Likewise.
7130         * modules/sys_time (Makefile.am): Likewise.
7131
7132 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
7133
7134         * modules/gettimeofday (License): Change from GPL to LGPL, since
7135         gettimeofday is a library function.
7136
7137 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7138
7139         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
7140
7141 2007-01-21  Bruno Haible  <bruno@clisp.org>
7142
7143         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
7144
7145 2007-01-21  Bruno Haible  <bruno@clisp.org>
7146
7147         * modules/striconveha: New file.
7148         * lib/striconveha.h: New file.
7149         * lib/striconveha.c: New file.
7150         * MODULES.html.sh (Internationalization functions): Add striconveha.
7151         * lib/striconv.c (str_iconv): Optimize the case of an empty input
7152         string.
7153         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
7154
7155 2007-01-21  Bruno Haible  <bruno@clisp.org>
7156
7157         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
7158         * lib/striconveh.c (str_iconveh): Likewise.
7159
7160 2007-01-21  Bruno Haible  <bruno@clisp.org>
7161
7162         * lib/striconveh.h (mem_iconveh): New declaration.
7163         * lib/striconveh.c (mem_iconveh): New function.
7164         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
7165
7166 2007-01-21  Bruno Haible  <bruno@clisp.org>
7167
7168         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
7169
7170         * lib/striconveh.h (mem_cd_iconveh): Change specification.
7171         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
7172         original result buffer.
7173         (str_cd_iconveh): Update.
7174         * tests/test-striconveh.c (main): Update.
7175
7176         * lib/striconv.h (mem_cd_iconv): Change specification.
7177         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
7178         result buffer.
7179         (str_cd_iconv): Update.
7180         * tests/test-striconv.c (main): Update.
7181
7182 2007-01-21  Bruno Haible  <bruno@clisp.org>
7183
7184         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
7185
7186 2007-01-20  Jim Meyering  <jim@meyering.net>
7187
7188         * lib/userspec.c (parse_with_separator): If a user or group string
7189         starts with "+", skip the corresponding name-to-ID look-up, since
7190         such a look-up must fail: user and group names may not include "+".
7191
7192 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
7193
7194         * lib/poll.c: Include sys/time.h and time.h unconditionally,
7195         since we now assume the sys_time module.
7196         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
7197         check for sys/time.h; no longer needed.
7198         * modules/poll (Depends-on): Depend on sys_time.
7199
7200 2007-01-18  Bruno Haible  <bruno@clisp.org>
7201
7202         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
7203         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
7204
7205         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
7206         gettimeofday.
7207
7208         * tests/test-gettimeofday.c: Include <time.h>.
7209         (dummy): Remove variable.
7210
7211         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
7212         gl_HEADER_SYS_TIME_H.
7213         (gl_HEADER_SYS_TIME_H): New macro.
7214
7215         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
7216         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7217         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
7218         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
7219         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7220         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
7221         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
7222         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7223         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
7224         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
7225         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7226
7227         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
7228         last change; it caused a compilation error when cross-compiling to
7229         Cygwin.
7230
7231 2007-01-18  Jim Meyering  <jim@meyering.net>
7232
7233         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
7234         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
7235         than the race-prone "test -d sys || mkdir sys".
7236         (configure.ac): Use AC_PROG_MKDIR_P.
7237         * modules/sys_select: Likewise.
7238         * modules/sys_socket: Likewise.
7239         * modules/sys_time: Likewise.
7240
7241 2007-01-18  Eric Blake  <ebb9@byu.net>
7242
7243         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
7244         replace gettimeofday.
7245         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
7246         name, to avoid infinite recursion.
7247
7248 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
7249
7250         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
7251         module sys_time.
7252         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
7253         assume timespec.h defines struct timeval.
7254         * lib/settime.c: Likewise.
7255         * lib/utimens.c: Likewise.
7256         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
7257         since we now assume the gettimeofday module.
7258         * lib/tempname.c (__gen_tempname): Likewise.
7259         * lib/gettimeofday.h: Remove.
7260         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
7261         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
7262         Include <time.h>, for 'time()'.
7263         (localtime_buffer_addr): Also use this workaround if
7264         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
7265         to simplify the uses.  All uses changed.
7266         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
7267         that #undef is inside {}, and 'const' follows type name consistently.
7268         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
7269         (gettimeofday): Do not use the maximum possible value for
7270         tv->tv_usec, since that might break usages other than ls.c.
7271         Instead, we'll leave ls.c alone.  This undoes today's patch
7272         by Bruno.  Add a compile-time warning for 1s-clock resolution;
7273         we've never observed the problem but might as well keep the
7274         canary.
7275         * lib/nanosleep.c: Include timespec.h first, for interface check.
7276         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
7277         now assume the sys_time module.
7278         * lib/tempname.c: Likewise.
7279         * lib/timespec.h: Likewise.
7280         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
7281         needed.
7282         * lib/strftime.c: Likewise.
7283         * lib/timespec.h: Likewise.
7284         * lib/posixtm.c: Include posixtm.h first, for interface check.
7285         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
7286         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
7287         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
7288         * lib/sys_time_.h: New file.
7289         * lib/timespec.h (struct timespec): Use long int, not long.
7290         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
7291         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
7292         Remove obsolescent call to AC_HEADER_TIME.
7293         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7294         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7295         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
7296         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
7297         Likewise.
7298         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
7299         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
7300         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
7301         into the sys_time module.  Check for gettimeofday just once.
7302         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
7303         for gettimeofday signature to just check the signature.  Merely
7304         compile it, since linking doesn't test signature.  Improve test for
7305         whether gettimeofday.o is actually needed.
7306         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
7307         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
7308         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
7309         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7310         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
7311         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
7312         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
7313         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
7314         than worrying about sys/time.h.
7315         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
7316         Don't bother worrying about TIME_WITH_SYS_TIME.
7317         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
7318         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
7319         * m4/sys_time_h.m4: New file.
7320         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
7321         Don't include sys/time.h.  Return from main rather than exiting.
7322         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
7323         all uses changed.
7324         * modules/gethrxtime (Depends-on): Add sys_time.
7325         * modules/gettime (Depends-on): Likewise.
7326         * modules/gettimeofday (Depends-on): Likewise.
7327         * modules/nanosleep (Depends-on): Likewise.
7328         * modules/settime (Depends-on): Likewise.
7329         * modules/tempname (Depends-on): Likewise.
7330         * modules/utimens (Depends-on): Likewise.
7331         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
7332         (Include:) Change back to <sys/time.h>.
7333         (Maintainer:) Add self.
7334         * modules/sys_time: New file.
7335         * modules/tempname (Depends-on): Add gettimeofday.
7336         * tests/test-gettimeofday.c: Include <sys/time.h>
7337         rather than gettimeofday.h.
7338
7339 2007-01-17  Bruno Haible  <bruno@clisp.org>
7340
7341         * gnulib-tool (func_get_license): Revert last patch. Instead, let
7342         the license default to GPL.
7343         (func_create_testdir): Don't complain if a module is LGPL and its
7344         tests module depends on GPLed modules.
7345
7346 2007-01-17  Bruno Haible  <bruno@clisp.org>
7347
7348         * lib/gettimeofday.c (gettimeofday): Add code for the case
7349         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
7350         maximum possible value for tv->tv_usec, rather than the minimum one.
7351
7352 2005-10-08  Martin Lambers  <marlam@marlam.de>
7353 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7354 2007-01-16  Bruno Haible  <bruno@clisp.org>
7355
7356         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
7357         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
7358         gl_FUNC_GETTIMEOFDAY.
7359         (Include): Add gettimeofday.h.
7360         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
7361         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
7362         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
7363         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
7364         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
7365         * lib/gettimeofday.h: New file.
7366         * lib/gettimeofday.c: Include <sys/timeb.h>.
7367         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
7368         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7369         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
7370         fall back on time().
7371
7372         * tests/test-gettimeofday.c: New file.
7373         * modules/gettimeofday-tests: New file.
7374
7375 2007-01-16  Eric Blake  <ebb9@byu.net>
7376
7377         * modules/fnmatch (Depends-on): Depend on wchar.
7378         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
7379         * m4/fnmatch.m4: Likewise.
7380         * modules/mbchar (Makefile.am): Assume <wchar.h>.
7381         * m4/mbchar.m4: Likewise.
7382         * modules/mbswidth (Depends-on): Depend on wchar.
7383         * lib/mbswidth.c: Assume <wchar.h>.
7384         * m4/mbswidth.m4: Likewise.
7385         * modules/quotearg (Depends-on): Depend on wchar.
7386         * lib/quotearg.c: Assume <wchar.h>.
7387         * m4/quotearg.m4: Likewise.
7388         * modules/regex (Depends-on): Depend on wchar.
7389         * lib/regex_internal.h: Assume <wchar.h>.
7390         * m4/regex.m4: Likewise.
7391         * modules/stdint (Depends-on): Depend on wchar.
7392         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
7393         * m4/stdint.m4: Likewise.
7394         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
7395         * modules/strftime (Depends-on): Depend on wchar.
7396         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
7397         * modules/strtol (Depends-on): Depend on wchar.
7398         * lib/strtol.c: Assume <wchar.h>.
7399         * modules/wcwidth (Depends-on): Depend on wchar.
7400         * lib/wcwidth.h: Assume <wchar.h>.
7401         * m4/wcwidth.m4: Likewise.
7402
7403 2007-01-16  Bruno Haible  <bruno@clisp.org>
7404
7405         * modules/csharpexec-script: New, created from...
7406         * modules/csharpexec: ... this.
7407
7408 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
7409
7410         * modules/javaexec-script: New, created from...
7411         * modules/javaexec: ... this.
7412
7413 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7414
7415         * modules/poll (Dependencies): Add sys_select.
7416
7417 2007-01-15  Jim Meyering  <jim@meyering.net>
7418
7419         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
7420         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
7421         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
7422         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
7423
7424 2007-01-15  Bruno Haible  <bruno@clisp.org>
7425
7426         * modules/striconveh: New file.
7427         * lib/striconveh.h: New file.
7428         * lib/striconveh.c: New file.
7429         * MODULES.html.sh (Internationalization functions): Add striconveh.
7430
7431         * modules/striconveh-tests: New file.
7432         * tests/test-striconveh.c: New file.
7433
7434 2007-01-15  Bruno Haible  <bruno@clisp.org>
7435
7436         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
7437         not from GNU libiconv or GNU libc.
7438
7439 2007-01-15  Bruno Haible  <bruno@clisp.org>
7440
7441         * doc/gnulib-intro.texi (Copyright): Explain the different license
7442         terms for module descriptions, autoconf macros, tests, documentation.
7443
7444 2007-01-14  Bruno Haible  <bruno@clisp.org>
7445
7446         * modules/striconv-tests: New file.
7447         * tests/test-striconv.c: New file.
7448
7449 2007-01-14  Bruno Haible  <bruno@clisp.org>
7450
7451         * modules/iconv-tests: New file.
7452         * tests/test-iconv.c: New file.
7453
7454 2007-01-14  Bruno Haible  <bruno@clisp.org>
7455
7456         * gnulib-tool (func_get_license): For test modules, use the license of
7457         the main module.
7458
7459 2007-01-14  Bruno Haible  <bruno@clisp.org>
7460
7461         * modules/iconv (Include): Clarify that <iconv.h> can only be included
7462         if iconv is found to exist.
7463
7464 2007-01-14  Bruno Haible  <bruno@clisp.org>
7465
7466         * modules/c-ctype-tests: New file.
7467         * tests/test-c-ctype.c: New file.
7468
7469 2007-01-14  Bruno Haible  <bruno@clisp.org>
7470
7471         * modules/binary-io-tests: New file.
7472         * tests/test-binary-io.sh: New file.
7473         * tests/test-binary-io.c: New file.
7474
7475 2007-01-14  Bruno Haible  <bruno@clisp.org>
7476
7477         * modules/array-oset-tests: New file.
7478         * tests/test-array_oset.c: New file.
7479
7480 2007-01-14  Bruno Haible  <bruno@clisp.org>
7481
7482         * modules/array-list-tests: New file.
7483         * tests/test-array_list.c: New file.
7484
7485 2007-01-14  Bruno Haible  <bruno@clisp.org>
7486
7487         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
7488         and make.
7489         Reported by Simon Josefsson in
7490         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
7491
7492 2007-01-14  Bruno Haible  <bruno@clisp.org>
7493
7494         * modules/allocsa-tests: New file.
7495         * tests/test-allocsa.c: New file.
7496
7497 2007-01-14  Bruno Haible  <bruno@clisp.org>
7498
7499         * modules/fchdir (Depends-on): Add absolute-header.
7500         * modules/unistd (Depends-on): Likewise.
7501
7502 2006-12-30  Bruno Haible  <bruno@clisp.org>
7503
7504         * modules/fchdir: New file.
7505         * modules/unistd (Files): Add lib/unistd_.h.
7506         (Makefile.am): Generate unistd.h from unistd_.h.
7507         * lib/fchdir.c: New file.
7508         * lib/dirent_.h: New file.
7509         * lib/unistd_.h: New file.
7510         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
7511         * m4/fchdir.m4: New file.
7512         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
7513         (gl_HEADER_UNISTD): Invoke it.
7514         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
7515         function.
7516         * lib/backupfile.c (opendir, closedir): Undefine.
7517         * lib/chown.c (open, close): Undefine.
7518         * lib/clean-temp.c (open, close): Undefine.
7519         * lib/copy-file.c (open, close): Undefine.
7520         * lib/execute.c (open, close): Undefine.
7521         * lib/fsusage.c (open, close): Undefine.
7522         * lib/gc-gnulib.c (open, close): Undefine.
7523         * lib/getcwd.c (opendir, closedir): Undefine.
7524         * lib/glob.c (opendir, closedir): Undefine.
7525         * lib/javacomp.c (open, close): Undefine.
7526         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
7527         * lib/openat-proc.c (open, close): Undefine.
7528         * lib/pagealign_alloc.c (open, close): Undefine.
7529         * lib/pipe.c (open, close): Undefine.
7530         * lib/progreloc.c (open, close): Undefine.
7531         * lib/savedir.c (opendir, closedir): Undefine.
7532         * lib/utime.c (open, close): Undefine.
7533         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
7534
7535 2007-01-10  Bruno Haible  <bruno@clisp.org>
7536
7537         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
7538
7539 2007-01-12  Eric Blake  <ebb9@byu.net>
7540
7541         Provide a robust <wchar.h>.  Further simplifications are now
7542         possible in other modules, but not included here.
7543         * modules/wchar: New module.
7544         * m4/wchar.m4: New file.
7545         * lib/wchar_.h: Likewise.
7546         * modules/mbchar (Depends-on): Depend on wchar, as the first use
7547         of the new module.
7548         * MODULES.html.sh (Extended multibyte and wide character utilities):
7549         New section.
7550
7551 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
7552
7553         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
7554         to a reasonable default for memory allocation.
7555         (xreadlink): Don't allocate a huge buffer, to work around a buggy
7556         file system that reports garbage st_size values for symlinks.
7557         Problem reported by Liyang Hu.
7558
7559 2007-01-11  Simon Josefsson  <simon@josefsson.org>
7560
7561         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
7562         Emacs .#* auto-save files).
7563
7564 2007-01-11  Bruno Haible  <bruno@clisp.org>
7565
7566         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
7567         directory.
7568
7569 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7570
7571         Use @...@ consistently in lib/wctype_.h.
7572         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
7573         on it being set to 1 or 0.
7574         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
7575         go back to AC_SUBSTing it.
7576         * modules/wctype (Makefile.am): Undo previous change.
7577
7578 2007-01-10  Eric Blake  <ebb9@byu.net>
7579
7580         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
7581         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
7582         * modules/wctype (Makefile.am): Likewise.
7583         Reported by Chris McGuire.
7584
7585 2007-01-10  Jim Meyering  <jim@meyering.net>
7586
7587         fts.c: a small readability/maintainability improvement
7588         * lib/fts.c (fts_read): Make this code slightly more readable and
7589         maintainable by hoisting the "sp->fts_cur = p" assignments to
7590         immediately follow the statements that set P.  Derived from
7591         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
7592
7593 2007-01-10  Eric Blake  <ebb9@byu.net>
7594
7595         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
7596         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
7597         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7598         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
7599         Reported by Chris McGuire.
7600
7601 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7602
7603         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
7604         in sed script.
7605
7606 2007-01-09  Bruno Haible  <bruno@clisp.org>
7607
7608         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
7609         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
7610         variables.
7611         (func_module): Use them.
7612
7613 2007-01-09  Bruno Haible  <bruno@clisp.org>
7614
7615         * modules/unistr/base: New file.
7616         * lib/unistr.h: New file.
7617
7618         * modules/unistr/u8-to-u16: New file.
7619         * lib/unistr/u8-to-u16.c: New file.
7620
7621         * modules/unistr/u8-to-u32: New file.
7622         * lib/unistr/u8-to-u32.c: New file.
7623
7624         * modules/unistr/u16-to-u8: New file.
7625         * lib/unistr/u16-to-u8.c: New file.
7626
7627         * modules/unistr/u16-to-u32: New file.
7628         * lib/unistr/u16-to-u32.c: New file.
7629
7630         * modules/unistr/u32-to-u8: New file.
7631         * lib/unistr/u32-to-u8.c: New file.
7632
7633         * modules/unistr/u32-to-u16: New file.
7634         * lib/unistr/u32-to-u16.c: New file.
7635
7636         * modules/unistr/u8-check: New file.
7637         * modules/unistr/u16-check: New file.
7638         * modules/unistr/u32-check: New file.
7639         * lib/unistr/u8-check.c: New file.
7640         * lib/unistr/u16-check.c: New file.
7641         * lib/unistr/u32-check.c: New file.
7642
7643         * modules/unistr/u8-chr: New file.
7644         * modules/unistr/u16-chr: New file.
7645         * modules/unistr/u32-chr: New file.
7646         * lib/unistr/u8-chr.c: New file.
7647         * lib/unistr/u16-chr.c: New file.
7648         * lib/unistr/u32-chr.c: New file.
7649
7650         * modules/unistr/u8-cmp: New file.
7651         * modules/unistr/u16-cmp: New file.
7652         * modules/unistr/u32-cmp: New file.
7653         * lib/unistr/u8-cmp.c: New file.
7654         * lib/unistr/u16-cmp.c: New file.
7655         * lib/unistr/u32-cmp.c: New file.
7656
7657         * modules/unistr/u8-cpy: New file.
7658         * modules/unistr/u16-cpy: New file.
7659         * modules/unistr/u32-cpy: New file.
7660         * lib/unistr/u8-cpy.c: New file.
7661         * lib/unistr/u16-cpy.c: New file.
7662         * lib/unistr/u32-cpy.c: New file.
7663         * lib/unistr/u-cpy.h: New file.
7664
7665         * modules/unistr/u8-cpy-alloc: New file.
7666         * modules/unistr/u16-cpy-alloc: New file.
7667         * modules/unistr/u32-cpy-alloc: New file.
7668         * lib/unistr/u8-cpy-alloc.c: New file.
7669         * lib/unistr/u16-cpy-alloc.c: New file.
7670         * lib/unistr/u32-cpy-alloc.c: New file.
7671         * lib/unistr/u-cpy-alloc.h: New file.
7672
7673         * modules/unistr/u8-endswith: New file.
7674         * modules/unistr/u16-endswith: New file.
7675         * modules/unistr/u32-endswith: New file.
7676         * lib/unistr/u8-endswith.c: New file.
7677         * lib/unistr/u16-endswith.c: New file.
7678         * lib/unistr/u32-endswith.c: New file.
7679         * lib/unistr/u-endswith.h: New file.
7680
7681         * modules/unistr/u8-mblen: New file.
7682         * modules/unistr/u16-mblen: New file.
7683         * modules/unistr/u32-mblen: New file.
7684         * lib/unistr/u8-mblen.c: New file.
7685         * lib/unistr/u16-mblen.c: New file.
7686         * lib/unistr/u32-mblen.c: New file.
7687
7688         * modules/unistr/u8-mbtouc: New file.
7689         * modules/unistr/u16-mbtouc: New file.
7690         * modules/unistr/u32-mbtouc: New file.
7691         * lib/unistr/u8-mbtouc.c: New file.
7692         * lib/unistr/u16-mbtouc.c: New file.
7693         * lib/unistr/u32-mbtouc.c: New file.
7694
7695         * modules/unistr/u8-mbtouc-safe: New file.
7696         * modules/unistr/u16-mbtouc-safe: New file.
7697         * modules/unistr/u32-mbtouc-safe: New file.
7698         * lib/unistr/u8-mbtouc-safe.c: New file.
7699         * lib/unistr/u16-mbtouc-safe.c: New file.
7700         * lib/unistr/u32-mbtouc-safe.c: New file.
7701
7702         * modules/unistr/u8-move: New file.
7703         * modules/unistr/u16-move: New file.
7704         * modules/unistr/u32-move: New file.
7705         * lib/unistr/u8-move.c: New file.
7706         * lib/unistr/u16-move.c: New file.
7707         * lib/unistr/u32-move.c: New file.
7708         * lib/unistr/u-move.h: New file.
7709
7710         * modules/unistr/u8-next: New file.
7711         * modules/unistr/u16-next: New file.
7712         * modules/unistr/u32-next: New file.
7713         * lib/unistr/u8-next.c: New file.
7714         * lib/unistr/u16-next.c: New file.
7715         * lib/unistr/u32-next.c: New file.
7716
7717         * modules/unistr/u8-prev: New file.
7718         * modules/unistr/u16-prev: New file.
7719         * modules/unistr/u32-prev: New file.
7720         * lib/unistr/u8-prev.c: New file.
7721         * lib/unistr/u16-prev.c: New file.
7722         * lib/unistr/u32-prev.c: New file.
7723
7724         * modules/unistr/u8-set: New file.
7725         * modules/unistr/u16-set: New file.
7726         * modules/unistr/u32-set: New file.
7727         * lib/unistr/u8-set.c: New file.
7728         * lib/unistr/u16-set.c: New file.
7729         * lib/unistr/u32-set.c: New file.
7730         * lib/unistr/u-set.h: New file.
7731
7732         * modules/unistr/u8-startswith: New file.
7733         * modules/unistr/u16-startswith: New file.
7734         * modules/unistr/u32-startswith: New file.
7735         * lib/unistr/u8-startswith.c: New file.
7736         * lib/unistr/u16-startswith.c: New file.
7737         * lib/unistr/u32-startswith.c: New file.
7738         * lib/unistr/u-startswith.h: New file.
7739
7740         * modules/unistr/u8-stpcpy: New file.
7741         * modules/unistr/u16-stpcpy: New file.
7742         * modules/unistr/u32-stpcpy: New file.
7743         * lib/unistr/u8-stpcpy.c: New file.
7744         * lib/unistr/u16-stpcpy.c: New file.
7745         * lib/unistr/u32-stpcpy.c: New file.
7746         * lib/unistr/u-stpcpy.h: New file.
7747
7748         * modules/unistr/u8-stpncpy: New file.
7749         * modules/unistr/u16-stpncpy: New file.
7750         * modules/unistr/u32-stpncpy: New file.
7751         * lib/unistr/u8-stpncpy.c: New file.
7752         * lib/unistr/u16-stpncpy.c: New file.
7753         * lib/unistr/u32-stpncpy.c: New file.
7754         * lib/unistr/u-stpncpy.h: New file.
7755
7756         * modules/unistr/u8-strcat: New file.
7757         * modules/unistr/u16-strcat: New file.
7758         * modules/unistr/u32-strcat: New file.
7759         * lib/unistr/u8-strcat.c: New file.
7760         * lib/unistr/u16-strcat.c: New file.
7761         * lib/unistr/u32-strcat.c: New file.
7762         * lib/unistr/u-strcat.h: New file.
7763
7764         * modules/unistr/u8-strchr: New file.
7765         * modules/unistr/u16-strchr: New file.
7766         * modules/unistr/u32-strchr: New file.
7767         * lib/unistr/u8-strchr.c: New file.
7768         * lib/unistr/u16-strchr.c: New file.
7769         * lib/unistr/u32-strchr.c: New file.
7770
7771         * modules/unistr/u8-strcmp: New file.
7772         * modules/unistr/u16-strcmp: New file.
7773         * modules/unistr/u32-strcmp: New file.
7774         * lib/unistr/u8-strcmp.c: New file.
7775         * lib/unistr/u16-strcmp.c: New file.
7776         * lib/unistr/u32-strcmp.c: New file.
7777
7778         * modules/unistr/u8-strcpy: New file.
7779         * modules/unistr/u16-strcpy: New file.
7780         * modules/unistr/u32-strcpy: New file.
7781         * lib/unistr/u8-strcpy.c: New file.
7782         * lib/unistr/u16-strcpy.c: New file.
7783         * lib/unistr/u32-strcpy.c: New file.
7784         * lib/unistr/u-strcpy.h: New file.
7785
7786         * modules/unistr/u8-strcspn: New file.
7787         * modules/unistr/u16-strcspn: New file.
7788         * modules/unistr/u32-strcspn: New file.
7789         * lib/unistr/u8-strcspn.c: New file.
7790         * lib/unistr/u16-strcspn.c: New file.
7791         * lib/unistr/u32-strcspn.c: New file.
7792         * lib/unistr/u-strcspn.h: New file.
7793
7794         * modules/unistr/u8-strdup: New file.
7795         * modules/unistr/u16-strdup: New file.
7796         * modules/unistr/u32-strdup: New file.
7797         * lib/unistr/u8-strdup.c: New file.
7798         * lib/unistr/u16-strdup.c: New file.
7799         * lib/unistr/u32-strdup.c: New file.
7800         * lib/unistr/u-strdup.h: New file.
7801
7802         * modules/unistr/u8-strlen: New file.
7803         * modules/unistr/u16-strlen: New file.
7804         * modules/unistr/u32-strlen: New file.
7805         * lib/unistr/u8-strlen.c: New file.
7806         * lib/unistr/u16-strlen.c: New file.
7807         * lib/unistr/u32-strlen.c: New file.
7808         * lib/unistr/u-strlen.h: New file.
7809
7810         * modules/unistr/u8-strmblen: New file.
7811         * modules/unistr/u16-strmblen: New file.
7812         * modules/unistr/u32-strmblen: New file.
7813         * lib/unistr/u8-strmblen.c: New file.
7814         * lib/unistr/u16-strmblen.c: New file.
7815         * lib/unistr/u32-strmblen.c: New file.
7816
7817         * modules/unistr/u8-strmbtouc: New file.
7818         * modules/unistr/u16-strmbtouc: New file.
7819         * modules/unistr/u32-strmbtouc: New file.
7820         * lib/unistr/u8-strmbtouc.c: New file.
7821         * lib/unistr/u16-strmbtouc.c: New file.
7822         * lib/unistr/u32-strmbtouc.c: New file.
7823
7824         * modules/unistr/u8-strncat: New file.
7825         * modules/unistr/u16-strncat: New file.
7826         * modules/unistr/u32-strncat: New file.
7827         * lib/unistr/u8-strncat.c: New file.
7828         * lib/unistr/u16-strncat.c: New file.
7829         * lib/unistr/u32-strncat.c: New file.
7830         * lib/unistr/u-strncat.h: New file.
7831
7832         * modules/unistr/u8-strncmp: New file.
7833         * modules/unistr/u16-strncmp: New file.
7834         * modules/unistr/u32-strncmp: New file.
7835         * lib/unistr/u8-strncmp.c: New file.
7836         * lib/unistr/u16-strncmp.c: New file.
7837         * lib/unistr/u32-strncmp.c: New file.
7838
7839         * modules/unistr/u8-strncpy: New file.
7840         * modules/unistr/u16-strncpy: New file.
7841         * modules/unistr/u32-strncpy: New file.
7842         * lib/unistr/u8-strncpy.c: New file.
7843         * lib/unistr/u16-strncpy.c: New file.
7844         * lib/unistr/u32-strncpy.c: New file.
7845         * lib/unistr/u-strncpy.h: New file.
7846
7847         * modules/unistr/u8-strnlen: New file.
7848         * modules/unistr/u16-strnlen: New file.
7849         * modules/unistr/u32-strnlen: New file.
7850         * lib/unistr/u8-strnlen.c: New file.
7851         * lib/unistr/u16-strnlen.c: New file.
7852         * lib/unistr/u32-strnlen.c: New file.
7853         * lib/unistr/u-strnlen.h: New file.
7854
7855         * modules/unistr/u8-strpbrk: New file.
7856         * modules/unistr/u16-strpbrk: New file.
7857         * modules/unistr/u32-strpbrk: New file.
7858         * lib/unistr/u8-strpbrk.c: New file.
7859         * lib/unistr/u16-strpbrk.c: New file.
7860         * lib/unistr/u32-strpbrk.c: New file.
7861         * lib/unistr/u-strpbrk.h: New file.
7862
7863         * modules/unistr/u8-strrchr: New file.
7864         * modules/unistr/u16-strrchr: New file.
7865         * modules/unistr/u32-strrchr: New file.
7866         * lib/unistr/u8-strrchr.c: New file.
7867         * lib/unistr/u16-strrchr.c: New file.
7868         * lib/unistr/u32-strrchr.c: New file.
7869
7870         * modules/unistr/u8-strspn: New file.
7871         * modules/unistr/u16-strspn: New file.
7872         * modules/unistr/u32-strspn: New file.
7873         * lib/unistr/u8-strspn.c: New file.
7874         * lib/unistr/u16-strspn.c: New file.
7875         * lib/unistr/u32-strspn.c: New file.
7876         * lib/unistr/u-strspn.h: New file.
7877
7878         * modules/unistr/u8-strstr: New file.
7879         * modules/unistr/u16-strstr: New file.
7880         * modules/unistr/u32-strstr: New file.
7881         * lib/unistr/u8-strstr.c: New file.
7882         * lib/unistr/u16-strstr.c: New file.
7883         * lib/unistr/u32-strstr.c: New file.
7884         * lib/unistr/u-strstr.h: New file.
7885
7886         * modules/unistr/u8-strtok: New file.
7887         * modules/unistr/u16-strtok: New file.
7888         * modules/unistr/u32-strtok: New file.
7889         * lib/unistr/u8-strtok.c: New file.
7890         * lib/unistr/u16-strtok.c: New file.
7891         * lib/unistr/u32-strtok.c: New file.
7892         * lib/unistr/u-strtok.h: New file.
7893
7894         * modules/unistr/u8-uctomb: New file.
7895         * modules/unistr/u16-uctomb: New file.
7896         * modules/unistr/u32-uctomb: New file.
7897         * lib/unistr/u8-uctomb.c: New file.
7898         * lib/unistr/u16-uctomb.c: New file.
7899         * lib/unistr/u32-uctomb.c: New file.
7900
7901         * MODULES.html.sh (Unicode string functions): Add the new modules.
7902
7903 2007-01-08  Bruno Haible  <bruno@clisp.org>
7904
7905         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
7906         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
7907         subdirectories.
7908
7909 2007-01-08  Karl Berry  <karl@gnu.org>
7910
7911         * doc/error.texi: mention that main() fns must set program_name
7912         when progname is used.
7913
7914 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
7915
7916         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
7917         WCTYPE_H is empty, for the benefit of builds from non-distclean
7918         directories.  Problem reported by Eric Blake in
7919         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
7920
7921 2007-01-08  Bruno Haible  <bruno@clisp.org>
7922
7923         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
7924         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
7925         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
7926         PROVIDE_CANONICALIZE_FILENAME_MODE.
7927         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
7928
7929 2007-01-08  Bruno Haible  <bruno@clisp.org>
7930
7931         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
7932         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
7933         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
7934         * lib/fts.c: Likewise.
7935         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
7936
7937 2006-12-25  Bruno Haible  <bruno@clisp.org>
7938
7939         * modules/utf8-ucs4-safe: New file.
7940         * lib/utf8-ucs4-safe.h: New file.
7941         * lib/unistr/utf8-ucs4-safe.c: New file.
7942
7943         * modules/utf16-ucs4-safe: New file.
7944         * lib/utf16-ucs4-safe.h: New file.
7945         * lib/unistr/utf16-ucs4-safe.c: New file.
7946
7947         * MODULES.html.sh (Unicode string functions): Add the new modules.
7948
7949 2007-01-08  Bruno Haible  <bruno@clisp.org>
7950
7951         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
7952         (Depends-on): Add unitypes.
7953         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
7954         (u8_mbtouc_aux): Move out to separate file.
7955         (u8_mbtouc): Use ucs4_t, uint8_t types.
7956         * lib/unistr/utf8-ucs4.c: New file.
7957
7958         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
7959         (Depends-on): Add unitypes.
7960         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
7961         (u16_mbtouc_aux): Move out to separate file.
7962         (u16_mbtouc): Use ucs4_t, uint16_t types.
7963         * lib/unistr/utf16-ucs4.c: New file.
7964
7965         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
7966         (Depends-on): Add unitypes.
7967         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
7968         (u8_uctomb_aux): Move out to separate file.
7969         (u8_uctomb): Use ucs4_t, uint8_t types.
7970         * lib/unistr/ucs4-utf8.c: New file.
7971
7972         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
7973         (Depends-on): Add unitypes.
7974         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
7975         (u16_uctomb_aux): Move out to separate file.
7976         (u16_uctomb): Use ucs4_t, uint16_t types.
7977         * lib/unistr/ucs4-utf16.c: New file.
7978
7979 2006-12-25  Bruno Haible  <bruno@clisp.org>
7980
7981         * modules/unitypes: New file.
7982         * lib/unitypes.h: New file.
7983         * MODULES.html.sh (func_all_modules): New section "Unicode string
7984         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
7985         this section. Add unitypes.
7986
7987 2007-01-08  Bruno Haible  <bruno@clisp.org>
7988
7989         Avoid variable names that conflict with those from libtool.
7990         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
7991         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
7992         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
7993         library_names_spec to acl_library_names_spec, hardcode_* to
7994         acl_hardcode_*.
7995         Reported by Ralf Wildenhues.
7996
7997 2007-01-08  Bruno Haible  <bruno@clisp.org>
7998
7999         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
8000         definition.
8001         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
8002         definition.
8003         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
8004         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
8005         definition.
8006         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
8007         definition.
8008         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
8009         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
8010         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
8011         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
8012         definition.
8013         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
8014         definition.
8015         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
8016         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
8017         GC_USE_<algorithm>.
8018         * lib/gc-libgcrypt.c: Likewise.
8019         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
8020         * modules/gc-arctwo (configure.ac): Likewise.
8021         * modules/gc-des (configure.ac): Likewise.
8022         * modules/gc-hmac-md5 (configure.ac): Likewise.
8023         * modules/gc-hmac-sha1 (configure.ac): Likewise.
8024         * modules/gc-md2 (configure.ac): Likewise.
8025         * modules/gc-md4 (configure.ac): Likewise.
8026         * modules/gc-md5 (configure.ac): Likewise.
8027         * modules/gc-random (configure.ac): Likewise.
8028         * modules/gc-rijndael (configure.ac): Likewise.
8029         * modules/gc-sha1 (configure.ac): Likewise.
8030
8031 2007-01-08  Bruno Haible  <bruno@clisp.org>
8032
8033         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
8034         macro definition.
8035         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
8036         definition.
8037         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
8038         definition.
8039         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
8040         * modules/fcntl-safer (configure.ac): Likewise.
8041         * modules/fopen-safer (configure.ac): Likewise.
8042         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
8043         GNULIB_FWRITEERROR macro definition.
8044
8045 2007-01-08  Bruno Haible  <bruno@clisp.org>
8046
8047         * m4/gnulib-common.m4: New file.
8048         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
8049         (func_get_filelist): Add m4/gnulib-common.m4.
8050
8051 2007-01-08  Bruno Haible  <bruno@clisp.org>
8052
8053         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
8054         command.
8055
8056 2007-01-08  Jim Meyering  <jim@meyering.net>
8057
8058         Use a more robust test for a "can't happen" condition.
8059         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
8060         narrowed the st_size value.  Presuming the "can't happen" condition
8061         is true, that narrowing could conceivably convert an invalid st_size
8062         value into a valid one.  Instead, use a change based on Matthew
8063         Woehlke's original patch.
8064
8065         Slight readability improvement: use an assert-like macro
8066         in place of literal "abort ()" uses.
8067         * lib/fts.c (fts_assert): Define.
8068         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
8069         Use this macro instead of a bare 'abort'.
8070
8071 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8072
8073         Don't worry about using IRIX 5.3's wctype.h broken definitions;
8074         simply work around them.
8075         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
8076         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
8077         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
8078         declaring.
8079         Don't bother to define as macros, since the standard doesn't require it.
8080         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
8081         longer worry about IRIX 5.3.
8082         (HAVE_WCTYPE_CTMP_BUG): Remove.
8083
8084 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8085
8086         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
8087         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
8088         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
8089         Problems reported by Georg Schwarz for IRIX 5.3.
8090
8091         * gnulib-tool (autoconf_minversion): Take the maximum version number
8092         found, not the minimum.  Problem reported by James Youngman.
8093
8094 2007-01-03  Karl Berry  <karl@gnu.org>
8095
8096         * doc/error.texi: new file, explaining interaction with progname.
8097         * doc/gnulib.texi: include it.  Update copyright.
8098
8099 2007-01-03  Simon Josefsson  <simon@josefsson.org>
8100
8101         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
8102         AC_CANONICAL_HOST, to improve autobuild outputs.
8103
8104 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
8105             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
8106
8107         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
8108         sockets, server sockets, and other file descriptors.  Count errors
8109         to compute the return value.  Reorder the code a bit to be easier
8110         to follow.  Don't set event bits that were not requested (except
8111         POLLERR and POLLHUP).
8112
8113 2007-01-01  Bruno Haible  <bruno@clisp.org>
8114
8115         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
8116
8117 2007-01-03  Jim Meyering  <jim@meyering.net>
8118
8119         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
8120
8121 2007-01-02  Bruno Haible  <bruno@clisp.org>
8122
8123         * modules/settime (Include): Require timespec.h.
8124         * modules/nanosleep (Include): Likewise.
8125
8126 2007-01-01  Bruno Haible  <bruno@clisp.org>
8127
8128         * gnulib-tool (func_emit_copyright_notice): Bump year.
8129         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
8130
8131 2007-01-01  Bruno Haible  <bruno@clisp.org>
8132
8133         Improve support for OpenBSD.
8134         * build-aux/config.rpath (libname_spec): Export.
8135         (library_names_spec): New variable. Export.
8136         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
8137         library_names_spec from the config.rpath output. Locate shared library
8138         through the name pattern in library_names_spec.
8139
8140 2007-01-01  Eric Blake  <ebb9@byu.net>
8141
8142         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
8143
8144 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
8145
8146         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
8147         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
8148         assume the C locale, and avoid an "eval" that could cause trouble.
8149         Problem with SORT reported by Bob Proulx.
8150
8151         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
8152         Define.  Trivial patch from Henning Nielsen Lund, originally
8153         sent to bug-grep@gnu.org today.
8154
8155 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
8156
8157         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
8158         struct stat.  Problem reported by Henning Nielsen Lund.
8159         * lib/acl.c: Include acl.h first, to check interface.  Don't
8160         bother to include sys/types.h and sys/stat.h again.
8161
8162 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
8163
8164         Import the following change from libc; problem reported by
8165         Sven Verdoolaege.
8166
8167         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
8168
8169         [BZ #1373]
8170         * lib/argp.h: Remove __NTH for __argp_usage inline function.
8171
8172 2006-12-28  Jim Meyering  <jim@meyering.net>
8173
8174         * build-aux/announce-gen: Do not assume that the package
8175         builds any of tar.gz, tar.bz2, and .xdelta files.
8176         Suggestion from Simon Josefsson.
8177
8178 2006-12-28  Simon Josefsson  <simon@josefsson.org>
8179
8180         * modules/announce-gen: New file.
8181
8182 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
8183
8184         * lib/mbchar.h: Just include <wctype.h>; the wctype module
8185         handles its gotchas now.
8186         * lib/mbswidth.c: Likewise.
8187         * lib/wcwidth.h: Likewise.
8188         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
8189         and iswcntrl; the wctype module does this stuff now.
8190         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
8191         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8192         * modules/mbchar (Depends-on): Add wctype.
8193         * modules/mbswidth (Depends-on): Likewise.
8194         * modules/wcwidth (Depends-on): Likewise.
8195
8196 2006-12-27  Eric Blake  <ebb9@byu.net>
8197
8198         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
8199         module uses more than what <wctype.h> is required to provide.
8200
8201 2006-12-26  Eric Blake  <ebb9@byu.net>
8202
8203         * gnulib-tool (sed_extract_prog): Avoid space-tab.
8204
8205 2006-12-26  Eric Blake  <ebb9@byu.net>
8206
8207         * modules/absolute-header: New module.
8208         * modules/fcntl (Depends-on): Depend on it.
8209         * modules/inttypes (Depends-on): Likewise.
8210         * modules/stdint (Depends-on): Likewise.
8211         * modules/sys_stat (Depends-on): Likewise.
8212         * modules/wctype (Depends-on): Likewise.
8213         * MODULES.html.sh (Support for building libraries and
8214         executables): Document it.
8215
8216 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
8217
8218         * gnulib-tool (SED): Remove, undoing previous change.
8219         The problem was that it broke coreutils on Solaris, because
8220         "sed --posix" leaked into a makefile.
8221         (sed): New alias, if 'alias' and GNU sed.
8222
8223 2006-12-24  Jim Meyering  <jim@meyering.net>
8224
8225         Work around an fchownat bug in glibc-2.4:
8226         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
8227         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
8228         in spite of the -P option.
8229         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
8230         New macros.
8231         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
8232         * modules/openat (Files): Add lib/fchownat.c.
8233         * lib/openat.c (fchownat): Don't define here.  Move to...
8234         * lib/fchownat.c: ...this new file.
8235
8236 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
8237
8238         Fix bug reported by Bruno Haible in
8239         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
8240         where quotearg.c didn't compile on Mac OS X 10.2 because it
8241         lacks <wchar.h> and wint_t.
8242         * lib/wctype_.h (__wctype_wint_t): New type.
8243         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
8244         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
8245         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
8246         Arg is now of type __wctype_wint_t, not wint_t.
8247         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
8248         substitute HAVE_WINT_T.
8249         * modules/wctype (Files): Add m4/wint_t.m4.
8250         (wctype.h): Substitute HAVE_WINT_T.
8251
8252 2006-12-23  Bruno Haible  <bruno@clisp.org>
8253
8254         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
8255
8256 2006-12-23  Bruno Haible  <bruno@clisp.org>
8257
8258         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
8259         S_ISLNK.
8260         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
8261         mingw.
8262
8263 2006-12-22  Bruno Haible  <bruno@clisp.org>
8264
8265         * lib/copy-file.c: Include acl.h.
8266         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
8267         Close the file descriptors only after being done with copy_acl.
8268         * modules/copy-file (Depends-on): Add acl.
8269
8270 2006-12-22  Bruno Haible  <bruno@clisp.org>
8271
8272         * gnulib-tool (SED): New variable.
8273         Use $SED instead of sed everywhere.
8274
8275 2006-12-22  Bruno Haible  <bruno@clisp.org>
8276
8277         * modules/no-c++: New file.
8278         * m4/no-c++.m4: New file.
8279         * MODULES.html.sh (Support for building libraries and executables):
8280         Add no-c++.
8281
8282 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8283
8284         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
8285         Include <limits.h>, and use its INT_MAX to rewrite the
8286         j loop so that it does not overflow 'int'.  Problem reported by
8287         Ralf Wildenhues in
8288         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
8289         Play it safe by shifting left by 1 rather than multiplying by 2,
8290         as GCC is less likely to optimize this away when the value
8291         is signed (when it assumes overflow leads to undefined behavior).
8292         Also, don't assume time_t uses two's complement.
8293
8294 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
8295
8296         * MODULES.html.sh: New module wctype.
8297         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
8298         * lib/fnmatch.c: Don't bother to include <wchar.h> before
8299         <wctype.h>, since the new wctype module should fix this.
8300         * lib/quotearg.c: Include <wctype.h> unconditionally, since
8301         the wctype module should arrange for it.
8302         * lib/regex_internal.h: Likewise.
8303         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
8304         since the wctype module should handle this now.
8305         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
8306         * modules/fnmatch (Depends-on): Add wctype.
8307         * modules/quotearg (Depends-on): Likewise.
8308         * modules/regex (Depends-on): Likewise.
8309
8310 2006-12-19  Bruno Haible  <bruno@clisp.org>
8311
8312         * lib/strdup.h [C++]: Wrap definitions in extern "C".
8313         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
8314
8315 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8316
8317         * modules/savewd (Depends-on): Fix dependency on fcntl.
8318
8319 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8320
8321         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
8322         conforms to C99, rather than relying on the user's environment
8323         setting of STDINT_H.
8324
8325 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8326         and Eric Blake  <ebb9@byu.net>
8327
8328         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
8329         This is more consistent with the other defines here.
8330         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
8331         Port to z/OS.  Problem reported by Paul Gilmartin.
8332         Change local vars to use gl_ prefix rather than ac_.
8333         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
8334         with other defines.
8335         * modules/double-slash-root: New module.
8336         * modules/dirname (Files): Remove m4/double-slash-root.m4.
8337         (Depends-on): Add double-slash-root.
8338         * MODULES.html.sh (File system functions): Mention new module.
8339
8340 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
8341
8342         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
8343         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
8344         This is for the benefit of gzip, which doesn't do i18n.
8345
8346 2006-12-12  Jim Meyering  <jim@meyering.net>
8347
8348         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
8349         Reported by Andreas Schwab <schwab@suse.de>.
8350
8351 2006-12-12  Bruno Haible  <bruno@clisp.org>
8352
8353         Merge these changes.
8354         2006-09-05  Bruno Haible  <bruno@clisp.org>
8355         * lib/iconvme.c (iconv_string): No need to save and restore errno when
8356         iconv_alloc succeeded.
8357         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
8358         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
8359         test for " && dest " at the end - dest is always != NULL there. Call
8360         iconv with 4xNULL arguments initially, to reset the state. Call iconv
8361         with 2xNULL arguments, also to flush the state storage. Handle the
8362         IRIX iconv behaviour. Realloc the final result, to throw away unused
8363         memory.
8364
8365 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
8366
8367         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
8368         and fchmodat unconditionally, since glibc 2.4 has them.
8369         Problem reported by Arkadiusz Miskiewicz.
8370
8371 2006-12-10  Bruno Haible  <bruno@clisp.org>
8372
8373         * gnulib-tool (func_import): Show the include files only for those
8374         modules that are copied and specified.
8375         Reported by Karl Berry.
8376
8377 2006-12-08  Jim Meyering  <jim@meyering.net>
8378
8379         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
8380         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
8381
8382         * build-aux/announce-gen: Add two new options, both optional:
8383         --bootstrap-tools=TOOL_LIST
8384               a comma-separated list of tools, e.g.,
8385               autoconf,automake,bison,gnulib
8386         --gnulib-snapshot-date=DATE
8387               if gnulib is in the bootstrap tool list,
8388               then report this as the snapshot date.
8389               If not specified, use the current date/time.
8390               If you specify a date here, be sure it's UTC.
8391
8392 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8393
8394         * tests/test-argp-2.sh: Fix test to match actual output.
8395         (func_compare): Fix sed script to be portable.
8396
8397 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
8398
8399         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
8400         workaround for this case.  It is not autoconfigured now; offhand
8401         it's hard to see how to autoconfigure it.
8402
8403 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
8404
8405         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
8406         a directory that is about to be chowned.  Such a directory's
8407         initial file permissions should permit the owner only and this
8408         should not be changed until after the chown, since the group and
8409         other bits would be incorrect if they granted permission before
8410         the chown.
8411
8412         Fix porting problem for iswctype reported by Georg Schwarz in:
8413         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
8414         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
8415         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
8416         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
8417         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8418
8419 2006-12-03  Jim Meyering  <jim@meyering.net>
8420
8421         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
8422         p->fts_statp may not yet be defined.
8423         (fts_read): Instead, set it in the caller, once p->fts_statp is
8424         sure to be defined, and corresponds to a top-level directory.
8425         This bug made du -x fail.  Here's the coreutils test case:
8426         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
8427         Reported by Mike Frysinger.
8428
8429 2006-12-01  Jim Meyering  <jim@meyering.net>
8430
8431         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
8432         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
8433         Reported by Simon Josefsson.
8434
8435 2006-11-30  Jim Meyering  <jim@meyering.net>
8436
8437         * m4/warning.m4: Use the all-permissive copyright notice
8438         recommended by RMS (rather than LGPL).
8439         * m4/vararrays.m4: Likewise.
8440         * m4/flexmember.m4: Likewise.
8441
8442 2006-11-29  Bruno Haible  <bruno@clisp.org>
8443
8444         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
8445         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
8446         using +=.
8447         Reported by Simon Josefsson <simon@josefsson.org>.
8448
8449 2006-11-28  James Youngman <jay@gnu.org>
8450
8451         * README: Advise users that they might find the bug-gnulib@gnu.org
8452         and autotools-announce@gnu.org mailing lists useful.
8453
8454 2006-11-28  Bruno Haible  <bruno@clisp.org>
8455
8456         * m4/ptrdiff_max.m4: Remove file.
8457
8458 2006-11-21  Bruno Haible  <bruno@clisp.org>
8459
8460         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
8461         _AC_COMPUTE_INT.
8462         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
8463         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
8464         _AC_COMPUTE_INT.
8465         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
8466         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
8467         _AC_COMPUTE_INT.
8468         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
8469
8470 2006-11-28  Jim Meyering  <jim@meyering.net>
8471
8472         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
8473         warning from "gcc -Wshadow" about shadowing the builtin.
8474
8475 2006-11-27  Bruno Haible  <bruno@clisp.org>
8476
8477         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
8478         _AC_COMPUTE_INT.
8479         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
8480
8481 2006-11-27  Bruno Haible  <bruno@clisp.org>
8482             Paul Eggert  <eggert@cs.ucla.edu>
8483
8484         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
8485
8486 2006-11-26  Bruno Haible  <bruno@clisp.org>
8487
8488         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
8489         noinst_LTLIBRARIES.
8490
8491 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
8492             Bruno Haible  <bruno@clisp.org>
8493
8494         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
8495         if compiling with "gcc -ansi".
8496
8497 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
8498
8499         Fix some incompatibilities with gcc -ansi -pedantic.
8500         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
8501         if compiling pedantically with GCC, unless it's C99 or later.
8502         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
8503         it mishandles gcc -ansi -pedantic as well.
8504         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
8505         if gcc -pedantic.
8506         * lib/regexec.c (check_node_accept_bytes): Don't use auto
8507         initializers for struct if -pedantic, unless it's C99 or later.
8508
8509 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
8510
8511         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
8512         Don't close an fd more than once. Identical atimes indicate
8513         success, not failure.
8514
8515 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
8516
8517         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
8518
8519 2006-11-23  Jim Meyering  <jim@meyering.net>
8520
8521         * build-aux/announce-gen: New file.  From coreutils.
8522
8523 2006-11-22  Jim Meyering  <jim@meyering.net>
8524
8525         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
8526         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
8527         (fts_read): Use a temporary to narrow the overused st_size member
8528         before using it in a switch statement.  Reported by Matthew Woehlke.
8529
8530         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
8531         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
8532
8533 2006-11-20  Bruno Haible  <bruno@clisp.org>
8534
8535         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
8536         changequote instead of pairs of brackets.
8537         Reported by Andreas Schwab <schwab@suse.de>.
8538
8539 2006-11-21  Jim Meyering  <jim@meyering.net>
8540
8541         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
8542         so as to remain compatible with older compilers.
8543         Patch from Michael Deutschmann.
8544
8545 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8546
8547         * MODULES.html.sh (File system functions): Add openat.
8548
8549         * lib/openat.h (rpl_fstatat): New macro, if
8550         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
8551         (fstatat): Define to rpl_fstatat under the same conditions,
8552         unless COMPILING_FSTATAT.
8553         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
8554         seems to have the bug.
8555         * lib/fstatat.c: New file.
8556         * modules/openat (Files): Add it.
8557
8558 2006-11-20  Bruno Haible  <bruno@clisp.org>
8559
8560         * Makefile: New file.
8561
8562 2006-11-20  Jim Meyering  <jim@meyering.net>
8563
8564         The beginnings of syntax-related checks for gnulib.
8565         * lib/Makefile: New file.
8566         * lib/t-idcache: New script.  Ensure that the two halves of
8567         idcache.c stay in sync.
8568
8569         * lib/idcache.c: Adjust comments in user- and group- portions to
8570         be more accurate, and to be consistent with one another.
8571
8572 2006-11-20  Jim Meyering  <jim@meyering.net>
8573
8574         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
8575         continue using the flexible array member (thus, this module performs
8576         half as many malloc calls), with the addition that...
8577         (getgroup, getuser): Consistently record a non-match via an empty
8578         "name" string, and map an empty string match to a NULL return value.
8579         * modules/idcache (Depends-on): Re-add flexmember.
8580
8581         * lib/idcache.c (getuser): Remove all uses of the register keyword.
8582         (getuidbyname, getgroup, getgidbyname): Likewise.
8583
8584         Use cleaner syntax: NULL rather than 0.
8585         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
8586
8587 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8588
8589         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
8590         It mishandled the case where the group was missing.
8591         Problem reported by Greg Schafer.
8592         * modules/idcache: Likewise.
8593
8594 2006-11-18  Jim Meyering  <jim@meyering.net>
8595
8596         * check-module (%exempt_header): Add exception for some
8597         conditionally-included headers.
8598
8599         * modules/i-ring (Depends-on): Add verify.
8600         (License): Change to LGPL.
8601
8602 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
8603
8604         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
8605         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
8606         and inttostr.h.  Use snprintf rather than uinttostr, so that
8607         LGPLed code doesn't depend on GPLed.
8608
8609 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8610
8611         * modules/inline (License): Change from GPL to LGPL.
8612
8613 2006-11-17  Jim Meyering  <jim@meyering.net>
8614
8615         * modules/d-type (License): Switch to LGPL.
8616
8617 2006-11-15  Bruno Haible  <bruno@clisp.org>
8618
8619         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
8620
8621 2006-11-15  Eric Blake  <ebb9@byu.net>
8622
8623         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
8624         the module dependency.
8625
8626 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8627             Bruno Haible  <bruno@clisp.org>
8628
8629         * gnulib-tool (func_create_testdir): Add license consistency check.
8630
8631 2006-11-15  Eric Blake  <ebb9@byu.net>
8632
8633         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
8634         random "(cached)" in configure output.
8635
8636 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8637
8638         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
8639         test for conforming inttypes.h is both announced and cached.
8640
8641         * MODULES.html.sh (seen_modules, seen_files): New variables.
8642         (func_module): Rewrite to use a few less gnulib-tool and sed
8643         invocations.  Avoid a couple of quadratic algorithms for ...
8644         (missed_modules, missed_files): ... these, with ...
8645         (func_append, func_tmpdir): ... these new functions, from
8646         gnulib-tool.  Analogously, install traps for cleanup.
8647
8648         * tests/test-gc.c (main): Remove unused variables.
8649         * tests/test-read-file.c: Include stdlib.h, for 'free'.
8650
8651 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
8652
8653         * modules/inttostr (License): Change to LGPL.
8654
8655 2006-11-14  Eric Blake  <ebb9@byu.net>
8656
8657         * modules/tempname (License): Change to LGPL.
8658
8659 2006-11-14  Eric Blake  <ebb9@byu.net>
8660
8661         * doc/functions.texi (Function Portability): *printf functions on
8662         Cygwin now understand all POSIX size specifiers.
8663
8664 2006-11-14  Bruno Haible  <bruno@clisp.org>
8665
8666         * modules/c-ctype (License): Change to LGPL.
8667
8668 2006-11-12  Bruno Haible  <bruno@clisp.org>
8669
8670         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
8671         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
8672         for GNOME libraries, for which the include files are installed in
8673         subdirectories of $prefix/include.
8674
8675 2006-11-12  Bruno Haible  <bruno@clisp.org>
8676
8677         * m4/lib-link.m4: Require at least autoconf-2.54.
8678         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
8679         name to underscores for the --with option.
8680
8681 2006-11-13  Bruno Haible  <bruno@clisp.org>
8682
8683         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
8684         the tests directory.
8685         Reported by Ralf Wildenhues.
8686
8687 2006-11-13  Bruno Haible  <bruno@clisp.org>
8688
8689         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
8690         (func_emit_initmacro_end): Undo the override here.
8691         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
8692         Works around the famous automake error in coreutils.
8693
8694 2006-11-13  Eric Blake  <ebb9@byu.net>
8695
8696         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
8697         element, not its node.
8698
8699 2006-11-12  Bruno Haible  <bruno@clisp.org>
8700
8701         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
8702         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
8703
8704 2006-11-12  Bruno Haible  <bruno@clisp.org>
8705
8706         * gnulib-tool: New option --local-symlink.
8707         (func_usage): Document it.
8708         (lsymbolic): New variable.
8709         (func_import, func_create_testdir): If --symlink was not specified,
8710         test whether --local-symlink was specified and the file comes from
8711         the local_gnulib_dir.
8712
8713 2006-11-12  Bruno Haible  <bruno@clisp.org>
8714
8715         * gnulib-tool (func_ln): New function.
8716         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
8717
8718 2006-11-12  Bruno Haible  <bruno@clisp.org>
8719
8720         Finish support for source files in subdirectories.
8721         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
8722         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
8723         AUTOMAKE_OPTIONS.
8724         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
8725
8726 2006-11-12  Bruno Haible  <bruno@clisp.org>
8727
8728         * gnulib-tool (func_get_automake_snippet): Synthesize also an
8729         EXTRA_lib_SOURCES augmentation.
8730         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
8731
8732 2006-11-12  Jim Meyering  <jim@meyering.net>
8733
8734         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
8735         file descriptors.  This also averts a failure on systems with
8736         native openat support when a traversed directory lacks "x" access.
8737         * lib/fts_.h: Include "i-ring.h"
8738         (struct FTS) [fts_fd_ring]: New member.
8739         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
8740         (FCHDIR): Add parentheses.
8741         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
8742         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
8743         When descending, rather than simply closing the previous
8744         fts_cwd_fd value, push that file descriptor onto the ring.
8745         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
8746         (fts_open): Initialize the new fd_ring member.
8747         (fts_close): Clear the ring.
8748         (fts_safe_changedir): When possible, use our new fd_ring to skip
8749         the diropen and fstat and dev/ino comparison that would normally
8750         accompany a virtual `chdir ("..")'.
8751
8752         * modules/fts (Depends-on): Add i-ring.
8753         * modules/i-ring: New module.
8754         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
8755         * m4/i-ring.m4: New file.
8756
8757 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8758
8759         * gnulib-tool (func_create_testdir): Fix replacement of
8760         `build-aux' in configure.ac.  Run autotools in gltests
8761         subdirectory.
8762         (func_create_testdir, func_create_megatestdir, test): There is
8763         no need for '--force' in most autotool invocations in a new
8764         tree.  Actually fail the whole test if any of the tools, or the
8765         configure or make stages fail.
8766
8767         Sync from Automake.
8768         * build-aux/gnupload: Revert last change.  Add pointer to upload
8769         instructions of the GNU Maintenance Instructions.
8770         Suggestion by Karl Berry.
8771
8772 2006-11-10  Jim Meyering  <jim@meyering.net>
8773
8774         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
8775
8776 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8777
8778         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
8779         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
8780         (bind_textdomain_codeset) [! ENABLE_NLS]:
8781         Evaluate all the arguments.  That way, callers get compatible behavior
8782         if the arguments have side effects.  Also, it avoids some GCC
8783         diagnostics in some cases; Joel E. Denny reported problems when Bison
8784         was configured with --enable-gcc-warnigs.
8785
8786 2006-11-10  Jim Meyering  <jim@meyering.net>
8787
8788         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
8789         relevant options in CFLAGS (like -O, -fno-inline) are taken into
8790         account.
8791
8792 2006-11-10  Jim Meyering  <jim@meyering.net>
8793
8794         * modules/inline: New file/module.
8795         * modules/xalloc (Files): Remove m4/inline.m4.
8796         (Depends-on): Add inline, instead.
8797         * modules/oset: Likewise.
8798         * modules/list: Likewise.
8799
8800 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8801
8802         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
8803         Problem reported by Matthew Woehlke.
8804
8805 2006-11-09  Bruno Haible  <bruno@clisp.org>
8806
8807         * lib/tempname.c (gen_tempname): Remove variant that invokes
8808         __gen_tempname.
8809         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
8810         __gen_tempname.
8811
8812 2006-11-08  Bruno Haible  <bruno@clisp.org>
8813
8814         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
8815         to 'yes' instead of 'cross-compiling'.
8816
8817 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8818
8819         * lib/quotearg.h (quotearg_free): New decl.
8820         * lib/quotearg.c (quotearg_free): New function.
8821         (slot0, nslots, slotvec0, slotvec):
8822         Now file-scope so that quotearg_free can get at them.
8823
8824 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8825
8826         Sync from Automake.
8827         * build-aux/gnupload: Add missing 'gnu' to example URL.
8828         Report by Karl Berry.
8829
8830 2006-11-08  Bruno Haible  <bruno@clisp.org>
8831
8832         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
8833         Suggested by Paul Eggert.
8834
8835 2006-11-08  Jim Meyering  <jim@meyering.net>
8836
8837         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
8838         It's already included if !_LIBC.
8839         (fts_safe_changedir): Add a comment.
8840
8841 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8842
8843         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
8844         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
8845         Matthew Woehlke.
8846
8847         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
8848         definitions up, to avoid colliding with change below.
8849         (static_inline) [HAVE_INLINE]: New macro.
8850         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
8851         Provide extern decls when !HAVE_INLINE.  Do not define unless
8852         static_inline is defined, either by us or by xmalloc.c.  Use
8853         static_inline rather than static inline.
8854         (XCALLOC): Optimize sizeof(T) = 1 case.
8855         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
8856
8857 2006-11-07  Bruno Haible  <bruno@clisp.org>
8858
8859         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
8860         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
8861         AC_C_INLINE.
8862         * modules/xalloc (Files): Add m4/inline.m4.
8863
8864 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8865
8866         * README: Fix typo.
8867         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
8868         (Miscellanous Notes): ...from this.
8869
8870 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8871
8872         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8873         Mention that offsetof should be used instead of sizeof.
8874         From Bruno Haible.
8875
8876 2006-11-07  Bruno Haible  <bruno@clisp.org>
8877
8878         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
8879
8880 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8881
8882         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
8883         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
8884         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
8885         (gl_tree_add_before, gl_tree_add_after):
8886         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
8887         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
8888         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
8889         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
8890         (gl_linked_add_after, gl_linked_add_at): Likewise.
8891         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
8892         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
8893         (gl_tree_add_before, gl_tree_add_after): Likewise.
8894         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
8895         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
8896         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
8897
8898 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8899
8900         * lib/gl_oset.h: Use C comment style, not C++ comment style.
8901
8902 2006-11-06  Bruno Haible  <bruno@clisp.org>
8903
8904         * m4/inline.m4: New file.
8905         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
8906         * modules/list (Files): Add m4/inline.m4.
8907         * modules/oset (Files): Likewise.
8908
8909 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8910
8911         * lib/idcache.c: Include <stddef.h>, for offsetof.
8912         (struct userid.name): Change from char * to a flexible array member.
8913         All uses changed.
8914         * modules/idcache (Depends-on): Add flexmember.
8915
8916         * MODULES.html.sh (Core language properties): New module flexmember.
8917         * modules/flexmember, m4/flexmember.m4: New files.
8918
8919         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
8920         inline functions that are identical with the old xnmalloc_inline,
8921         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
8922         that we can avoid some unnecessary integer multiplications and
8923         divisions in the common case where the element size is known at
8924         compile time.
8925         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
8926         needed.
8927         (xnboundedmalloc): Remove.
8928         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
8929         arguments, for consistency with rest of this header.
8930         (xcharalloc): Rewrite using XNMALLOC.
8931         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
8932         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
8933         versions have been moved to lib/xalloc.h and renamed to be the
8934         non-*_inline versions.
8935         (xmalloc, xrealloc): Implement without reference to the xnmalloc
8936         and xnrealloc functions, since those functions are now inline and
8937         now call us.
8938         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
8939         renaming described above.
8940         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
8941         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
8942         captures the dependency in AC_C_INLINE.
8943
8944         New module canonicalize-lgpl, proposed by Charles Wilson in
8945         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
8946         with a few small changes afterwards.
8947         * MODULES.html.sh (File system functions): New module
8948         canonicalize-lgpl.
8949         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
8950         and canonicalize_file_name.
8951         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
8952         * modules/canonicalize-lgpl: New files.
8953
8954 2006-11-05  Bruno Haible  <bruno@clisp.org>
8955
8956         * gnulib-tool (func_import, func_create_testdir): Create directories
8957         also for files in subdirectories of lib/.
8958
8959 2006-11-05  Bruno Haible  <bruno@clisp.org>
8960
8961         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
8962         ANSI C compliant.
8963
8964 2006-11-03  Bruno Haible  <bruno@clisp.org>
8965
8966         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
8967         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
8968         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
8969         (xnboundedmalloc): New inline function.
8970         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
8971         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
8972         xmalloc.
8973         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
8974         xmalloc.
8975         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
8976         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
8977         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
8978         xmalloc.
8979         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
8980         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
8981         xmalloc.
8982         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
8983         gl_tree_add_after): Use XMALLOC instead of xmalloc.
8984         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
8985         xmalloc.
8986         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
8987         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
8988         gl_tree_add_after): Use XMALLOC instead of xmalloc.
8989         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
8990         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
8991         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
8992         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
8993
8994 2006-11-03  Bruno Haible  <bruno@clisp.org>
8995
8996         * lib/c-ctype.h [C++]: Define functions without name mangling.
8997         * lib/fwriteerror.h [C++]: Likewise.
8998         * lib/gcd.h [C++]: Likewise.
8999         * lib/linebreak.h [C++]: Likewise.
9000
9001 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
9002
9003         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
9004         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
9005         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
9006         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
9007         Check for functions and headers just once.
9008         Check for declaration of canonicalize_file_name.
9009         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
9010
9011 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
9012
9013         * gnulib-tool (func_import): Fix typo in actioncmd.
9014
9015 2006-11-02  Bruno Haible  <bruno@clisp.org>
9016
9017         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
9018         newline sequence in the Makefile.am snippet as a space, like "make"
9019         does.
9020         Reported by Roger Persson <perrog@gmail.com>.
9021
9022 2006-11-01  Bruno Haible  <bruno@clisp.org>
9023
9024         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
9025         already declared in <string.h>.
9026         * lib/strcase.h (strncasecmp): Don't declare it if yes.
9027
9028 2006-11-01  Bruno Haible  <bruno@clisp.org>
9029
9030         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
9031         * lib/strcase.h: Include <string.h>.
9032         (strcasecmp): Define to rpl_strcasecmp here.
9033
9034 2006-11-01  Bruno Haible  <bruno@clisp.org>
9035
9036         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
9037
9038 2006-11-01  Eric Blake  <ebb9@byu.net>
9039
9040         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
9041
9042         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
9043
9044 2006-10-29  Bruno Haible  <bruno@clisp.org>
9045
9046         Make it compile in C++ mode.
9047         * lib/full-write.c (full_rw): Add a cast.
9048
9049 2006-11-01  Bruno Haible  <bruno@clisp.org>
9050
9051         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
9052         be POSIX compliant.
9053         Reported by Roger Persson <perrog@gmail.com>.
9054
9055 2006-11-01  Eric Blake  <ebb9@byu.net>
9056
9057         * lib/getopt_.h: Fix comments.
9058
9059 2006-10-31  Eric Blake  <ebb9@byu.net>
9060
9061         * modules/tmpdir (Depends-on): Add sys_stat.
9062         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
9063         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
9064         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
9065         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
9066         tempname.
9067
9068 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
9069
9070         Avoid some C++ diagnostics reported by Bruno Haible.
9071         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
9072         xmalloc.
9073         (quotearg_alloc): Use xcharalloc rather than xmalloc.
9074         (struct slotvec): Move to top level.
9075         (quotearg_n_options): Rewrite to avoid xmalloc.
9076         * lib/xalloc.h (xcharalloc): New function.
9077         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
9078         [defined __cplusplus]: Add function template that provides result
9079         type propagation.  This part of the change is from Bruno Haible.
9080
9081 2006-10-29  Bruno Haible  <bruno@clisp.org>
9082
9083         Make it compile in C++ mode.
9084         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
9085         * lib/strnlen1.c (strnlen1): Cast memchr result.
9086         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
9087         * lib/clean-temp.c (string_equals, string_hash): Add casts.
9088         (create_temp_dir): Rename local variable 'template'.
9089         (compile_csharp_using_sscli): Add cast.
9090         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
9091         * lib/findprog.c (find_in_path): Likewise.
9092         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
9093         * lib/wait-process.c (register_slave_subprocess): Likewise.
9094
9095 2006-10-22  Bruno Haible  <bruno@clisp.org>
9096
9097         * modules/tsearch: New file.
9098         * lib/tsearch.h: New file.
9099         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
9100         * m4/tsearch.m4: New file.
9101         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
9102
9103 2006-10-29  Eric Blake  <ebb9@byu.net>
9104
9105         * lib/arcfour.c: Assume config.h.
9106         * lib/arctwo.c: Likewise.
9107         * lib/base64.c: Likewise.
9108         * lib/check-version.c: Likewise.
9109         * lib/crc.c: Likewise.
9110         * lib/des.c: Likewise.
9111         * lib/gc-gnulib.c: Likewise.
9112         * lib/gc-libgcrypt.c: Likewise.
9113         * lib/gc-pbkdf2-sha1.c: Likewise.
9114         * lib/getaddrinfo.c: Likewise.
9115         * lib/getdelim.c: Likewise.
9116         * lib/getline.c: Likewise.
9117         * lib/hmac-md5.c: Likewise.
9118         * lib/hmac-sha1.c: Likewise.
9119         * lib/iconvme.c: Likewise.
9120         * lib/md2.c: Likewise.
9121         * lib/md4.c: Likewise.
9122         * lib/memxor.c: Likewise.
9123         * lib/read-file.c: Likewise.
9124         * lib/readline.c: Likewise.
9125         * lib/rijndael-alg-fst.c: Likewise.
9126         * lib/rijndael-api-fst.c: Likewise.
9127         * lib/xgetdomainname.c: Likewise.
9128
9129 2006-10-28  Eric Blake  <ebb9@byu.net>
9130
9131         * lib/xstrndup.c: Assume config.h.
9132
9133 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
9134
9135         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
9136         stat-macros.h is now for our own macros, whereas stat_h is for
9137         macros in the <sys/stat.h> name space.
9138         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
9139         (STAT_MACROS_H): Remove.
9140         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
9141         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
9142         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
9143         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
9144         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
9145         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
9146         Move these macros to ...
9147         * lib/stat_.h: here.  Don't include stat-macros.h.
9148         * lib/canonicalize.c: Don't include stat-macros.h.
9149         * lib/chown.c: Likewise.
9150         * lib/euidaccess.c: Likewise.
9151         * lib/file-type.c: Likewise.
9152         * lib/filemode.c: Likewise.
9153         * lib/glob.c: Likewise.
9154         * lib/isapipe.c: Likewise.
9155         * lib/lchown.c: Likewise.
9156         * lib/lstat.c: Likewise.
9157         * lib/mkdir-p.c: Likewise.
9158         * lib/rmdir.c: Likewise.
9159         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
9160         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
9161         unless mkdir isn't declared, to speed up 'configure'.
9162         Always create sys/stat.h, since it's unlikely any real sys/stat.h
9163         would define all the S_* symbols.
9164         * modules/canonicalize (Depends-on):
9165         Depend on sys_stat, not stat-macros.
9166         * modules/chown: Likewise.
9167         * modules/euidaccess: Likewise.
9168         * modules/filemode: Likewise.
9169         * modules/file-type: Likewise.
9170         * modules/glob: Likewise.
9171         * modules/isapipe: Likewise.
9172         * modules/lchown: Likewise.
9173         * modules/lstat: Likewise.
9174         * modules/mkancesdirs: Likewise.
9175         * modules/rmdir: Likewise.
9176         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
9177         * modules/modechange: Likewise.
9178         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
9179         (configure.ac): Remove gl_STAT_MACROS.
9180         * modules/sys_stat (Depends-on): Remove stat-macros.
9181
9182 2006-10-27  Bruno Haible  <bruno@clisp.org>
9183
9184         * m4/signed.m4: Remove file.
9185         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
9186         invocation.
9187         * modules/vasnprintf (Files): Remove m4/signed.m4.
9188
9189 2006-10-27  Bruno Haible  <bruno@clisp.org>
9190
9191         Update to GNU gettext 0.16.
9192         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
9193         m4/inttypes-h.m4, m4/signed.m4.
9194         * m4/gettext.m4: Update to GNU gettext 0.16.
9195         * m4/intl.m4: New file, from GNU gettext.
9196         * m4/intldir.m4: New file, from GNU gettext.
9197         * config/srclist.txt: Update
9198
9199 2006-10-27  Eric Blake  <ebb9@byu.net>
9200
9201         * MODULES.html.sh: Document tempname.
9202         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
9203         dependencies.
9204         (Files): Move lib/tempname.c...
9205         * modules/tempname: ...to this new module.
9206         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
9207         (gl_PREREQ_TEMPNAME): Move...
9208         * m4/tempname.m4: ...to this new file.
9209         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
9210         * modules/sys_stat (Depends-on): Add stat-macros.
9211         * lib/stat_.h (includes): Pick up stat macros.
9212         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
9213         if stat macros are broken.
9214         * lib/tempname.c (includes): No need to include "stat-macros.h".
9215         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
9216         (direxists, __path_search) [!_LIBC]: Don't compile these in
9217         gnulib; the tmpdir module covers that.
9218         * lib/tempname.h: New file.
9219
9220 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9221
9222         * COPYING: Explain how gnulib-tool converts licence headers.
9223         Almost all wording by Eric Blake.
9224
9225 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
9226
9227         * lib/mbchar.h (is_basic_table): Make read-only.
9228         * lib/mbchar.c (is_basic_table): Likewise.
9229         Reported by John Darrington.
9230
9231 2006-10-25  Bruno Haible  <bruno@clisp.org>
9232
9233         * lib/progname.h (set_program_name): Undefine before defining.
9234
9235 2006-10-25  Bruno Haible  <bruno@clisp.org>
9236
9237         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
9238         false for non-gcc C++ compilers.
9239         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
9240
9241 2006-10-24  Bruno Haible  <bruno@clisp.org>
9242
9243         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
9244         iconv implementations like Irix iconv.
9245
9246 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
9247
9248         * modules/vararrays: New file.
9249         * m4/vararrays.m4: New file, taken from diffutils.
9250         * MODULES.html.sh: New module vararrays.
9251
9252 2006-10-24  Karl Berry  <karl@gnu.org>
9253
9254         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
9255         Don't call GNU Unix.
9256
9257 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9258
9259         * users.txt: Add Libtool.
9260
9261         Sync from Libtool:
9262
9263         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
9264
9265         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
9266         to gnulib's policy of including config.h unconditionally.
9267
9268 2006-10-24  Bruno Haible  <bruno@clisp.org>
9269
9270         * modules/wcwidth (Files): Add m4/wint_t.m4.
9271         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
9272         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
9273
9274 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
9275
9276         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
9277         to pacify GCC with some -W flags enabled.  Problem reported by
9278         Bruno Haible.
9279
9280 2006-10-24  Jim Meyering  <jim@meyering.net>
9281
9282         * MODULES.html.sh: Remove uinttostr.  It's not a module.
9283         Reported by Karl Berry.
9284
9285 2006-10-23  Bruno Haible  <bruno@clisp.org>
9286
9287         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
9288
9289 2006-10-24  Bruno Haible  <bruno@clisp.org>
9290
9291         * lib/gl_list.h: Use C comment style, not C++ comment style.
9292
9293 2006-10-23  Eric Blake  <ebb9@byu.net>
9294
9295         * lib/getaddrinfo.c (includes): Add missing include.
9296
9297 2006-10-23  Bruno Haible  <bruno@clisp.org>
9298             Paul Eggert  <eggert@cs.ucla.edu>
9299
9300         Ability to rename obstack_free.
9301         * lib/obstack.h (__obstack_free): New macro. Declare instead of
9302         obstack_free.
9303         (obstack_free): Invoke the __obstack_free macro.
9304         * lib/obstack.c (obstack_free): Use __obstack_free macro.
9305
9306 2006-10-23  Bruno Haible  <bruno@clisp.org>
9307             Paul Eggert  <eggert@cs.ucla.edu>
9308
9309         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
9310         __argc, __argv from the declaration. (They are defined as macros on
9311         mingw.)
9312
9313 2006-10-22  Bruno Haible  <bruno@clisp.org>
9314
9315         * doc/gnulib-intro.texi: New file.
9316         * doc/gnulib.texi: Include it.
9317
9318 2006-10-21  Bruno Haible  <bruno@clisp.org>
9319
9320         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
9321         "Introduction", "Miscellanous Notes", "Particular Modules".
9322
9323 2006-10-21  Bruno Haible  <bruno@clisp.org>
9324
9325         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9326         Change mostlyclean-local rule to avoid sh syntax error from bash
9327         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
9328
9329 2006-10-23  Jim Meyering  <jim@meyering.net>
9330
9331         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
9332         in place of snprintf.
9333
9334         * modules/inttostr (Files): Add lib/uinttostr.c.
9335         * lib/uinttostr.c (inttostr): New file/function.
9336         * lib/inttostr.h (uinttostr): Declare.
9337         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
9338         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
9339         Add uinttostr.
9340         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
9341
9342 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9343
9344         * lib/canonicalize.c (ELOOP): Define if not already defined.
9345         Problem reported by Bruno Haible in
9346         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
9347
9348 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9349
9350         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
9351         Problem reported by Perry Smith and Ville Laurikari.
9352
9353         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
9354         uses.
9355
9356 2006-10-19  Bruno Haible  <bruno@clisp.org>
9357
9358         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
9359         for mingw.
9360
9361 2006-10-19  Bruno Haible  <bruno@clisp.org>
9362
9363         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
9364         Needed for mingw.
9365
9366 2006-10-19  Bruno Haible  <bruno@clisp.org>
9367
9368         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
9369
9370 2006-10-19  Bruno Haible  <bruno@clisp.org>
9371
9372         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
9373         it.
9374
9375 2006-10-19  Bruno Haible  <bruno@clisp.org>
9376
9377         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
9378         invocation.
9379
9380 2006-10-19  Bruno Haible  <bruno@clisp.org>
9381
9382         * gnulib-tool (func_create_testdir): Don't include ftruncate and
9383         mountlist by default.
9384
9385 2006-10-16  Bruno Haible  <bruno@clisp.org>
9386
9387         * lib/c-strstr.c: Include c-strstr.h.
9388
9389 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
9390
9391         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
9392         in a slash.
9393
9394 2006-10-18  Bruno Haible  <bruno@clisp.org>
9395
9396         * lib/lock.h [C++]: Wrap definitions in extern "C".
9397
9398 2006-10-18  Bruno Haible  <bruno@clisp.org>
9399
9400         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
9401         gl_LIBOBJS list.
9402
9403 2006-10-18  Bruno Haible  <bruno@clisp.org>
9404
9405         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
9406
9407 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
9408
9409         * lib/xstrtol.h: Include gettext.h.
9410         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
9411         Problem reported by Eric Blake.
9412         * modules/xstrtol (Depends-on): Add gettext-h.
9413
9414 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
9415
9416         * lib/strftime.c (advance): New macro.
9417         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
9418         incomplete type, so you can't add 0 to it.  Problem and patch
9419         reported by Eelco Dolstra for dietlibc.
9420
9421 2006-10-18  Jim Meyering  <jim@meyering.net>
9422
9423         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
9424         type for a local, and rename it: s/up/user_proc/.
9425
9426 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
9427
9428         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
9429         READ_UTMP_USER_PROCESS.
9430         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
9431
9432 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
9433
9434         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
9435         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
9436
9437 2006-10-17  Eric Blake  <ebb9@byu.net>
9438
9439         * lib/sigprocmask.c (sigprocmask): Fix typo.
9440
9441         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
9442
9443         * modules/clean-temp (Makefile.am): Don't add to make output...
9444         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
9445         config.h.
9446
9447 2006-10-17  Bruno Haible  <bruno@clisp.org>
9448
9449         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
9450         differently if DEFAULT_TEXT_DOMAIN is set.
9451
9452 2006-10-16  Bruno Haible  <bruno@clisp.org>
9453
9454         * lib/clean-temp.c: Include fwriteerror.h.
9455
9456 2006-10-16  Bruno Haible  <bruno@clisp.org>
9457
9458         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
9459
9460 2006-10-16  Bruno Haible  <bruno@clisp.org>
9461
9462         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
9463         * lib/sigprocmask.h: Include <sys/types.h>.
9464         (sigset_t): Use the system's definition if present.
9465
9466 2006-10-17  Eric Blake  <ebb9@byu.net>
9467
9468         * lib/xvasprintf.c (includes): Assume config.h.
9469         * lib/xasprintf.c (includes): Likewise.
9470
9471 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9472
9473         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
9474         at least as wide as intmax_t.
9475
9476 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
9477
9478         (Imported from Automake.)
9479         * build-aux/gnupload: Update to version 1.1 of directive file.
9480
9481 2006-10-16  Eric Blake  <ebb9@byu.net>
9482
9483         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
9484         match Automake 1.10a.
9485
9486 2006-10-14  Bruno Haible  <bruno@clisp.org>
9487
9488         * modules/sigprocmask: New file.
9489         * lib/sigprocmask.h: New file.
9490         * lib/sigprocmask.c: New file.
9491         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
9492         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
9493         request sigprocmask.o.
9494         (gl_PREREQ_SIGPROCMASK): New macro.
9495         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
9496         (Depends-on): Add sigprocmask.
9497         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
9498         gt_SIGNALBLOCKING. Test for 'raise' only once.
9499         * lib/fatal-signal.c: Include sigprocmask.h.
9500         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
9501         unblock_fatal_signals): Define always.
9502         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
9503         sigprocmask.
9504
9505 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9506
9507         Sync from Automake.
9508         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
9509         which incorrectly sets the mode of an existing destination
9510         directory.  In some cases the unpatched install-sh could do the
9511         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
9512         system.  We hope this is rare in practice, but it's clearly worth
9513         fixing.  Problem reported by Alex Unleashed in
9514         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
9515         Also, don't bother to check for -m bugs unless we're using -m;
9516         suggested by Stepan Kasal.
9517
9518 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9519
9520         Sync from Automake.
9521         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
9522         `-c' flag, so they appear at the same position as in %FASTDEP%
9523         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
9524         which ignores unknown options only after the first non-option.
9525         Bug report against M4 by Nelson H. F. Beebe.
9526
9527 2006-10-13  Jim Meyering  <jim@meyering.net>
9528
9529         Fix a bug in yesterday's change.
9530         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
9531         p->fts_statp->st_dev would be used uninitialized.
9532         Ensures that we always call fts_stat on the very first entry.
9533         Miklos Szeredi reported that find -xdev stopped working.
9534
9535 2006-10-12  Bruno Haible  <bruno@clisp.org>
9536
9537         * gnulib-tool (func_get_automake_snippet): Append an automatically
9538         computed EXTRA_DIST augmentation.
9539         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
9540         * modules/alloca-opt (Makefile.am): Likewise.
9541         * modules/allocsa (Makefile.am): Likewise.
9542         * modules/arcfour (Makefile.am): Likewise.
9543         * modules/arctwo (Makefile.am): Likewise.
9544         * modules/argmatch (Makefile.am): Likewise.
9545         * modules/argz (Makefile.am): Likewise.
9546         * modules/atexit (Makefile.am): Likewise.
9547         * modules/backupfile (Makefile.am): Likewise.
9548         * modules/byteswap (Makefile.am): Likewise.
9549         * modules/c-strtod (Makefile.am): Likewise.
9550         * modules/c-strtold (Makefile.am): Likewise.
9551         * modules/calloc (Makefile.am): Likewise.
9552         * modules/canon-host (Makefile.am): Likewise.
9553         * modules/canonicalize (Makefile.am): Likewise.
9554         * modules/chdir-long (Makefile.am): Likewise.
9555         * modules/chdir-safer (Makefile.am): Likewise.
9556         * modules/check-version (Makefile.am): Likewise.
9557         * modules/chown (Makefile.am): Likewise.
9558         * modules/cloexec (Makefile.am): Likewise.
9559         * modules/close-stream (Makefile.am): Likewise.
9560         * modules/closeout (Makefile.am): Likewise.
9561         * modules/crc (Makefile.am): Likewise.
9562         * modules/csharpexec (Makefile.am): Likewise.
9563         * modules/cycle-check (Makefile.am): Likewise.
9564         * modules/des (Makefile.am): Likewise.
9565         * modules/dev-ino (Makefile.am): Likewise.
9566         * modules/dirfd (Makefile.am): Likewise.
9567         * modules/dirname (Makefile.am): Likewise.
9568         * modules/dup2 (Makefile.am): Likewise.
9569         * modules/eealloc (Makefile.am): Likewise.
9570         * modules/error (Makefile.am): Likewise.
9571         * modules/euidaccess (Makefile.am): Likewise.
9572         * modules/exclude (Makefile.am): Likewise.
9573         * modules/exitfail (Makefile.am): Likewise.
9574         * modules/fcntl-safer (Makefile.am): Likewise.
9575         * modules/fcntl (Makefile.am): Likewise.
9576         * modules/file-type (Makefile.am): Likewise.
9577         * modules/fileblocks (Makefile.am): Likewise.
9578         * modules/filemode (Makefile.am): Likewise.
9579         * modules/filenamecat (Makefile.am): Likewise.
9580         * modules/fnmatch (Makefile.am): Likewise.
9581         * modules/fopen-safer (Makefile.am): Likewise.
9582         * modules/fpending (Makefile.am): Likewise.
9583         * modules/fprintftime (Makefile.am): Likewise.
9584         * modules/free (Makefile.am): Likewise.
9585         * modules/fsusage (Makefile.am): Likewise.
9586         * modules/ftruncate (Makefile.am): Likewise.
9587         * modules/fts (Makefile.am): Likewise.
9588         * modules/gc-arcfour (Makefile.am): Likewise.
9589         * modules/gc-des (Makefile.am): Likewise.
9590         * modules/gc-hmac-md5 (Makefile.am): Likewise.
9591         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
9592         * modules/gc-md4 (Makefile.am): Likewise.
9593         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
9594         * modules/gc-sha1 (Makefile.am): Likewise.
9595         * modules/gc (Makefile.am): Likewise.
9596         * modules/getaddrinfo (Makefile.am): Likewise.
9597         * modules/getcwd (Makefile.am): Likewise.
9598         * modules/getdelim (Makefile.am): Likewise.
9599         * modules/getdomainname (Makefile.am): Likewise.
9600         * modules/getgroups (Makefile.am): Likewise.
9601         * modules/gethostname (Makefile.am): Likewise.
9602         * modules/gethrxtime (Makefile.am): Likewise.
9603         * modules/getline (Makefile.am): Likewise.
9604         * modules/getloadavg (Makefile.am): Likewise.
9605         * modules/getlogin_r (Makefile.am): Likewise.
9606         * modules/getndelim2 (Makefile.am): Likewise.
9607         * modules/getopt (Makefile.am): Likewise.
9608         * modules/getpagesize (Makefile.am): Likewise.
9609         * modules/getpass-gnu (Makefile.am): Likewise.
9610         * modules/getpass (Makefile.am): Likewise.
9611         * modules/getsubopt (Makefile.am): Likewise.
9612         * modules/gettime (Makefile.am): Likewise.
9613         * modules/gettimeofday (Makefile.am): Likewise.
9614         * modules/getugroups (Makefile.am): Likewise.
9615         * modules/getusershell (Makefile.am): Likewise.
9616         * modules/glob (Makefile.am): Likewise.
9617         * modules/group-member (Makefile.am): Likewise.
9618         * modules/hard-locale (Makefile.am): Likewise.
9619         * modules/hash (Makefile.am): Likewise.
9620         * modules/hmac-md5 (Makefile.am): Likewise.
9621         * modules/hmac-sha1 (Makefile.am): Likewise.
9622         * modules/human (Makefile.am): Likewise.
9623         * modules/idcache (Makefile.am): Likewise.
9624         * modules/imaxabs (Makefile.am): Likewise.
9625         * modules/imaxdiv (Makefile.am): Likewise.
9626         * modules/inet_ntop (Makefile.am): Likewise.
9627         * modules/inet_pton (Makefile.am): Likewise.
9628         * modules/intprops (Makefile.am): Likewise.
9629         * modules/inttostr (Makefile.am): Likewise.
9630         * modules/inttypes (Makefile.am): Likewise.
9631         * modules/isapipe (Makefile.am): Likewise.
9632         * modules/javaversion (Makefile.am): Likewise.
9633         * modules/lchmod (Makefile.am): Likewise.
9634         * modules/lchown (Makefile.am): Likewise.
9635         * modules/localcharset (Makefile.am): Likewise.
9636         * modules/long-options (Makefile.am): Likewise.
9637         * modules/lstat (Makefile.am): Likewise.
9638         * modules/malloc (Makefile.am): Likewise.
9639         * modules/mathl (Makefile.am): Likewise.
9640         * modules/mbchar (Makefile.am): Likewise.
9641         * modules/md2 (Makefile.am): Likewise.
9642         * modules/md4 (Makefile.am): Likewise.
9643         * modules/md5 (Makefile.am): Likewise.
9644         * modules/memcasecmp (Makefile.am): Likewise.
9645         * modules/memchr (Makefile.am): Likewise.
9646         * modules/memcmp (Makefile.am): Likewise.
9647         * modules/memcoll (Makefile.am): Likewise.
9648         * modules/memcpy (Makefile.am): Likewise.
9649         * modules/memmem (Makefile.am): Likewise.
9650         * modules/memmove (Makefile.am): Likewise.
9651         * modules/mempcpy (Makefile.am): Likewise.
9652         * modules/memrchr (Makefile.am): Likewise.
9653         * modules/memset (Makefile.am): Likewise.
9654         * modules/memxor (Makefile.am): Likewise.
9655         * modules/mkancesdirs (Makefile.am): Likewise.
9656         * modules/mkdir-p (Makefile.am): Likewise.
9657         * modules/mkdir (Makefile.am): Likewise.
9658         * modules/mkdtemp (Makefile.am): Likewise.
9659         * modules/mkstemp (Makefile.am): Likewise.
9660         * modules/mktime (Makefile.am): Likewise.
9661         * modules/modechange (Makefile.am): Likewise.
9662         * modules/mountlist (Makefile.am): Likewise.
9663         * modules/nanosleep (Makefile.am): Likewise.
9664         * modules/obstack (Makefile.am): Likewise.
9665         * modules/openat (Makefile.am): Likewise.
9666         * modules/pagealign_alloc (Makefile.am): Likewise.
9667         * modules/pathmax (Makefile.am): Likewise.
9668         * modules/physmem (Makefile.am): Likewise.
9669         * modules/poll (Makefile.am): Likewise.
9670         * modules/posixtm (Makefile.am): Likewise.
9671         * modules/posixver (Makefile.am): Likewise.
9672         * modules/putenv (Makefile.am): Likewise.
9673         * modules/quote (Makefile.am): Likewise.
9674         * modules/quotearg (Makefile.am): Likewise.
9675         * modules/raise (Makefile.am): Likewise.
9676         * modules/read-file (Makefile.am): Likewise.
9677         * modules/readline (Makefile.am): Likewise.
9678         * modules/readlink (Makefile.am): Likewise.
9679         * modules/readtokens (Makefile.am): Likewise.
9680         * modules/readutmp (Makefile.am): Likewise.
9681         * modules/realloc (Makefile.am): Likewise.
9682         * modules/regex (Makefile.am): Likewise.
9683         * modules/rename-dest-slash (Makefile.am): Likewise.
9684         * modules/rename (Makefile.am): Likewise.
9685         * modules/rijndael (Makefile.am): Likewise.
9686         * modules/rmdir (Makefile.am): Likewise.
9687         * modules/rpmatch (Makefile.am): Likewise.
9688         * modules/safe-read (Makefile.am): Likewise.
9689         * modules/safe-write (Makefile.am): Likewise.
9690         * modules/same-inode (Makefile.am): Likewise.
9691         * modules/same (Makefile.am): Likewise.
9692         * modules/save-cwd (Makefile.am): Likewise.
9693         * modules/savedir (Makefile.am): Likewise.
9694         * modules/setenv (Makefile.am): Likewise.
9695         * modules/settime (Makefile.am): Likewise.
9696         * modules/sha1 (Makefile.am): Likewise.
9697         * modules/sig2str (Makefile.am): Likewise.
9698         * modules/snprintf (Makefile.am): Likewise.
9699         * modules/stat-macros (Makefile.am): Likewise.
9700         * modules/stat-time (Makefile.am): Likewise.
9701         * modules/stdbool (Makefile.am): Likewise.
9702         * modules/stdint (Makefile.am): Likewise.
9703         * modules/stdlib-safer (Makefile.am): Likewise.
9704         * modules/stpcpy (Makefile.am): Likewise.
9705         * modules/stpncpy (Makefile.am): Likewise.
9706         * modules/strcase (Makefile.am): Likewise.
9707         * modules/strcasestr (Makefile.am): Likewise.
9708         * modules/strchrnul (Makefile.am): Likewise.
9709         * modules/strcspn (Makefile.am): Likewise.
9710         * modules/strdup (Makefile.am): Likewise.
9711         * modules/strerror (Makefile.am): Likewise.
9712         * modules/strftime (Makefile.am): Likewise.
9713         * modules/strndup (Makefile.am): Likewise.
9714         * modules/strnlen (Makefile.am): Likewise.
9715         * modules/strpbrk (Makefile.am): Likewise.
9716         * modules/strsep (Makefile.am): Likewise.
9717         * modules/strstr (Makefile.am): Likewise.
9718         * modules/strtod (Makefile.am): Likewise.
9719         * modules/strtoimax (Makefile.am): Likewise.
9720         * modules/strtok_r (Makefile.am): Likewise.
9721         * modules/strtol (Makefile.am): Likewise.
9722         * modules/strtoll (Makefile.am): Likewise.
9723         * modules/strtoul (Makefile.am): Likewise.
9724         * modules/strtoull (Makefile.am): Likewise.
9725         * modules/strtoumax (Makefile.am): Likewise.
9726         * modules/strverscmp (Makefile.am): Likewise.
9727         * modules/sys_socket (Makefile.am): Likewise.
9728         * modules/sys_stat (Makefile.am): Likewise.
9729         * modules/sysexits (Makefile.am): Likewise.
9730         * modules/time_r (Makefile.am): Likewise.
9731         * modules/timegm (Makefile.am): Likewise.
9732         * modules/timespec (Makefile.am): Likewise.
9733         * modules/tmpfile-safer (Makefile.am): Likewise.
9734         * modules/trim (Makefile.am): Likewise.
9735         * modules/unistd-safer (Makefile.am): Likewise.
9736         * modules/unlinkdir (Makefile.am): Likewise.
9737         * modules/unlocked-io (Makefile.am): Likewise.
9738         * modules/userspec (Makefile.am): Likewise.
9739         * modules/utime (Makefile.am): Likewise.
9740         * modules/utimecmp (Makefile.am): Likewise.
9741         * modules/utimens (Makefile.am): Likewise.
9742         * modules/vasnprintf (Makefile.am): Likewise.
9743         * modules/vasprintf (Makefile.am): Likewise.
9744         * modules/vsnprintf (Makefile.am): Likewise.
9745         * modules/xalloc (Makefile.am): Likewise.
9746         * modules/xgetcwd (Makefile.am): Likewise.
9747         * modules/xnanosleep (Makefile.am): Likewise.
9748         * modules/xreadlink (Makefile.am): Likewise.
9749         * modules/xstrtod (Makefile.am): Likewise.
9750         * modules/xstrtol (Makefile.am): Likewise.
9751         * modules/xstrtold (Makefile.am): Likewise.
9752         * modules/yesno (Makefile.am): Likewise.
9753         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
9754
9755 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
9756
9757         * modules/error (Makefile.am): Distribute files through
9758         EXTRA_DIST, not lib_SOURCES.
9759
9760 2006-10-12  Eric Blake  <ebb9@byu.net>
9761
9762         * modules/error (Makefile.am): Distribute files in /lib.
9763         * modules/obstack (Makefile.am): Likewise.
9764
9765 2006-10-12  Bruno Haible  <bruno@clisp.org>
9766
9767         * modules/acl (Makefile.am): Distribute all files in lib/ through
9768         EXTRA_DIST.
9769         * modules/arcfour (Makefile.am): Likewise.
9770         * modules/arctwo (Makefile.am): Likewise.
9771         * modules/argmatch (Makefile.am): Likewise.
9772         * modules/argz (Makefile.am): Likewise.
9773         * modules/atexit (Makefile.am): Likewise.
9774         * modules/backupfile (Makefile.am): Likewise.
9775         * modules/c-strtod (Makefile.am): Likewise.
9776         * modules/c-strtold (Makefile.am): Likewise.
9777         * modules/calloc (Makefile.am): Likewise.
9778         * modules/canon-host (Makefile.am): Likewise.
9779         * modules/canonicalize (Makefile.am): Likewise.
9780         * modules/chdir-long (Makefile.am): Likewise.
9781         * modules/chdir-safer (Makefile.am): Likewise.
9782         * modules/check-version (Makefile.am): Likewise.
9783         * modules/chown (Makefile.am): Likewise.
9784         * modules/cloexec (Makefile.am): Likewise.
9785         * modules/close-stream (Makefile.am): Likewise.
9786         * modules/closeout (Makefile.am): Likewise.
9787         * modules/crc (Makefile.am): Likewise.
9788         * modules/cycle-check (Makefile.am): Likewise.
9789         * modules/des (Makefile.am): Likewise.
9790         * modules/dirfd (Makefile.am): Likewise.
9791         * modules/dirname (Makefile.am): Likewise.
9792         * modules/dup2 (Makefile.am): Likewise.
9793         * modules/euidaccess (Makefile.am): Likewise.
9794         * modules/exclude (Makefile.am): Likewise.
9795         * modules/exitfail (Makefile.am): Likewise.
9796         * modules/fcntl-safer (Makefile.am): Likewise.
9797         * modules/file-type (Makefile.am): Likewise.
9798         * modules/fileblocks (Makefile.am): Likewise.
9799         * modules/filemode (Makefile.am): Likewise.
9800         * modules/filenamecat (Makefile.am): Likewise.
9801         * modules/fnmatch (Makefile.am): Likewise.
9802         * modules/fopen-safer (Makefile.am): Likewise.
9803         * modules/fpending (Makefile.am): Likewise.
9804         * modules/fprintftime (Makefile.am): Likewise.
9805         * modules/free (Makefile.am): Likewise.
9806         * modules/fsusage (Makefile.am): Likewise.
9807         * modules/ftruncate (Makefile.am): Likewise.
9808         * modules/fts (Makefile.am): Likewise.
9809         * modules/gc (Makefile.am): Likewise.
9810         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
9811         * modules/getaddrinfo (Makefile.am): Likewise.
9812         * modules/getcwd (Makefile.am): Likewise.
9813         * modules/getdelim (Makefile.am): Likewise.
9814         * modules/getdomainname (Makefile.am): Likewise.
9815         * modules/getgroups (Makefile.am): Likewise.
9816         * modules/gethostname (Makefile.am): Likewise.
9817         * modules/gethrxtime (Makefile.am): Likewise.
9818         * modules/getline (Makefile.am): Likewise.
9819         * modules/getloadavg (Makefile.am): Likewise.
9820         * modules/getlogin_r (Makefile.am): Likewise.
9821         * modules/getopt (Makefile.am): Likewise.
9822         * modules/getpass (Makefile.am): Likewise.
9823         * modules/getpass-gnu (Makefile.am): Likewise.
9824         * modules/getsubopt (Makefile.am): Likewise.
9825         * modules/gettime (Makefile.am): Likewise.
9826         * modules/gettimeofday (Makefile.am): Likewise.
9827         * modules/getugroups (Makefile.am): Likewise.
9828         * modules/getusershell (Makefile.am): Likewise.
9829         * modules/glob (Makefile.am): Likewise.
9830         * modules/group-member (Makefile.am): Likewise.
9831         * modules/hard-locale (Makefile.am): Likewise.
9832         * modules/hash (Makefile.am): Likewise.
9833         * modules/hmac-md5 (Makefile.am): Likewise.
9834         * modules/hmac-sha1 (Makefile.am): Likewise.
9835         * modules/human (Makefile.am): Likewise.
9836         * modules/idcache (Makefile.am): Likewise.
9837         * modules/imaxabs (Makefile.am): Likewise.
9838         * modules/imaxdiv (Makefile.am): Likewise.
9839         * modules/inet_ntop (Makefile.am): Likewise.
9840         * modules/inet_pton (Makefile.am): Likewise.
9841         * modules/inttostr (Makefile.am): Likewise.
9842         * modules/isapipe (Makefile.am): Likewise.
9843         * modules/lchown (Makefile.am): Likewise.
9844         * modules/long-options (Makefile.am): Likewise.
9845         * modules/lstat (Makefile.am): Likewise.
9846         * modules/malloc (Makefile.am): Likewise.
9847         * modules/mathl (Makefile.am): Likewise.
9848         * modules/mbchar (Makefile.am): Likewise.
9849         * modules/md2 (Makefile.am): Likewise.
9850         * modules/md4 (Makefile.am): Likewise.
9851         * modules/md5 (Makefile.am): Likewise.
9852         * modules/memcasecmp (Makefile.am): Likewise.
9853         * modules/memchr (Makefile.am): Likewise.
9854         * modules/memcmp (Makefile.am): Likewise.
9855         * modules/memcoll (Makefile.am): Likewise.
9856         * modules/memcpy (Makefile.am): Likewise.
9857         * modules/memmem (Makefile.am): Likewise.
9858         * modules/memmove (Makefile.am): Likewise.
9859         * modules/mempcpy (Makefile.am): Likewise.
9860         * modules/memrchr (Makefile.am): Likewise.
9861         * modules/memset (Makefile.am): Likewise.
9862         * modules/memxor (Makefile.am): Likewise.
9863         * modules/mkancesdirs (Makefile.am): Likewise.
9864         * modules/mkdir (Makefile.am): Likewise.
9865         * modules/mkdir-p (Makefile.am): Likewise.
9866         * modules/mkdtemp (Makefile.am): Likewise.
9867         * modules/mkstemp (Makefile.am): Likewise.
9868         * modules/mktime (Makefile.am): Likewise.
9869         * modules/modechange (Makefile.am): Likewise.
9870         * modules/mountlist (Makefile.am): Likewise.
9871         * modules/nanosleep (Makefile.am): Likewise.
9872         * modules/openat (Makefile.am): Likewise.
9873         * modules/pagealign_alloc (Makefile.am): Likewise.
9874         * modules/physmem (Makefile.am): Likewise.
9875         * modules/poll (Makefile.am): Likewise.
9876         * modules/posixtm (Makefile.am): Likewise.
9877         * modules/posixver (Makefile.am): Likewise.
9878         * modules/putenv (Makefile.am): Likewise.
9879         * modules/quote (Makefile.am): Likewise.
9880         * modules/quotearg (Makefile.am): Likewise.
9881         * modules/raise (Makefile.am): Likewise.
9882         * modules/read-file (Makefile.am): Likewise.
9883         * modules/readline (Makefile.am): Likewise.
9884         * modules/readlink (Makefile.am): Likewise.
9885         * modules/readtokens (Makefile.am): Likewise.
9886         * modules/readutmp (Makefile.am): Likewise.
9887         * modules/realloc (Makefile.am): Likewise.
9888         * modules/regex (Makefile.am): Likewise.
9889         * modules/rename (Makefile.am): Likewise.
9890         * modules/rename-dest-slash (Makefile.am): Likewise.
9891         * modules/rijndael (Makefile.am): Likewise.
9892         * modules/rmdir (Makefile.am): Likewise.
9893         * modules/rpmatch (Makefile.am): Likewise.
9894         * modules/safe-read (Makefile.am): Likewise.
9895         * modules/safe-write (Makefile.am): Likewise.
9896         * modules/same (Makefile.am): Likewise.
9897         * modules/save-cwd (Makefile.am): Likewise.
9898         * modules/savedir (Makefile.am): Likewise.
9899         * modules/setenv (Makefile.am): Likewise.
9900         * modules/settime (Makefile.am): Likewise.
9901         * modules/sha1 (Makefile.am): Likewise.
9902         * modules/sig2str (Makefile.am): Likewise.
9903         * modules/snprintf (Makefile.am): Likewise.
9904         * modules/stdlib-safer (Makefile.am): Likewise.
9905         * modules/stpcpy (Makefile.am): Likewise.
9906         * modules/stpncpy (Makefile.am): Likewise.
9907         * modules/strcase (Makefile.am): Likewise.
9908         * modules/strcasestr (Makefile.am): Likewise.
9909         * modules/strchrnul (Makefile.am): Likewise.
9910         * modules/strcspn (Makefile.am): Likewise.
9911         * modules/strdup (Makefile.am): Likewise.
9912         * modules/strerror (Makefile.am): Likewise.
9913         * modules/strftime (Makefile.am): Likewise.
9914         * modules/strndup (Makefile.am): Likewise.
9915         * modules/strnlen (Makefile.am): Likewise.
9916         * modules/strpbrk (Makefile.am): Likewise.
9917         * modules/strsep (Makefile.am): Likewise.
9918         * modules/strstr (Makefile.am): Likewise.
9919         * modules/strtod (Makefile.am): Likewise.
9920         * modules/strtoimax (Makefile.am): Likewise.
9921         * modules/strtok_r (Makefile.am): Likewise.
9922         * modules/strtol (Makefile.am): Likewise.
9923         * modules/strtoll (Makefile.am): Likewise.
9924         * modules/strtoul (Makefile.am): Likewise.
9925         * modules/strtoull (Makefile.am): Likewise.
9926         * modules/strtoumax (Makefile.am): Likewise.
9927         * modules/strverscmp (Makefile.am): Likewise.
9928         * modules/time_r (Makefile.am): Likewise.
9929         * modules/timegm (Makefile.am): Likewise.
9930         * modules/tmpfile-safer (Makefile.am): Likewise.
9931         * modules/unistd-safer (Makefile.am): Likewise.
9932         * modules/unlinkdir (Makefile.am): Likewise.
9933         * modules/userspec (Makefile.am): Likewise.
9934         * modules/utime (Makefile.am): Likewise.
9935         * modules/utimecmp (Makefile.am): Likewise.
9936         * modules/utimens (Makefile.am): Likewise.
9937         * modules/vasnprintf (Makefile.am): Likewise.
9938         * modules/vasprintf (Makefile.am): Likewise.
9939         * modules/vsnprintf (Makefile.am): Likewise.
9940         * modules/xalloc (Makefile.am): Likewise.
9941         * modules/xgetcwd (Makefile.am): Likewise.
9942         * modules/xnanosleep (Makefile.am): Likewise.
9943         * modules/xreadlink (Makefile.am): Likewise.
9944         * modules/xstrtod (Makefile.am): Likewise.
9945         * modules/xstrtol (Makefile.am): Likewise.
9946         * modules/xstrtold (Makefile.am): Likewise.
9947         * modules/yesno (Makefile.am): Likewise.
9948
9949 2006-10-12  Jim Meyering  <jim@meyering.net>
9950
9951         * m4/getloadavg.m4: Revert the change below.
9952
9953         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
9954         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
9955         fail with a symlink, which is what coreutils' ./bootstrap now
9956         creates by default.
9957
9958 2006-10-12  Bruno Haible  <bruno@clisp.org>
9959
9960         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
9961         mingw.
9962         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
9963         MSVC and mingw explicitly.
9964
9965 2006-10-11  Simon Josefsson  <jas@extundo.com>
9966             Bruno Haible  <bruno@clisp.org>
9967
9968         Add support for multiple gnulib-tool invocations in the scope of a
9969         single configure.ac file.
9970         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
9971         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
9972         with the same contents as the _LIBADD variable.
9973         (func_emit_initmacro_start, func_emit_initmacro_end,
9974         func_emit_initmacro_done): New functions.
9975         (func_import, func_create_testdir): Invoke them. Allow the identifiers
9976         gl_LIBOBJS and gl_LTLIBOBJS.
9977
9978 2006-10-11  Bruno Haible  <bruno@clisp.org>
9979
9980         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
9981         (func_create_testdir): Don't create po/Makefile.am, don't invoke
9982         autoreconf. Instead, invoke autopoint explicitly but move back the
9983         *.m4 files from gnulib.
9984
9985 2006-10-11  Bruno Haible  <bruno@clisp.org>
9986
9987         * gnulib-tool (func_usage): Make module names after --create-testdir
9988         optional.
9989         (func_create_testdir): If no module was specified, use nearly all
9990         modules.
9991
9992 2006-10-12  Jim Meyering  <jim@meyering.net>
9993
9994         Big performance improvement for fts-based tools that use FTS_NOSTAT.
9995         Avoid spurious inode-mismatch problems on non-POSIX file systems.
9996         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
9997         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
9998         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
9999         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
10000         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
10001         (fts_set_stat_required): New function.
10002         (fts_open): Defer the calls to fts_stat, if possible or requested.
10003         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
10004         into fts_stat itself.
10005         (fts_read): Perform any required (deferred) fts_stat call.
10006         (fts_build): Likewise, for the directory we're about to open and read.
10007         In the readdir loop, carefully decide whether each entry will require
10008         an eventual call to fts_stat, using dirent.d_type info if available.
10009         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
10010         a command line argument into this function.  Update all callers.
10011         Map a return value of FTS_DOT to FTS_D for a command line argument.
10012         * modules/fts (Depends-on): Add d-type.  Alphabetize.
10013         Thanks to Miklos Szeredi for his tenacity and for the initial
10014         bug report about "find" failing on a FUSE-based file system.
10015
10016         * lib/fts.c (fts_open): Use consistent indentation.
10017
10018 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
10019
10020         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
10021         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
10022         reported by Jim Meyering.  All uses of cache variables renamed
10023         to match Autoconf's.
10024         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
10025         the other one.
10026
10027         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
10028         Fix misspelling in diagnostic.
10029
10030 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
10031
10032         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
10033         defined.  Problem reported by Matthew Woehlke.
10034
10035         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
10036         Add support for Tandem NonStop R series.
10037         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
10038         Use new macro.
10039
10040         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
10041         (has_trailing_slash): Omit size arg; all callers changed.
10042         Omit 'inline', since it doesn't help performance and we'd
10043         need to configure it.
10044         Don't count //, ///, etc. as having a trailing slash.
10045         As a side effect, this removes a C99ism reported by Matthew Woehlke.
10046         (rpl_rename_dest_slash): On failure, use rename's errno rather
10047         than (in some cases) an incorrect or junk errno.
10048         Simplify code by removing need to compute length; this does
10049         cause it to make two passes instead of one over the file name,
10050         but it's worth it.
10051
10052         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
10053         change, since Autoconf's version may no longer be appropriate now
10054         that we are using CVS Autoconf's version.  Add support for Tandem.
10055
10056 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
10057             Bruno Haible  <bruno@clisp.org>
10058
10059         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
10060         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
10061         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
10062         gl_AC_TYPE_LONG_LONG.
10063
10064         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
10065         instead of HAVE_LONG_LONG.
10066         * lib/printf-args.c (printf_fetchargs): Likewise.
10067         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10068         * lib/vasnprintf.c (VASNPRINTF): Likewise.
10069         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
10070         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
10071         gl_AC_TYPE_LONG_LONG.
10072
10073 2006-10-11  Bruno Haible  <bruno@clisp.org>
10074
10075         * m4/longlong.m4: Add comments.
10076         * m4/ulonglong.m4: Likewise.
10077
10078 2006-10-10  Bruno Haible  <bruno@clisp.org>
10079
10080         Make it possible to #define stpcpy, strdup to aliases.
10081         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
10082         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
10083
10084 2006-10-10  Bruno Haible  <bruno@clisp.org>
10085
10086         Make it possible to #define gcd to an alias.
10087         * lib/gcd.c: Include config.h.
10088
10089 2006-10-10  Bruno Haible  <bruno@clisp.org>
10090
10091         Make it possible to #define c_isascii to an alias.
10092         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
10093         defined. Undefine the macros before defining them, to avoid gcc
10094         warnings.
10095         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
10096         define NO_C_CTYPE_MACROS early.
10097
10098 2006-10-10  Bruno Haible  <bruno@clisp.org>
10099
10100         Make it possible to #define set_program_name to an alias.
10101         * lib/progname.c: Don't undefine set_program_name; instead, undefine
10102         ENABLE_RELOCATABLE early.
10103
10104 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10105
10106         Port to Tandem NSK OSS, which has 64-bit signed int but at most
10107         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
10108         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
10109         More generally, don't assume that 64-bit signed int is available
10110         if unsigned int is, and vice versa.
10111         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
10112         unsigned symbols, not on their signed counterparts.
10113         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
10114         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
10115         (UINT64_C, UINTMAX_C):
10116         Likewise.
10117         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
10118         unsigned counterparts.
10119         (Have_long_long, Unsigned): New macros.
10120         (Int): Renamed from INT.
10121         (strtoimax): Use the new macros.
10122         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
10123         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
10124         * modules/inttypes (inttypes.h): Substitute
10125         HAVE_UNSIGNED_LONG_LONG_INT.
10126         * modules/stdint (stdint.h): Likewise.
10127         (Files): Add m4/ulonglong.m4.
10128
10129 2006-10-10  Bruno Haible  <bruno@clisp.org>
10130
10131         Fix a gcc -Wshadow warning.
10132         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
10133         to 'bucket'.
10134         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
10135         gl_linked_indexof_from_to): Likewise.
10136         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
10137         Likewise.
10138         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
10139         Likewise.
10140         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
10141         Reported by Eric Blake.
10142
10143 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
10144
10145         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
10146         for NetBSD.  Problem reported by Bruno Haible.
10147
10148 2006-10-09  Jim Meyering  <jim@meyering.net>
10149
10150         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
10151         Patch from Bruno Haible.
10152
10153 2006-10-09  Jim Meyering  <jim@meyering.net>
10154
10155         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
10156         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
10157         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
10158
10159 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10160
10161         Don't include <config.h> twice; this doesn't work in some cases,
10162         e.g., when config.h has "#define intmax_t long long int" and
10163         we include <config.h>, <inttypes.h>, <config.h> in that order.
10164         Problem reported by Matthew Woehlke in:
10165         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
10166         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
10167         * lib/fts-cycle.c: Don't include config.h.
10168         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
10169         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
10170         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
10171         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
10172         inttypes.h.
10173         * lib/xstrtoumax.c: Likewise.
10174         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
10175         __strtol and the like, so that this module is more like its siblings.
10176         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
10177         Remove; no longer needed now that we assume gnulib inttypes.h.
10178
10179 2006-10-08  Bruno Haible  <bruno@clisp.org>
10180
10181         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
10182         option.
10183
10184 2006-10-07  Jim Meyering  <jim@meyering.net>
10185
10186         * modules/inttypes (inttypes.h): Revert what seems to have been
10187         an inadvertent part of today's change: use "|", not "/" in the
10188         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
10189
10190 2006-10-07  Bruno Haible  <bruno@clisp.org>
10191
10192         * modules/sublist: New file.
10193
10194 2006-10-07  Bruno Haible  <bruno@clisp.org>
10195
10196         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
10197         * modules/argz (argz.h): Likewise.
10198         * modules/arpa_inet (arpa/inet.h): Likewise.
10199         * modules/byteswap (byteswap.h): Likewise.
10200         * modules/configmake (configmake.h): Likewise.
10201         * modules/fcntl (fcntl.h): Likewise.
10202         * modules/fnmatch (fnmatch.h): Likewise.
10203         * modules/getopt (getopt.h): Likewise.
10204         * modules/glob (glob.h): Likewise.
10205         * modules/inttypes (inttypes.h): Likewise.
10206         * modules/netinet_in (netinet/in.h): Likewise.
10207         * modules/poll (poll.h): Likewise.
10208         * modules/stdbool (stdbool.h): Likewise.
10209         * modules/stdint (stdint.h): Likewise.
10210         * modules/sys_select (sys/select.h): Likewise.
10211         * modules/sys_socket (sys/socket.h): Likewise.
10212         * modules/sys_stat (sys/stat.h): Likewise.
10213         * modules/sysexits (sysexits.h): Likewise.
10214         * modules/unistd (unistd.h): Likewise.
10215         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10216         Add a "DO NOT EDIT" comment to the generated file.
10217         (func_import): Likewise for gnulib-comp.m4.
10218
10219 2006-10-07  Bruno Haible  <bruno@clisp.org>
10220
10221         * lib/gl_sublist.h: New file.
10222         * lib/gl_sublist.c: New file.
10223
10224 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10225
10226         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
10227         name (relative to the original working directory) and the file
10228         name component (relative to the temporary working directory).  All
10229         callers changed.
10230         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
10231         * lib/mkdir-p.c (make_dir_parents): Likewise.
10232         * lib/mkdir-p.h (make_dir_parents): Likewise.
10233
10234 2006-10-06  Eric Blake  <ebb9@byu.net>
10235
10236         Define several macros for use by the clean-temp module.
10237         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
10238         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
10239         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
10240
10241         * lib/clean-temp.h (close_stream_temp): New declaration.
10242         * lib/clean-temp.c (includes): Pull in headers according to what
10243         other modules are in use.
10244         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
10245
10246 2006-10-06  Bruno Haible  <bruno@clisp.org>
10247
10248         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
10249         instead of fopen, fwriteerror.
10250
10251 2006-10-06  Bruno Haible  <bruno@clisp.org>
10252
10253         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
10254         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
10255         int.
10256         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
10257         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
10258         Return an error indicator.
10259         Suggested by Eric Blake.
10260
10261 2006-10-06  Bruno Haible  <bruno@clisp.org>
10262
10263         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
10264         Reported by Eric Blake.
10265
10266 2006-10-06  Bruno Haible  <bruno@clisp.org>
10267
10268         * modules/closeout (Description): Mention stderr too.
10269
10270 2006-10-06  Bruno Haible  <bruno@clisp.org>
10271         and Paul Eggert  <eggert@cs.ucla.edu>
10272
10273         * lib/closeout.c (close_stdout): Also close stderr.
10274         * lib/closeout.h: Update comment.
10275
10276 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10277
10278         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
10279         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
10280         * lib/dirchownmod.c: Include lchown.h.
10281         * lib/lchown.c: Don't include files that lchown.h now includes.
10282         Don't declare chown, since lchown.h now does that.
10283         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
10284         (lchown): Define to rpl_chown if lchown is declared but
10285         does not exist.  Declare using a prototype if lchown is not
10286         declared.  Add a copyright notice.
10287         * lib/mkstemp.h: Include <unistd.h>.
10288         * lib/openat.c: Include lchown.h.
10289
10290         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
10291         we now test for that separately.
10292         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
10293         rather than O_NOFOLLOW, when testing whether it's possible to
10294         avoid a race condition reliably.
10295         * lib/savewd.c (savewd_chdir): Likewise.
10296
10297         Remove macros that are no longer needed now that stdint.h is
10298         reliable.
10299         * lib/fsusage.c (UINTMAX_MAX): Remove.
10300         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
10301         * lib/utimecmp.c (SIZE_MAX): Remove.
10302
10303         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
10304
10305         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
10306         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
10307         O_NOATIME works.
10308
10309 2006-10-05  Bruno Haible  <bruno@clisp.org>
10310
10311         * lib/gl_list.h (gl_sortedlist_search_from_to,
10312         gl_sortedlist_indexof_from_to): New declarations.
10313         (gl_list_implementation): New fields sortedlist_search_from_to,
10314         sortedlist_indexof_from_to.
10315         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
10316         inline functions.
10317         * lib/gl_list.c (gl_sortedlist_search_from_to,
10318         gl_sortedlist_indexof_from_to): New functions.
10319         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
10320         function.
10321         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
10322         (gl_array_sortedlist_search_from_to): New function.
10323         (gl_array_list_implementation): Update.
10324         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
10325         function.
10326         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
10327         (gl_carray_sortedlist_search_from_to): New function.
10328         (gl_carray_list_implementation): Update.
10329         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
10330         gl_linked_sortedlist_indexof_from_to): New functions.
10331         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
10332         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
10333         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
10334         gl_tree_sortedlist_indexof_from_to): New functions.
10335         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
10336         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
10337         Update.
10338         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
10339         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
10340         Update.
10341
10342 2006-10-05  Bruno Haible  <bruno@clisp.org>
10343
10344         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
10345         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
10346         (struct gl_list_implementation): Add fields search_from_to,
10347         indexof_from_to. Remove fields search, indexof.
10348         (gl_list_search): Use the search_from_to method.
10349         (gl_list_search_from, gl_list_search_from_to): New functions.
10350         (gl_list_indexof): Use the indexof_from_to method.
10351         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
10352         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
10353         (gl_list_search_from, gl_list_search_from_to): New functions.
10354         (gl_list_indexof): Use the indexof_from_to method.
10355         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
10356         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
10357         gl_array_indexof. Add start_index, end_index arguments.
10358         (gl_array_search_from_to): Renamed from gl_array_search. Add
10359         start_index, end_index arguments.
10360         (gl_array_remove, gl_array_list_implementation): Update.
10361         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
10362         gl_carray_indexof. Add start_index, end_index arguments.
10363         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
10364         start_index, end_index arguments.
10365         (gl_carray_remove, gl_carray_list_implementation): Update.
10366         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
10367         gl_linked_search. Add start_index, end_index arguments.
10368         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
10369         start_index, end_index arguments.
10370         (gl_linked_remove): Update.
10371         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
10372         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
10373         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
10374         field to 'size_t'.
10375         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
10376         gl_tree_search. Add start_index, end_index arguments.
10377         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
10378         start_index, end_index arguments.
10379         (gl_tree_remove): Update.
10380         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
10381         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
10382         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
10383         function.
10384         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
10385         gl_tree_search. Add start_index, end_index arguments.
10386         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
10387         start_index, end_index arguments.
10388         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
10389         Update.
10390         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
10391
10392 2006-10-05  Bruno Haible  <bruno@clisp.org>
10393
10394         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
10395
10396         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
10397         fwriteerror_temp): New declarations.
10398         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
10399         (descriptors): New variable.
10400         (cleanup): First, close the descriptors.
10401         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
10402         fclose_temp, fwriteerror_temp): New functions.
10403
10404 2006-10-04  Jim Meyering  <jim@meyering.net>
10405
10406         * lib/fts.c (fts_open): Tiny comment change.
10407
10408 2006-10-04  Bruno Haible  <bruno@clisp.org>
10409
10410         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
10411         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
10412         gl_LOCK_BODY.
10413         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
10414         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
10415         gl_LOCK_EARLY_BODY.
10416         (gl_LOCK): Require gl_LOCK_BODY.
10417
10418 2006-10-04  Bruno Haible  <bruno@clisp.org>
10419
10420         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
10421         (gl_oset_search_atleast): New declaration.
10422         (struct gl_oset_implementation): Add field 'search_atleast'.
10423         (gl_oset_search_atleast): New inline function.
10424         * lib/gl_oset.c (gl_oset_search_atleast): New function.
10425         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
10426         (gl_array_oset_implementation): Update.
10427         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
10428         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
10429         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
10430
10431 2006-10-04  Bruno Haible  <bruno@clisp.org>
10432
10433         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
10434
10435 2006-10-03  Bruno Haible  <bruno@clisp.org>
10436
10437         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
10438         from gl_avltreehash_list_implementation.
10439
10440 2006-10-03  Bruno Haible  <bruno@clisp.org>
10441
10442         * lib/gl_oset.c (gl_oset_add): Fix return type.
10443
10444 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
10445
10446         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
10447
10448 2006-10-02  Eric Blake  <ebb9@byu.net>
10449
10450         * modules/strnlen (Depends-on): Add extensions.
10451
10452 2006-10-02  Eric Blake  <ebb9@byu.net>
10453
10454         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
10455         definition in 2.60+.
10456
10457 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
10458
10459         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
10460         checks.
10461
10462 2006-10-02  Bruno Haible  <bruno@clisp.org>
10463
10464         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
10465         to the AUTOMAKE_OPTIONS.
10466         Reported by Jim Meyering.
10467
10468 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
10469
10470         Work around bug in Solaris 10 /proc file system:
10471         /proc/self/fd/NNN/.. isn't the parent directory of
10472         the directory whose file descriptor is NNN.  This needs to
10473         be worked around at run time, not compile time, since a
10474         program might be built on Solaris 8, where things work, and
10475         run on Solaris 10.
10476         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
10477         to use the following interface instead:
10478         (OPENAT_BUFFER_SIZE): New macro.
10479         (openat_proc_name): New function.
10480         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
10481         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
10482         Likewise.
10483         * lib/openat-proc.c: New file.
10484         * modules/openat (Files): Add lib/openat-proc.c.
10485         (Depends-on): Add same-inode, stdbool.
10486         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
10487
10488 2006-09-29  Bruno Haible  <bruno@clisp.org>
10489
10490         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
10491         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
10492         argument. Set stdout_closed before testing for ferror, not after.
10493         (fwriteerror, fwriteerror_no_ebadf): New functions.
10494
10495 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10496
10497         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
10498
10499 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
10500
10501         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
10502         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
10503
10504 2006-09-28  Jim Meyering  <jim@meyering.net>
10505
10506         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
10507         Include <unistd.h>.
10508
10509 2006-09-28  Bruno Haible  <bruno@clisp.org>
10510
10511         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
10512         * modules/linkedhash-list (Depends-on): Likewise.
10513         * modules/rbtreehash-list (Depends-on): Likewise.
10514
10515 2006-09-28  Bruno Haible  <bruno@clisp.org>
10516
10517         * lib/strndup.h: Simplify the redefinition of strndup.
10518         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
10519         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
10520
10521 2006-09-28  Bruno Haible  <bruno@clisp.org>
10522
10523         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
10524         * lib/gl_linkedhash_list.c: Likewise.
10525         * lib/gl_rbtreehash_list.c: Likewise.
10526
10527 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10528
10529         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
10530         getaddrinfo.
10531
10532         * lib/__fpending.h: Don't include <stdio_ext.h> unless
10533         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
10534         it causes <stdio_ext.h> to cause a compile-time error.
10535         Problem reported by Nelson H. F. Beebe.
10536         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
10537         of HAVE_DECL___PENDING.
10538
10539         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
10540         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
10541         declaration.
10542
10543 2006-09-27  Jim Meyering  <jim@meyering.net>
10544
10545         This file could end up with a definition for a function
10546         named __strndup, rather than rpl_strndup on a system with
10547         incomplete weak_alias support.
10548         * lib/strndup.c (strndup): Rename from __strndup.
10549         Remove #defines that used to map __strndup to strndup.
10550         Don't use K&R prototypes.
10551         Remove LIBC-related code, since this file is not sync'd with glibc.
10552         * lib/strndup.h: Revamp, accordingly.
10553         * m4/strndup.m4: Modernize.
10554
10555 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10556
10557         * modules/savewd (Depends-on): Add 'raise'.
10558         * lib/savewd.c: Include <signal.h>, for 'raise'.
10559
10560 2006-09-26  Jim Meyering  <jim@meyering.net>
10561
10562         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
10563         when we detect Darwin 8.7.0's acl_get_file bug.
10564         Rearrange to perform the new (below) run-test while $LIBS
10565         contains any acl-related library.  Set USE_ACL at the end.
10566         (gl_ACL_GET_FILE): New function.
10567
10568 2006-09-26  Eric Blake  <ebb9@byu.net>
10569
10570         * lib/verror.c: Include <config.h> unconditionally.
10571
10572 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
10573
10574         * modules/clock-time (Maintainer): Add self.
10575         * modules/getlogin_r (Depends-on): Add extensions.
10576
10577 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10578
10579         * modules/clock-time: New module.
10580         * modules/nanosleep (Depends-on): Add clock-time.
10581         * modules/gethrxtime (Depends-on): Likewise.
10582         * modules/gettime (Depends-on): Likewise.
10583         * modules/settime (Depends-on): Likewise.
10584
10585         * modules/fts-lgpl: Depend on openat.
10586         * modules/mkancesdirs: Depend on savewd.
10587         * modules/mkdir-p: Likewise.
10588
10589 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10590
10591         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
10592
10593         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
10594         `gl_have_arbitrary_file_name_length_limit' to
10595         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
10596         actually works between configure runs.
10597
10598 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10599             Bruno Haible  <bruno@clisp.org>
10600
10601         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
10602
10603 2006-09-25  Jim Meyering  <jim@meyering.net>
10604
10605         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
10606         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
10607
10608 2006-09-25  Eric Blake  <ebb9@byu.net>
10609
10610         * gnulib-tool (func_import, func_create_testdir): Fix typos in
10611         exec's in 2006-09-18 patch when shuffling fds.
10612
10613 2006-09-25  Bruno Haible  <bruno@clisp.org>
10614
10615         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
10616         Reported by Jim Meyering.
10617
10618 2006-09-24  Jim Meyering  <jim@meyering.net>
10619
10620         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
10621         compare a pointer against a literal "0".  That caused failures with
10622         at least HP-UX's hpcc.
10623
10624 2006-09-22  Simon Josefsson  <jas@extundo.com>
10625
10626         * modules/gc-sha1:
10627         * modules/gc-md4:
10628         * modules/gc-hmac-sha1:
10629         * modules/gc-hmac-md5:
10630         * modules/gc-des:
10631         * modules/gc-arcfour: Distribute more files.
10632
10633 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10634
10635         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
10636         (gl_linked_iterator_from_to): Initialize struct completely.
10637         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
10638         (gl_tree_iterator_from_to): Likewise
10639         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
10640         * lib/gl_array_list.c [lint] (gl_array_iterator)
10641         (gl_array_iterator_from_to): Likewise.
10642         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
10643         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
10644         (gl_carray_iterator_from_to): Likewise.
10645
10646         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
10647         * lib/md4.c (md4_process_block): Remove unused variable.
10648         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
10649         parentheses for clarity.
10650
10651 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10652
10653         * modules/bison-i18n (Depends-on): Add gettext.
10654
10655 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10656
10657         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
10658         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
10659         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
10660         also add missing comma that caused broken test.
10661         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
10662         stdlib.h, for `abort'.
10663         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
10664         variables.
10665         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
10666         include unistd.h if present, for `rmdir'.
10667         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
10668         variables.
10669         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
10670         in the process include standard headers for prototypes.
10671         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
10672         gets declared on GNU/Linux.
10673         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
10674         unistd.h, for `rmdir'.
10675         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
10676
10677         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
10678         always true.
10679         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
10680
10681         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
10682
10683 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10684
10685         * gnulib-tool (func_version): Create output all at once.  This
10686         may help avoid triggering unnecessary SIGPIPEs, and at any
10687         rate it doesn't hurt.
10688
10689 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10690             Bruno Haible  <bruno@clisp.org>
10691
10692         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
10693         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10694         * m4/signed.m4 (bh_C_SIGNED): Likewise.
10695
10696         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
10697         (gl_FUNC_VASPRINTF): Invoke it.
10698
10699 2006-09-22  Bruno Haible  <bruno@clisp.org>
10700
10701         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
10702         getloadavg.c as first argument.
10703
10704 2006-09-22  Bruno Haible  <bruno@clisp.org>
10705
10706         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
10707         at the beginning of the gl_INIT macro.
10708         * modules/getloadavg (configure.ac): Pass $gl_source_base to
10709         gl_GETLOADAVG.
10710
10711 2006-09-22  Bruno Haible  <bruno@clisp.org>
10712
10713         * gnulib-tool (func_create_megatestdir): Don't include the config-h
10714         module.
10715         Suggested by Ralf Wildenhues.
10716
10717 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10718
10719         Import this patch from libc:
10720
10721         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
10722
10723         * lib/regex_internal.c (re_string_reconstruct): Handle
10724         offset < pstr->valid_raw_len && pstr->offsets_needed case.
10725         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
10726         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
10727         re_string_context_at.
10728
10729         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
10730         now requires it.
10731         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
10732         gl_REGEX now does it for us.
10733         (gl_REGEX): Add test taken from
10734         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
10735
10736         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
10737         Check that large offsets work.  Modernize Autoconf usages.
10738         Prefer "yes" to mean a good thing rather than a bad.
10739         Don't put "#define mkstemp" in config.h, as this might interfere
10740         with standard system headers that "#define mkstemp mkstemp64".
10741
10742         * modules/mkstemp (Depends-on): Add extensions, so that
10743         mkstemp is visible on some platforms.
10744         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
10745         (Include): Change to "mkstemp.h" from <stdlib.h>.
10746         (Files): Add mkstemp.h.
10747
10748         * lib/mkstemp.h: New file, since some standard headers
10749         #define mkstemp.
10750         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
10751         Include "mkstemp.h".
10752         Make the _LIBC code resemble glibc original more,
10753         e.g., use K&R style.
10754         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
10755         (mkstemp): Remove, since mkstemp.h does this for us.
10756         * lib/stdlib--.h: Include mkstemp.h.
10757
10758         Import this patch from libc:
10759
10760         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
10761
10762         * lib/tempname.c (__gen_tempname): Change attempts_min
10763         into a macro.  Use preprocessor to decide how to initialize
10764         attempts [Coverity CID 67].
10765
10766 2006-09-20  Bruno Haible  <bruno@clisp.org>
10767
10768         * lib/mkdtemp.c: Import from libc.
10769         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
10770                 * sysdeps/posix/tempname.c (__gen_tempname): Change
10771                 attempts_min into a macro.  Use preprocessor to decide how to
10772                 initialize attempts [Coverity CID 67].
10773         2001-11-27  Paul Eggert  <eggert@twinsun.com>
10774                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
10775                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
10776
10777 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10778
10779         * gnulib-tool (func_exit): New function, to allow to pass the
10780         exit status portably through the trap.  Use everywhere.
10781         (--help, --version): Signal a write error.
10782         (trap): catch SIGPIPE, for write errors.
10783         Exit at the end of the trap, with the correct exit status.
10784
10785 2006-09-19  Karl Berry  <karl@gnu.org>
10786
10787         * doc/gnulib.texi: note about the license texinfo files.
10788
10789 2006-09-19  Eric Blake  <ebb9@byu.net>
10790
10791         * gnulib-tool: Avoid space-tab.
10792
10793 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10794
10795         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
10796         that prevented coreutils 6.1 from building.  Problem reported
10797         by Petter Reinholdtsen.
10798
10799 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10800
10801         * gnulib-tool (avoidlist): Fix typo that broke options like
10802         --avoid=lock that are used by coreutils bootstrap.
10803
10804 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
10805
10806         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
10807         more systematically.
10808
10809 2006-09-18  Jim Meyering  <jim@meyering.net>
10810
10811         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
10812
10813 2006-09-18  Bruno Haible  <bruno@clisp.org>
10814
10815         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
10816
10817 2006-09-18  Bruno Haible  <bruno@clisp.org>
10818
10819         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
10820         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
10821         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
10822         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
10823         * m4/gettext.m4: Require autoconf >= 2.52.
10824         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
10825         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
10826         of gl_cv_header_inttypes_h.
10827
10828 2006-09-18  Bruno Haible  <bruno@clisp.org>
10829
10830         * lib/javaversion.c: Include configmake.h.
10831
10832 2006-09-18  Bruno Haible  <bruno@clisp.org>
10833
10834         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
10835         avoid that the while loops be executed in a subshell.
10836
10837 2006-09-18  Bruno Haible  <bruno@clisp.org>
10838
10839         * MODULES.html.sh (func_module): Break long lines.
10840         Suggested by Bruce Korb <bkorb@gnu.org>.
10841
10842 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10843
10844         Speed up by a factor of 1.12.
10845         * gnulib-tool (nl): New variable.
10846         (func_import): Rewrite include directive extraction to only read each
10847         directive once.
10848
10849 2006-09-17  Bruno Haible  <bruno@clisp.org>
10850
10851         * modules/javaversion (Makefile.am): Remove DEFS setting.
10852         (Depends-on): Add configmake, for PKGDATADIR definition.
10853
10854 2006-09-17  Bruno Haible  <bruno@clisp.org>
10855
10856         * gnulib-tool (func_create_testdir): Rewrite all files at once.
10857
10858 2006-09-17  Bruno Haible  <bruno@clisp.org>
10859
10860         * gnulib-tool (func_append): New function, stolen from libtool.m4.
10861         (func_modules_transitive_closure, func_modules_add_dummy,
10862         func_modules_to_filelist, func_import, func_create_testdir,
10863         func_create_megatestdir, ...): Use it wherever possible.
10864         Suggested by Ralf Wildenhues.
10865
10866 2006-09-16  Karl Berry  <karl@gnu.org>
10867
10868         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
10869         to avoid sectioning errors.
10870         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
10871         [ifinfo]: blank line after @center-ed titles.
10872         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
10873         Spell FSF address consistently with others.
10874         (These changes approved by rms.)
10875
10876 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10877
10878         Speed up by a factor of 1.61.
10879         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
10880         already checked module names again.
10881
10882 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10883
10884         Speed up by a factor of 1.13.
10885         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
10886         for new_files, and the input to func_add_or_update.
10887
10888 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10889
10890         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
10891         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
10892
10893 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10894
10895         * modules/mkancesdirs (Depends-on): Add fcntl.
10896         * modules/savewd: New file.
10897         * MODULES.html.sh (File system functions): Add savewd.
10898
10899         * modules/configmake (Makefile.am): Add support for the
10900         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
10901
10902 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10903
10904         * m4/savewd.m4: New file.
10905
10906 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10907
10908         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
10909         (dirchownmod): New arg FD.  All callers changed.
10910         Use FD rather than opening the directory ourself, as opening is
10911         now the caller's responsibility.
10912         * lib/dirchownmod.h: Likewise.
10913         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
10914         hosts that require <sys/types.h> before <sys/stat.h>.  Include
10915         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
10916         (test_dir): Remove.
10917         (mkancesdirs): Return length of prefix of FILE that has already
10918         been made, or -2 if there is a child doing the work.  Redo
10919         algorithm so that it is O(N) rather than O(N**2).  Optimize away
10920         ".", and treat ".." specially since it might stray back into
10921         already-created areas.  Use a subprocess if necessary.  New arg
10922         WD; all users changed.  MAKE_DIR function should now return 1
10923         if it creates a directory that is not readable.  Return -2 if
10924         a child process is spun off.
10925         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
10926         Adjust signature to match code.
10927         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
10928         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
10929         all users changed.
10930         * lib/savewd.c, lib/savewd.h: New files.
10931
10932 2006-09-15  Jim Meyering  <jim@meyering.net>
10933
10934         * modules/rename-dest-slash: New module.
10935         * MODULES.html.sh (posix_compat): Add it here.
10936
10937         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
10938
10939 2006-09-15  Jim Meyering  <jim@meyering.net>
10940
10941         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
10942         file.
10943
10944         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
10945
10946 2006-09-15  Jim Meyering  <jim@meyering.net>
10947
10948         * lib/rename-dest-slash.c (has_trailing_slash): Use
10949         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
10950         (rpl_rename_dest_slash): Perform the cheaper trailing slash
10951         test before testing whether SRC is a directory.
10952         Suggestions from Bruno Haible.
10953
10954         Avoid a warning about an unused variable.
10955         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
10956         into the #ifdef block where it's used.
10957
10958         * lib/rename-dest-slash.c: New file.
10959
10960 2006-09-14  Bruno Haible  <bruno@clisp.org>
10961
10962         * lib/allocsa.c: Include <config.h> unconditionally.
10963         * lib/asnprintf.c: Likewise.
10964         * lib/asprintf.c: Likewise.
10965         * lib/c-strcasecmp.c: Likewise.
10966         * lib/c-strcasestr.c: Likewise.
10967         * lib/c-strncasecmp.c: Likewise.
10968         * lib/c-strstr.c: Likewise.
10969         * lib/classpath.c: Likewise.
10970         * lib/clean-temp.c: Likewise.
10971         * lib/concatpath.c: Likewise.
10972         * lib/copy-file.c: Likewise.
10973         * lib/csharpcomp.c: Likewise.
10974         * lib/csharpexec.c: Likewise.
10975         * lib/execute.c: Likewise.
10976         * lib/fatal-signal.c: Likewise.
10977         * lib/findprog.c: Likewise.
10978         * lib/fwriteerror.c: Likewise.
10979         * lib/gl_array_list.c: Likewise.
10980         * lib/gl_array_oset.c: Likewise.
10981         * lib/gl_avltree_list.c: Likewise.
10982         * lib/gl_avltree_oset.c: Likewise.
10983         * lib/gl_avltreehash_list.c: Likewise.
10984         * lib/gl_carray_list.c: Likewise.
10985         * lib/gl_linked_list.c: Likewise.
10986         * lib/gl_linkedhash_list.c: Likewise.
10987         * lib/gl_list.c: Likewise.
10988         * lib/gl_oset.c: Likewise.
10989         * lib/gl_rbtree_list.c: Likewise.
10990         * lib/gl_rbtree_oset.c: Likewise.
10991         * lib/gl_rbtreehash_list.c: Likewise.
10992         * lib/imaxabs.c: Likewise.
10993         * lib/imaxdiv.c: Likewise.
10994         * lib/javacomp.c: Likewise.
10995         * lib/javaexec.c: Likewise.
10996         * lib/javaversion.c: Likewise.
10997         * lib/linebreak.c: Likewise.
10998         * lib/localcharset.c: Likewise.
10999         * lib/lock.c: Likewise.
11000         * lib/mbchar.c: Likewise.
11001         * lib/mbswidth.c: Likewise.
11002         * lib/mkdtemp.c: Likewise.
11003         * lib/pipe.c: Likewise.
11004         * lib/printf-args.c: Likewise.
11005         * lib/printf-parse.c: Likewise.
11006         * lib/progname.c: Likewise.
11007         * lib/progreloc.c: Likewise.
11008         * lib/readlink.c: Likewise.
11009         * lib/sh-quote.c: Likewise.
11010         * lib/stpcpy.c: Likewise.
11011         * lib/stpncpy.c: Likewise.
11012         * lib/strcasecmp.c: Likewise.
11013         * lib/strcasestr.c: Likewise.
11014         * lib/strcspn.c: Likewise.
11015         * lib/striconv.c: Likewise.
11016         * lib/strncasecmp.c: Likewise.
11017         * lib/strnlen1.c: Likewise.
11018         * lib/strstr.c: Likewise.
11019         * lib/strtok_r.c: Likewise.
11020         * lib/tls.c: Likewise.
11021         * lib/tmpdir.c: Likewise.
11022         * lib/unicodeio.c: Likewise.
11023         * lib/unsetenv.c: Likewise.
11024         * lib/vasnprintf.c: Likewise.
11025         * lib/vasprintf.c: Likewise.
11026         * lib/wait-process.c: Likewise.
11027         * lib/xallocsa.c: Likewise.
11028         * lib/xsetenv.c: Likewise.
11029         * lib/xstriconv.c: Likewise.
11030
11031 2006-09-13  Simon Josefsson  <jas@extundo.com>
11032
11033         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
11034         that internally, suggested by Ralf Wildenhues
11035         <Ralf.Wildenhues@gmx.de>.
11036
11037 2006-09-13  Simon Josefsson  <jas@extundo.com>
11038
11039         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
11040         @LIBOBJS@.
11041         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11042
11043 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11044
11045         * lib/_fpending.c: Include <config.h> unconditionally, since we no
11046         longer worry about uses that don't define HAVE_CONFIG_H.
11047         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
11048         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
11049         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
11050         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
11051         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
11052         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
11053         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
11054         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
11055         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
11056         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
11057         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
11058         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
11059         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
11060         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
11061         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
11062         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
11063         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
11064         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
11065         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
11066         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
11067         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
11068         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
11069         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
11070         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
11071         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
11072         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
11073         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
11074         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
11075         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
11076         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
11077         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
11078         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
11079         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
11080         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
11081         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
11082         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
11083         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
11084         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
11085         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
11086         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
11087         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
11088         Likewise.
11089
11090 2006-09-13  Eric Blake  <ebb9@byu.net>
11091
11092         * lib/getopt.c: Fix typo in last commit.
11093
11094 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
11095
11096         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
11097         dgettext.
11098
11099 2006-09-12  Jim Meyering  <jim@meyering.net>
11100
11101         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
11102         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
11103         Reported by Nelson H. F. Beebe.
11104
11105 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11106
11107         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
11108         program_invocation_name and program_invocation_short_name are
11109         initialized.
11110         * lib/argp-namefrob.h: Move declarations of program_invocation_name
11111         and program_invocation_short_name to argp.h, so they are visible
11112         to user programs.
11113         * lib/argp.h: Likewise
11114
11115 2006-09-10  Bruno Haible  <bruno@clisp.org>
11116
11117         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
11118         m4/inttypes_h.m4, m4/uintmax_t.m4.
11119
11120 2006-09-10  Bruno Haible  <bruno@clisp.org>
11121
11122         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
11123         gl_AC_TYPE_UINTMAX_T.
11124
11125 2006-09-10  Bruno Haible  <bruno@clisp.org>
11126
11127         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
11128
11129 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11130
11131         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
11132         convention.  Text proposed by Bruno Haible.
11133         (struct argp_option): Document the use of N_() wrappers.
11134
11135         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
11136         '\v', and translate the two parts separately, instead of feeding
11137         the whole string to gettext.  This allows to exclude
11138         '\v' from the strings visible to the translator by writing doc
11139         strings as N_("..") "\v" N_("..").
11140
11141 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
11142
11143         * config/srclist.txt: Undo latest change; the bug was fixed.
11144
11145 2006-09-09  Bruno Haible  <bruno@clisp.org>
11146
11147         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
11148         assignments if building a library without libtool.
11149         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
11150         in func_emit_lib_Makefile_am.
11151         (func_import): When building a static library libfoo.a, arrange to
11152         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
11153         (func_create_testdir): Likewise.
11154         * modules/gc (configure.ac, Makefile.am): If building statically,
11155         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
11156         * modules/iconvme (configure.ac, Makefile.am): Likewise.
11157         * modules/striconv (configure.ac, Makefile.am): Likewise.
11158         Based on a suggestion by Ralf Wildenhues.
11159
11160 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11161
11162         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
11163         Check for unistd.h too, since Autoconf doesn't assume POSIX.
11164         Also:
11165
11166         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11167         Add year_2050_test to catch glibc bug 2821
11168         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
11169
11170         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11171         Prefer #ifdef to #if.
11172
11173         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
11174         Return from 'main' instead of calling 'exit'.
11175
11176 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11177
11178         * lib/mktime.c (guess_time_tm): Fix bug where mktime
11179         returned the maximum time_t value rather than (time_t) -1.
11180         Problem originally reported by William Bardwell
11181         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
11182
11183         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
11184         Moved to here ...
11185         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
11186         ... from here.
11187
11188 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11189
11190         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
11191         2821 is fixed.
11192
11193 2006-09-08  Jim Meyering  <jim@meyering.net>
11194
11195         Don't make generated files read-only.  That would bother too many
11196         people.  However, do retain the ability to work when targets are
11197         read-only: remove the destination and temporary files before writing
11198         them (when generated via sed or echo), or by using the -f option for
11199         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
11200         * modules/alloca-opt, modules/argz, modules/arpa_inet:
11201         * modules/byteswap, modules/configmake, modules/fcntl:
11202         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
11203         * modules/localcharset, modules/netinet_in, modules/poll:
11204         * modules/stdbool, modules/stdint, modules/sys_select:
11205         * modules/sys_socket, modules/sys_stat, modules/sysexits:
11206
11207 2006-09-08  Jim Meyering  <jim@meyering.net>
11208
11209         Avoid new build failure on FreeBSD 6.0.
11210         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
11211         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
11212         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
11213
11214 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11215
11216         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
11217
11218 2006-09-07  Jim Meyering  <jim@meyering.net>
11219
11220         Fix global typo in last change: use chmod u-w, not chmod u-x.
11221         Spotted by Paul Eggert and Bruce Korb.
11222         * modules/alloca-opt, modules/argz, modules/arpa_inet:
11223         * modules/byteswap, modules/configmake, modules/fcntl:
11224         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
11225         * modules/localcharset, modules/netinet_in, modules/poll:
11226         * modules/stdbool, modules/stdint, modules/sys_select:
11227         * modules/sys_socket, modules/sys_stat, modules/sysexits:
11228
11229 2006-09-06  Jim Meyering  <jim@meyering.net>
11230
11231         Make generated files be read-only.
11232         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
11233         Ensure that each generated file is now read-only.
11234         * modules/argz: Likewise.
11235         * modules/arpa_inet: Likewise.
11236         * modules/byteswap: Likewise.
11237         * modules/configmake: Likewise.
11238         * modules/fcntl: Likewise.
11239         * modules/fnmatch: Likewise.
11240         * modules/getopt: Likewise.
11241         * modules/glob: Likewise.
11242         * modules/inttypes: Likewise.
11243         * modules/netinet_in: Likewise.
11244         * modules/poll: Likewise.
11245         * modules/stdbool: Likewise.
11246         * modules/stdint: Likewise.
11247         * modules/sys_select: Likewise.
11248         * modules/sys_socket: Likewise.
11249         * modules/sys_stat: Likewise.
11250         * modules/sysexits: Likewise.
11251         * modules/localcharset: Same as above, but continue using temporary
11252         file named "t-$@" (why different?) rather than the "$@-t" used
11253         everywhere else.
11254
11255         * modules/sysexits (Makefile.am): Replace literal occurrences
11256         of "sysexit.h" more readable, and more consistent, "$@".
11257
11258 2006-09-06  Bruno Haible  <bruno@clisp.org>
11259
11260         * modules/striconv: New file.
11261         * modules/xstriconv: New file.
11262         * MODULES.html.sh (Internationalization functions): Add striconv,
11263         xstriconv.
11264
11265 2006-09-06  Bruno Haible  <bruno@clisp.org>
11266
11267         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
11268         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
11269         not using libtool correctly.
11270
11271 2006-09-06  Bruno Haible  <bruno@clisp.org>
11272
11273         * lib/striconv.h: New file.
11274         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
11275         iconvstring.c.
11276         * lib/xstriconv.h: New file.
11277         * lib/xstriconv.c: New file.
11278
11279 2006-09-06  Bruno Haible  <bruno@clisp.org>
11280
11281         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
11282         lib_..._LDFLAGS.
11283
11284 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11285
11286         * lib/argz_.h: Sync from Libtool.
11287
11288         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
11289                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11290
11291         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
11292
11293 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
11294
11295         * modules/trim: New file.
11296
11297 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
11298
11299         * lib/trim.h: New file.
11300         * lib/trim.c: New file.
11301
11302 2006-09-05  Bruno Haible  <bruno@clisp.org>
11303
11304         * MODULES.html.sh (String handling): Add trim.
11305
11306 2006-09-04  Karl Berry  <karl@gnu.org>
11307
11308         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
11309         until next release.
11310
11311 2006-09-03  Bruno Haible  <bruno@clisp.org>
11312
11313         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
11314         correctly.
11315
11316 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11317
11318         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
11319         not gl_GETLOADAVG.  Omit unneeded semicolons.
11320         Problems reported by Ralf Wildenhues in
11321         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
11322         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
11323         at the end, which is the usual gnulib style.
11324
11325         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
11326         of doing all the work ourselves.
11327         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
11328         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
11329
11330 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11331
11332         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
11333         Problem reported by Ralf Wildenhues in
11334         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
11335
11336         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
11337         HAVE_STRUCT_STATFS_F_FSTYPENAME.
11338
11339 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11340
11341         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
11342         yesterday's patch by changing test -n to test -z.
11343
11344 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11345
11346         * modules/getloadavg (Files): Add m4/getloadavg.m4.
11347         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
11348         the former is now obsolescent.
11349
11350         * modules/chdir-long (Depends-on): Add fcntl.
11351
11352 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11353
11354         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
11355         obsolescent, and programs should use gnulib instead.
11356         * m4/getloadavg.m4: New file, with contents taken from Autoconf
11357         but with prefixes changed.
11358
11359 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11360
11361         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
11362         or stdbool.h, because they might not exist while configuring.
11363
11364         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
11365         Don't include unistd.h or limits.h; not needed, since chdir-long.h
11366         does that for us.
11367         (O_DIRECTORY): Remove.
11368
11369 2006-08-31  Eric Blake  <ebb9@byu.net>
11370
11371         * gnulib-tool: Don't let emacs change spaces to TAB.
11372
11373 2006-08-31  Bruno Haible  <bruno@clisp.org>
11374
11375         * gnulib-tool: When calling func_import more than once, do it in a
11376         subshell.
11377         Reported by Eric Blake <ebb9@byu.net>.
11378
11379 2006-08-31  Bruno Haible  <bruno@clisp.org>
11380
11381         * gnulib-tool (nl): Remove variable.
11382         (sed_transform_lib_file): Use more robust test for config-h module.
11383         (func_import): Fix typo in 2006-08-25 patch.
11384
11385 2006-08-31  Bruno Haible  <bruno@clisp.org>
11386
11387         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
11388         specified, augment Makefile.am variables instead of assigning them.
11389
11390 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11391
11392         Work around a bug in both the Linux and SunOS 64-bit kernels:
11393         nanosleep mishandles sleeps for longer than 2**31 seconds.
11394         Problem reported by Frank v Waveren in
11395         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
11396         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
11397         Check for nanosleep bug.
11398         (LIB_NANOSLEEP): Append clock_gettime library if needed.
11399
11400 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11401
11402         Work around a bug in both the Linux and SunOS 64-bit kernels:
11403         nanosleep mishandles sleeps for longer than 2**31 seconds.
11404         Problem reported by Frank v Waveren in
11405         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
11406         * lib/nanosleep.c (BILLION): New constant.
11407         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
11408         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
11409         implementation.
11410
11411 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11412
11413         * modules/nanosleep (Depends-on): Add gettime.
11414
11415 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11416         and Simon Josefsson  <jas@extundo.com>
11417         and Oskar Liljeblad  <oskar@osk.mine.nu>
11418
11419         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
11420         * gnulib-tool (func_import): New license type 'unmodifiable license
11421         text'.
11422         * modules/fdl: Use it.  Longer description.
11423         * module/gpl, module/lgpl: New files.
11424
11425 2006-08-30  Jim Meyering  <jim@meyering.net>
11426
11427         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
11428         shadowing the parameter.
11429
11430 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11431
11432         Sync from Libtool:
11433
11434         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11435
11436         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
11437         sharing with gnulib.  Report by Eric Blake.
11438
11439 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
11440
11441         * modules/isapipe: New file.
11442         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
11443
11444 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
11445
11446         * modules/configmake (Makefile.am): Add a comment, and omit
11447         the CONFIGMAKE_ prefix from generated macro names.  Suggested
11448         by Bruno Haible.
11449
11450 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
11451
11452         * m4/isapipe.m4: New file.
11453
11454 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
11455
11456         * lib/isapipe.c, lib/isapipe.h: New files.
11457
11458 2006-08-29  Jim Meyering  <jim@meyering.net>
11459
11460         * modules/configmake (Makefile.am): Make configmake.h depend on
11461         Makefile.  Otherwise, a stale configmake.h could hang around.
11462
11463 2006-08-29  Eric Blake  <ebb9@byu.net>
11464
11465         * lib/error.c (error_at_line, print_errno_message): Match libc, after
11466         resolution of upstream bug 3044.
11467
11468 2006-08-29  Bruno Haible  <bruno@clisp.org>
11469
11470         * modules/localcharset (Depends-on): Add configmake.
11471         (Makefile.am): Remove setting of LIBDIR through DEFS.
11472
11473 2006-08-29  Bruno Haible  <bruno@clisp.org>
11474
11475         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
11476         defined.
11477
11478 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
11479
11480         * modules/fcntl: New file.
11481         * modules/chdir-safer (Depends-on): Add fcntl.
11482         * modules/fts: Likewise.
11483         * modules/mkdir-p: Likewise.
11484
11485         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
11486         This undoes the most recent change, since we're now addressing the
11487         problem in a different way.
11488
11489         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
11490         into output, since the output might be called Makefile.am even
11491         if $makefile_name is something different.
11492         (func_import): Use $makefile_am rather than
11493         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
11494         empty.
11495
11496         * modules/inttypes (Files): Add m4/inttypes-h.m4.
11497
11498 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
11499
11500         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
11501         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
11502         recent change to stdint.m4, since we're now addressing the problem in a
11503         different way.
11504
11505 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
11506
11507         * m4/fcntl_h.m4: New file.
11508
11509 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
11510
11511         * lib/fcntl_.h: New file.
11512         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
11513         the fcntl module.
11514         * lib/dirchownmod.c: Likewise.
11515         * lib/fts.c: Likewise.
11516
11517         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
11518         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
11519         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
11520         just before including <inttypes.h>, to avoid circular inclusion.
11521
11522 2006-08-28  Jim Meyering  <jim@meyering.net>
11523
11524         * doc/visibility.texi: Actually read and correct the grammar of the
11525         sentence affected by yesterday's change.
11526
11527 2006-08-28  Eric Blake  <ebb9@byu.net>
11528
11529         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
11530         needs wrapper.
11531
11532 2006-08-28  Eric Blake  <ebb9@byu.net>
11533
11534         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
11535
11536 2006-08-28  Eric Blake  <ebb9@byu.net>
11537
11538         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
11539
11540 2006-08-28  Bruno Haible  <bruno@clisp.org>
11541
11542         * modules/c-strstr: New file, from GNU gettext.
11543         * MODULES.html.sh (String handling): Add c-strstr.
11544
11545 2006-08-28  Bruno Haible  <bruno@clisp.org>
11546
11547         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
11548         macros.
11549         Reported by Eric Blake.
11550
11551 2006-08-28  Bruno Haible  <bruno@clisp.org>
11552
11553         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
11554         (VASNPRINTF): Return a string of length > INT_MAX without failing.
11555         * lib/vasprintf.c: Include errno.h, limits.h.
11556         (EOVERFLOW): New fallback definition.
11557         (vasprintf): Test here whether the string length is > INT_MAX.
11558         * lib/vsnprintf.c: Include errno.h, limits.h.
11559         (EOVERFLOW): New fallback definition.
11560         (vsnprintf): Fix bug when generated string was too long for the buffer.
11561         Test here whether the string length is > INT_MAX.
11562
11563 2006-08-28  Bruno Haible  <bruno@clisp.org>
11564
11565         * lib/inttypes_.h (SCNX*): Remove definitions.
11566         Reported by Eric Blake.
11567
11568 2006-08-28  Bruno Haible  <bruno@clisp.org>
11569
11570         * lib/c-strstr.h: New file, from GNU gettext.
11571         * lib/c-strstr.c: New file, from GNU gettext.
11572
11573 2006-08-28  Bruno Haible  <bruno@clisp.org>
11574
11575         * gnulib-tool: Reorder some statements.
11576
11577 2006-08-28  Bruno Haible  <bruno@clisp.org>
11578
11579         * gnulib-tool: New option --makefile-name.
11580         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
11581         $makefile_name.
11582         (func_import): Write $makefile_name to the cache file, and read it from
11583         there unless explicitly specified. Use $makefile_name as file name
11584         instead of Makefile.am. Adjust the recommendations accordingly.
11585
11586 2006-08-28  Bruno Haible  <bruno@clisp.org>
11587
11588         * gnulib-tool (func_verify_module): Check against misapplying patch.
11589
11590 2006-08-28  Bruno Haible  <bruno@clisp.org>
11591
11592         * gnulib-tool (func_relativize, func_relconcat): New functions.
11593         Give an error if --local-dir is given with --update.
11594         Remove trailing slashes from $local_gnulib_dir.
11595         (func_import): Store the relativized $local_gnulib_dir in
11596         gnulib-cache.m4, and read it from there if not specified explicitly.
11597
11598 2006-08-28  Bruno Haible  <bruno@clisp.org>
11599
11600         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
11601         is the current directory. Respect also $local_gnulib_dir.
11602
11603 2006-08-28  Bruno Haible  <bruno@clisp.org>
11604             Simon Josefsson  <jas@extundo.com>
11605
11606         BeOS portability.
11607         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
11608
11609 2006-08-27  Jim Meyering  <jim@meyering.net>
11610
11611         * doc/visibility.texi: Remove duplicate word: "pointer".
11612
11613 2006-08-26  Bruno Haible  <bruno@clisp.org>
11614
11615         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
11616         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
11617         (Makefile.am): Create inttypes.h from inttypes_.h.
11618         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
11619
11620         * modules/imaxabs: New file.
11621
11622         * modules/imaxdiv: New file.
11623
11624 2006-08-26  Bruno Haible  <bruno@clisp.org>
11625
11626         * m4/inttypes.m4: New file.
11627         * m4/_inttypes_h.m4: Remove file.
11628         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
11629         PRI_MACROS_BROKEN.
11630         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
11631
11632         * m4/imaxabs.m4: New file.
11633
11634         * m4/imaxdiv.m4: New file.
11635
11636 2006-08-26  Bruno Haible  <bruno@clisp.org>
11637
11638         * lib/inttypes_.h: New file.
11639         * lib/inttypes.h: Remove file.
11640         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
11641
11642         * lib/imaxabs.c: New file.
11643
11644         * lib/imaxdiv.c: New file.
11645
11646 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11647
11648         New config-h module, so that "make" output needn't be cluttered
11649         by -DHAVE_CONFIG_H.
11650         * MODULES.html.sh (Support for building libraries and executables):
11651         Add config-h.
11652         * modules/config-h: New file.
11653         * gnulib-tool (nl, sed_transform_lib_file): New vars.
11654         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
11655         the config-h module is used.
11656
11657         New configmake module, so that "make" output needn't be cluttered
11658         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
11659         * MODULES.html.sh (Support for building libraries and executables):
11660         Add configmake.
11661         * modules/configmake: New file.
11662
11663 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11664
11665         * m4/config-h.m4: New file.
11666
11667 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11668
11669         * config/srclist.txt: Add elisp-comp.
11670
11671 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11672
11673         * MODULES.html.sh (Support for building libraries and executables):
11674         Add elisp-comp.
11675         * build-aux/elisp-comp: New file.
11676         * modules/elisp-comp: New file.
11677
11678 2006-08-24  Bruno Haible  <bruno@clisp.org>
11679
11680         * gnulib-tool (func_create_testdir): Use non-default values of
11681         sourcebase and m4base.
11682
11683 2006-08-24  Bruno Haible  <bruno@clisp.org>
11684
11685         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
11686         HTML structure.
11687
11688 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11689
11690         * modules/openat (Depends-on): Add lchown.
11691
11692 2006-08-23  Bruno Haible  <bruno@clisp.org>
11693
11694         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
11695         of gl_LOCK_EARLY instead of gl_LOCK.
11696
11697 2006-08-23  Bruno Haible  <bruno@clisp.org>
11698
11699         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
11700         on OSF/1 to no.
11701         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
11702
11703 2006-08-23  Bruno Haible  <bruno@clisp.org>
11704
11705         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
11706         as unusable.
11707
11708         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
11709         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
11710         (gl_LOCK): New macro.
11711
11712 2006-08-22  Simon Josefsson  <jas@extundo.com>
11713
11714         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
11715         to md5 module.
11716
11717 2006-08-22  Simon Josefsson  <jas@extundo.com>
11718
11719         * MODULES.html.sh: Add "Support for maintaining and release
11720         projects".
11721
11722         * build-aux/gnupload: New file, from coreutils.
11723
11724 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
11725
11726         Avoid the need for AC_LIBSOURCES in m4 macros.
11727         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
11728         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
11729         * modules/check-version (EXTRA_DIST): Add check-version.h.
11730         * modules/crc (EXTRA_DIST): Add crc.h.
11731         * modules/des (EXTRA_DIST): Add des.h.
11732         * modules/gc (EXTRA_DIST): Add gc.h.
11733         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
11734         * modules/getline (EXTRA_DIST): Add getline.h.
11735         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
11736         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
11737         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
11738         * modules/md2 (EXTRA_DIST): Add md2.h.
11739         * modules/md4 (EXTRA_DIST): Add md4.h.
11740         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
11741         * modules/read-file (EXTRA_DIST): Add read-file.h.
11742         * modules/readline (EXTRA_DIST): Add readline.h.
11743         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
11744         rijndael-api-fst.h.
11745
11746 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
11747
11748         * m4/rijndael.m4 (gl_ARCFOUR):
11749         * m4/arctwo.m4 (gl_ARCTWO):
11750         * m4/check-version.m4 (gl_CHECK_VERSION):
11751         * m4/crc.m4 (gl_CRC):
11752         * m4/des.m4 (gl_DES):
11753         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
11754         * m4/gc.m4 (gl_GC):
11755         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11756         * m4/getline.m4 (gl_FUNC_GETLINE):
11757         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
11758         * m4/hmac-md5.m4 (gl_HMAC_MD5):
11759         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
11760         * m4/md2.m4 (gl_MD2):
11761         * m4/md4.m4 (gl_MD4):
11762         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
11763         * m4/read-file.m4 (gl_FUNC_READ_FILE):
11764         * m4/readline.m4 (gl_FUNC_READLINE):
11765         * m4/rijndael.m4 (gl_RIJNDAEL):
11766         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
11767         to get the necessary .h files and whatnot.
11768
11769 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
11770
11771         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
11772         gnulib rather than the other way around.
11773         * config/srclistvars.sh (COREUTILS): Remove.
11774
11775 2006-08-22  Jim Meyering  <jim@meyering.net>
11776
11777         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
11778
11779         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
11780
11781 2006-08-22  Eric Blake  <ebb9@byu.net>
11782
11783         * modules/regexprops-generic: New file.
11784         * MODULES.html.sh (Support for building documentation): List it.
11785
11786 2006-08-22  Eric Blake  <ebb9@byu.net>
11787
11788         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
11789         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
11790         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
11791         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
11792
11793 2006-08-22  Bruno Haible  <bruno@clisp.org>
11794
11795         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
11796         and lib_LTLIBRARIES like the other lib_* variables.
11797
11798 2006-08-22  Bruno Haible  <bruno@clisp.org>
11799
11800         * build-aux/x-to-1.in: New file, from GNU gettext.
11801
11802 2006-08-22  Bruno Haible  <bruno@clisp.org>
11803
11804         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
11805         <utmpx.h> exists.
11806
11807 2006-08-22  Bruno Haible  <bruno@clisp.org>
11808
11809         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
11810         <utmpx.h> exists.
11811
11812 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11813
11814         BeOS portability.
11815         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
11816         exist.
11817         Problem reported by Bruno Haible.
11818
11819 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11820
11821         Avoid the need for AC_LIBSOURCES in m4 macros.
11822         * modules/acl (EXTRA_DIST): Add acl.h.
11823         * modules/argmatch (Files): Add m4/argmatch.m4.
11824         (configure.ac): Add gl_ARGMATCH.
11825         (EXTRA_DIST): Renamed from lib_SOURCES, for
11826         consistency with the other modules.  Remove argmatch.c.
11827         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
11828         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
11829         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
11830         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
11831         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
11832         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
11833         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
11834         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
11835         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
11836         * modules/closeout (EXTRA_DIST): Add closeout.h.
11837         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
11838         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
11839         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
11840         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
11841         dirname.h; remove basename.c and stripslash.c.
11842         * modules/exclude (EXTRA_DIST): Add exclude.h.
11843         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
11844         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
11845         * modules/file-type (EXTRA_DIST): Add file-type.h.
11846         * modules/filemode (EXTRA_DIST): Add filemode.h.
11847         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
11848         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
11849         * modules/fpending (EXTRA_DIST): Add __fpending.h.
11850         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
11851         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
11852         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
11853         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
11854         * modules/getdate (EXTRA_DIST): Add getdate.c.
11855         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
11856         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
11857         * modules/getpass (EXTRA_DIST): Add getpass.h.
11858         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
11859         * modules/group-member (EXTRA_DIST): Add group-member.h.
11860         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
11861         * modules/hash (EXTRA_DIST): Add hash.h.
11862         * modules/human (EXTRA_DIST): Add human.h.
11863         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
11864         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
11865         * modules/lchown (EXTRA_DIST): Add lchown.h.
11866         * modules/long-options (EXTRA_DIST): Add long-options.h.
11867         * modules/lstat (EXTRA_DIST): Add lstat.h.
11868         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
11869         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
11870         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
11871         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
11872         * modules/memxor (EXTRA_DIST): Add memxor.h.
11873         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
11874         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
11875         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
11876         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
11877         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
11878         * modules/physmem (EXTRA_DIST): Add physmem.h.
11879         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
11880         * modules/posixver (EXTRA_DIST): Add posixver.h.
11881         * modules/quote (EXTRA_DIST): Add quote.h.
11882         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
11883         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
11884         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
11885         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
11886         regex_internal.h regexec.c.
11887         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
11888         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
11889         * modules/same (EXTRA_DIST): Add same.h.
11890         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
11891         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
11892         * modules/savedir (EXTRA_DIST): Add savedir.h.
11893         * modules/sha1 (EXTRA_DIST): Add sha1.h.
11894         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
11895         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
11896         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
11897         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
11898         * modules/strdup (EXTRA_DIST): Add strdup.h.
11899         * modules/strftime (EXTRA_DIST): Add strftime.h.
11900         * modules/strndup (EXTRA_DIST): Add strndup.h.
11901         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
11902         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
11903         * modules/time_r (EXTRA_DIST): Add time_r.h.
11904         * modules/timespec (EXTRA_DIST): Add timespec.h.
11905         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
11906         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
11907         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
11908         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
11909         * modules/userspec (EXTRA_DIST): Add userspec.h.
11910         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
11911         * modules/utimens (EXTRA_DIST): Add utimens.h.
11912         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
11913         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
11914         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
11915         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
11916         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
11917         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
11918         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
11919         * modules/yesno (EXTRA_DIST): Add yesno.h.
11920
11921 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11922
11923         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
11924
11925         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
11926         * m4/dev-ino.m4, same-inode.m4: Remove.
11927
11928         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
11929         * m4/acl.m4 (AC_FUNC_ACL):
11930         * m4/backupfile.m4 (gl_BACKUPFILE):
11931         * m4/c-strtod.m4 (gl_C99_STRTOLD):
11932         * m4/canon-host.m4 (gl_CANON_HOST):
11933         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
11934         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
11935         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
11936         * m4/cloexec.m4 (gl_CLOEXEC):
11937         * m4/close-stream.m4 (gl_CLOSE_STREAM):
11938         * m4/closeout.m4 (gl_CLOSEOUT):
11939         * m4/dirfd.m4 (gl_FUNC_DIRFD):
11940         * m4/dirname.m4 (gl_DIRNAME):
11941         * m4/exclude.m4 (gl_EXCLUDE):
11942         * m4/exitfail.m4 (gl_EXITFAIL):
11943         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
11944         * m4/file-type.m4 (gl_FILE_TYPE):
11945         * m4/filemode.m4 (gl_FILEMODE):
11946         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
11947         * m4/fpending.m4 (gl_FUNC_FPENDING):
11948         * m4/fprintftime.m4 (gl_FPRINTFTIME):
11949         * m4/fts.m4 (gl_FUNC_FTS):
11950         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11951         * m4/getdate.m4 (gl_GETDATE):
11952         * m4/gethrxtime.m4 (gl_GETHRXTIME):
11953         * m4/getpagesize.m4 (gl_GETPAGESIZE):
11954         * m4/getpass.m4 (gl_FUNC_GETPASS):
11955         * m4/gettime.m4 (gl_GETTIME):
11956         * m4/getugroups.m4 (gl_GETUGROUPS):
11957         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
11958         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
11959         * m4/hard-locale.m4 (gl_HARD_LOCALE):
11960         * m4/hash.m4 (gl_HASH):
11961         * m4/idcache.m4 (gl_IDCACHE):
11962         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
11963         * m4/lchown.m4 (gl_FUNC_LCHOWN):
11964         * m4/long-options.m4 (gl_LONG_OPTIONS):
11965         * m4/lstat.m4 (gl_FUNC_LSTAT):
11966         * m4/md5.m4 (gl_MD5):
11967         * m4/memcasecmp.m4 (gl_MEMCASECMP):
11968         * m4/memcoll.m4 (gl_MEMCOLL):
11969         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
11970         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
11971         * m4/memxor.m4 (gl_MEMXOR):
11972         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
11973         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
11974         * m4/modechange.m4 (gl_MODECHANGE):
11975         * m4/mountlist.m4 (gl_MOUNTLIST):
11976         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
11977         * m4/openat.m4 (gl_FUNC_OPENAT):
11978         * m4/pathmax.m4 (gl_PATHMAX):
11979         * m4/physmem.m4 (gl_PHYSMEM):
11980         * m4/posixtm.m4 (gl_POSIXTM):
11981         * m4/posixver.m4 (gl_POSIXVER):
11982         * m4/quote.m4 (gl_QUOTE):
11983         * m4/quotearg.m4 (gl_QUOTEARG):
11984         * m4/readtokens.m4 (gl_READTOKENS):
11985         * m4/readutmp.m4 (gl_READUTMP):
11986         * m4/regex.m4 (gl_REGEX):
11987         * m4/safe-read.m4 (gl_SAFE_READ):
11988         * m4/safe-write.m4 (gl_SAFE_WRITE):
11989         * m4/same.m4 (gl_SAME):
11990         * m4/save-cwd.m4 (gl_SAVE_CWD):
11991         * m4/savedir.m4 (gl_SAVEDIR):
11992         * m4/settime.m4 (gl_SETTIME):
11993         * m4/sha1.m4 (gl_SHA1):
11994         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
11995         * m4/stat-macros.m4 (gl_STAT_MACROS):
11996         * m4/stat-time.m4 (gl_STAT_TIME):
11997         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
11998         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
11999         * m4/strdup.m4 (gl_FUNC_STRDUP):
12000         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
12001         * m4/strndup.m4 (gl_FUNC_STRNDUP):
12002         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
12003         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
12004         * m4/time_r.m4 (gl_TIME_R):
12005         * m4/timespec.m4 (gl_TIMESPEC):
12006         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
12007         * m4/unlinkdir.m4 (gl_UNLINKDIR):
12008         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
12009         * m4/userspec.m4 (gl_USERSPEC):
12010         * m4/utimecmp.m4 (gl_UTIMECMP):
12011         * m4/utimens.m4 (gl_UTIMENS):
12012         * m4/xalloc.m4 (gl_XALLOC):
12013         * m4/xgetcwd.m4 (gl_XGETCWD):
12014         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
12015         * m4/xreadlink.m4 (gl_XREADLINK):
12016         * m4/xstrtod.m4 (gl_XSTRTOD):
12017         * m4/yesno.m4 (gl_YESNO):
12018         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
12019         to get the necessary .h files and whatnot.
12020
12021 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
12022             Bruno Haible  <bruno@clisp.org>
12023
12024         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
12025         /bin/sh understanding of '!' conditional negation.
12026
12027 2006-08-21  Jim Meyering  <jim@meyering.net>
12028
12029         * modules/openat (Depends-on): Really alphabetize.
12030
12031         * modules/acl (Depends-on): Add error and quote.
12032
12033         * check-module (find_included_lib_files): Add at-func.c to the
12034         ok-to-include-more-than-once white list.
12035
12036         * modules/openat (Depends-on): Add lstat.  Alphabetize.
12037
12038 2006-08-21  Bruno Haible  <bruno@clisp.org>
12039
12040         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12041         Emit a pkgdata_DATA variable only if some snippets add contents to it.
12042         Reported by Martin Lambers <marlam@marlam.de>.
12043
12044 2006-08-21  Bruno Haible  <bruno@clisp.org>
12045
12046         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
12047         specify an installation location, don't emit a noinst_LIBRARIES or
12048         noinst_LTLIBRARIES assignment.
12049
12050 2006-08-21  Bruno Haible  <bruno@clisp.org>
12051
12052         BeOS portability.
12053         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
12054         BeOS has mbrtowc() but no <wctype.h>.
12055
12056 2006-08-21  Bruno Haible  <bruno@clisp.org>
12057
12058         BeOS portability.
12059         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
12060         exist.
12061
12062 2006-08-21  Bruno Haible  <bruno@clisp.org>
12063
12064         BeOS portability.
12065         * lib/mbchar.h: Include <wctype.h> only if it exists.
12066
12067 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12068
12069         Remove files that are no longer needed by their respective modules.
12070         * m4/obstack.m4: Remove.
12071         * m4/strerror_r.m4: Remove.
12072         * m4/uint32_t.m4: Remove.
12073         * m4/uintptr_t.m4: Remove.
12074         * m4/ullong_max.m4: Remove.
12075         * m4/xstrtoimax.m4: Remove.
12076         * m4/xstrtoumax.m4: Remove.
12077
12078         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
12079         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
12080         dependencies now capture this.
12081
12082         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
12083         Do not use AC_LIBSOURCES, since gnulib modules now do this.
12084         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
12085         * m4/human.m4 (gl_HUMAN): Likewise.
12086         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
12087         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
12088
12089         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
12090
12091         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
12092         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
12093         stdint.
12094         * m4/human.m4 (gl_HUMAN): Likewise.
12095         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
12096         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
12097         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
12098         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
12099         * m4/xstrtol (gl_XSTRTOL): Likewise.
12100
12101         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
12102         AC_TYPE_LONG_LONG_INT.
12103         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
12104         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
12105         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
12106         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
12107
12108         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
12109         on stdbool.
12110
12111         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
12112         (gl_PREREQ_XSTRTOUL): Remove.
12113
12114         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
12115
12116         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
12117         mode.
12118
12119 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12120
12121         Add and change modules to make it easier for coreutils to use
12122         gnulib-tool.
12123         * modules/backupfile (Files): Remove m4/d-ino.m4.
12124         (Depends-on): Add d-ino.
12125         * modules/cycle-check (Depends-on): Add stdint.
12126         (lib_SOURCES): Add cycle-check.h.
12127         * modules/d-ino: New module.
12128         * modules/d-type: New module.
12129         * modules/error (Files): Remove m4/strerror_r.m4.
12130         * modules/filemode (Files): Add m4/st_dm_mode.m4.
12131         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
12132         m4/inttypes_h.m4, m4/uintmax_t.m4.
12133         (Depends-on): Add stdint.
12134         (lib_SOURCES): Add fsusage.h.
12135         * modules/getcwd (Files): Remove d-ino.m4.
12136         (Depends-on): Add d-ino.
12137         * modules/getndelim2 (Depends-on): Add stdint.
12138         * modules/glob (Files): Remove m4/d-type.m4.
12139         (Depends-on): Add d-type.
12140         * modules/host-os: New module.
12141         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
12142         m4/inttypes_h.m4, m4/uintmax_t.m4.
12143         * Depends-on: Add stdint.
12144         (lib_SOURCES): Add human.h.
12145         * modules/inttostr (Files): Remove m4/intmax_t.m4,
12146         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
12147         m4/uintmax_t.m4, m4/ulonglong.m4.
12148         (Depends-on): Add stdint.
12149         (EXTRA_DIST): Add inttostr.h.
12150         * modules/lchmod: New module.
12151         * modules/link-follow: New module.
12152         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
12153         (Depends-on): Add lchmod.
12154         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
12155         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
12156         (Depends-on): Add stdint.
12157         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
12158         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
12159         (Depends-on): Add stdint.
12160         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
12161         * modules/perl: New module.
12162         * modules/regex (Depends-on): Add stdint.
12163         * modules/rmdir-errno: New module.
12164         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
12165         m4/intmax_t.m4.
12166         (Depends-on): Add stdint.
12167         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
12168         m4/uintmax_t.m4.
12169         (Depends-on): Add stdint.
12170         * modules/unlink-busy: New module.
12171         * modules/utimecmp (Depends-on): Add stdint.
12172         * modules/uptime: New module.
12173         * modules/winsz-ioctl: New module.
12174         * modules/winsz-termios: New module.
12175         * modules/xnanosleep (Depends-on): Add nanosleep.
12176         * modules/ullong_max: Remove.
12177         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
12178         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
12179         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
12180         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
12181         (Depends-on): Add inttypes.
12182         (lib_SOURCES): Add xstrtol.h.
12183         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
12184         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
12185         * MODULES.html.sh: Move 'assert' into the assert section.
12186         Move 'dummy' into the linking section.
12187         Remove ullong_max.
12188         Add section for compatibility checks for POSIX:2001 functions,
12189         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
12190         winsz-ioctl, and winsz-termios into it.
12191         Add lchmod.
12192         Add top-level Misc section and put host-os, perl, and uptime
12193         into it.
12194
12195 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12196
12197         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
12198         now assume the stdint module.  Do not include inttypes.h.
12199         * lib/fsusage.h: Likewise.
12200         * lib/getndelim2.c: Likewise.
12201         * lib/human.h: Likewise.
12202         * lib/inttostr.h: Likewise.
12203         * lib/obstack.c: Likewise.
12204         * lib/regex_internal.h: Likewise.
12205         * lib/tempname.c: Likewise.
12206         * lib/utimecmp.c: Likewise.
12207         * lib/xstrtol.h: Likewise.
12208
12209         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
12210
12211         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
12212         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
12213         * lib/xtime.h: Likewise.
12214
12215 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12216
12217         * modules/openat (Files): Add lib/fchmodat.c.
12218         Fixes problem reported by Jay Youngman.
12219
12220 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12221
12222         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
12223         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
12224
12225 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
12226             Bruno Haible  <bruno@clisp.org>
12227
12228         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
12229         and is a script that invokes bison. Tighten the code. Add comments.
12230
12231 2006-08-18  Jim Meyering  <jim@meyering.net>
12232
12233         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
12234         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
12235         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
12236         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
12237
12238 2006-08-18  Bruno Haible  <bruno@clisp.org>
12239
12240         * modules/bison-i18n: New file.
12241         * MODULES.html.sh (Internationalization functions): Add it.
12242
12243 2006-08-18  Bruno Haible  <bruno@clisp.org>
12244
12245         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
12246         sys/statvfs.h. When getmntinfo was found, check its declaration and
12247         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
12248
12249 2006-08-18  Bruno Haible  <bruno@clisp.org>
12250
12251         * m4/bison-i18n.m4: New file, from bison.
12252
12253 2006-08-18  Bruno Haible  <bruno@clisp.org>
12254
12255         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
12256         (ME_DUMMY): Treat "kernfs" as a dummy.
12257         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
12258
12259 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12260
12261         Update from coreutils.
12262
12263         2006-08-15  Jim Meyering  <jim@meyering.net>
12264
12265         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
12266
12267         2006-01-17  Jim Meyering  <jim@meyering.net>
12268
12269         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
12270
12271         2006-01-11  Jim Meyering  <jim@meyering.net>
12272
12273         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
12274         Check for the lchmod function.
12275
12276 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12277
12278         Update from coreutils.
12279
12280         * lib/__fpending.h: Add copyright notice.
12281         * lib/fprintftime.h: Likewise.
12282         * lib/savedir.c: Use (C) in copyright notice.
12283         * lib/savedir.h: Likewise.
12284
12285         2006-08-15  Jim Meyering  <jim@meyering.net>
12286
12287         * lib/at-func.c: New file, with the logic of all emulated at-functions.
12288         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
12289         in support of the EXPECTED_ERRNO macro.
12290         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
12291         definitions.  Instead, define the appropriate symbols and include
12292         "at-func.c".
12293         * lib/mkdirat.c (mkdirat): Likewise.
12294         * lib/fchmodat.c (fchmodat): Likewise.
12295         (ENOSYS): Remove definition.
12296         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
12297         it.  Don't include "unistd--.h" -- it wasn't ever used.
12298
12299         2006-01-17  Jim Meyering  <jim@meyering.net>
12300
12301         Rewrite fts.c not to change the current working directory,
12302         by using openat, fstatat, fdopendir, etc..
12303
12304         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
12305         (HAVE_OPENAT_SUPPORT): Define.
12306         [_LIBC] (fchdir): Don't undef or define; no longer used.
12307         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
12308         Now, this `function' always succeeds, and consumes its file descriptor
12309         parameter -- so callers must not close such FDs.  Update callers.
12310         (diropen_fd, opendirat, cwd_advance_fd): New functions.
12311         (diropen): Add parameter, SP.  Adjust all callers.
12312         Implement using diropen_fd, rather than open.
12313         (fts_open): Initialize new member, fts_cwd_fd.
12314         Remove fts_rft-setting code.
12315         (fts_close): Close fts_cwd_fd, if necessary.
12316         (__opendir2): Define in terms of opendir or opendirat,
12317         depending on whether the FST_NOCHDIR flag is set.
12318         (fts_build): Since fts_safe_changedir consumes its FD, and since
12319         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
12320         and close the dup'd file descriptor upon failure.
12321         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
12322         (fts_safe_changedir): Tweak semantics to reflect that this function
12323         now calls cwd_advance_fd and hence consumes its FD argument.
12324         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
12325         [struct FTS] (fts_rft): Remove now-unused member.
12326         [struct FTS] (fts_cycle.state): Improve comment.
12327
12328         * lib/openat.c (openat_needs_fchdir): New function.
12329         * lib/openat.h (openat_needs_fchdir): Declare it.
12330
12331 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
12332
12333         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
12334         Problem and fix reported by Pádraig Brady in
12335         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
12336
12337 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12338
12339         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
12340
12341 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12342
12343         * lib/memcoll.c (memcoll): Optimize for the common case where the
12344         arguments are bytewise equal.
12345
12346 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12347
12348         * doc/regexprops-generic.texi: Add a copyright notice.
12349
12350 2006-08-15  Bruno Haible  <bruno@clisp.org>
12351
12352         * modules/tmpdir (License): Change to LGPL.
12353
12354 2006-08-15  Bruno Haible  <bruno@clisp.org>
12355
12356         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
12357         module.
12358
12359 2006-08-14  Simon Josefsson  <jas@extundo.com>
12360
12361         * config/srclist.txt: Add gnupload.
12362
12363 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12364
12365         Change copyright notice from LGPL 2 to GPL 2, since that's the
12366         standard form used in the gnulib repository.
12367         * tests/test-lock.c: Likewise.
12368         * tests/test-stdint.c: Likewise.
12369         * tests/test-tls.c: Likewise.
12370
12371         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
12372         prelude-manager.  User shorter URLs for GNU projects, without '?'.
12373         Add copyright notice.
12374
12375         * check-module: Add copyright notice.  Output a copyright
12376         notice if "--version" is specified.
12377         * modules/COPYING: New file.
12378         * tests/test-getaddrinfo.c: Add copyright notice.
12379         * tests/test-verify.c: Likewise.
12380
12381 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12382
12383         Change copyright notice from LGPL 2 to GPL 2, since that's the
12384         standard form used in the gnulib repository.
12385         * lib/lock.c: LGPL -> GPL.
12386         * lib/lock.h: Likewise.
12387         * lib/strnlen1.c: Likewise.
12388         * lib/strnlen1.h: Likewise.
12389         * lib/tls.c: Likewise.
12390         * lib/tls.h: Likewise.
12391         * lib/tmpdir.c: Likewise.
12392
12393         * lib/TODO: Remove; this belongs only in coreutils.
12394
12395 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12396
12397         Add copyright notices to long-enough files that lack them, since
12398         otherwise the files aren't clearly free.  Use the same notice that
12399         getdate.texi already uses.
12400         * doc/alloca-opt.texi: Add copyright notice.
12401         * doc/alloca.texi: Likewise.
12402         * doc/ctime.texi: Likewise.
12403         * doc/functions.texi: Likewise.
12404         * doc/gcd.texi: Likewise.
12405         * doc/gnulib-tool.texi: Likewise.
12406         * doc/inet_ntoa.texi: Likewise.
12407         * doc/visibility.texi: Likewise.
12408
12409         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
12410         * doc/quote.texi: Add copyright notice.
12411
12412         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
12413         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
12414         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
12415         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
12416         is now obsolete, and give a pointer to the Sun list.
12417         Add copyright notice.
12418
12419 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12420
12421         * config/srclistvars.sh: Add copyright notice.
12422
12423 2006-08-14  Eric Blake  <ebb9@byu.net>
12424
12425         Import the following change from libc:
12426
12427         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
12428
12429         Upstream bug 2997.
12430         * lib/misc/error.c: Add space between program name and message if file
12431         name is missing.
12432
12433 2006-08-12  Karl Berry  <karl@gnu.org>
12434
12435         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
12436         remove, these originate in gnulib now.
12437
12438 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12439
12440         * doc/Makefile (standards.info standards.html standards.dvi):
12441         Also depend on make-stds.texi.
12442
12443 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12444
12445         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
12446         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
12447
12448         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
12449         in wchar_t.  Problem reported by Eric Blake.
12450
12451         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
12452         LEN is smaller than SIZE.  Suggested by Bruno Haible.
12453         Also, help the compiler to keep LEN in a register.
12454
12455 2006-08-11  Eric Blake  <ebb9@byu.net>
12456
12457         * users.txt: Sort.  Add tar.
12458
12459 2006-08-11  Bruno Haible  <bruno@clisp.org>
12460
12461         * users.txt: New file.
12462
12463 2006-08-11  Bruno Haible  <bruno@clisp.org>
12464
12465         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
12466         before <wchar.h>. Needed for OSF/1 and BSD/OS.
12467
12468 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12469
12470         * modules/snprintf (Depends-on): Remove minmax.
12471         (Maintainer): Add self and Bruno.
12472
12473 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12474
12475         * lib/.cppi-disable: Add snprintf.h, socket_.h.
12476         * lib/snprintf.c: Include <errno.h> and <limits.h>.
12477         (EOVERFLOW): Define if the system does not.
12478         Do not include "minmax.h"; it wasn't used.
12479         (snprintf): Don't assume size_t promotes to an unsigned type.
12480         Fix bug when generated string was too long for the buffer: the
12481         buffer's contents are supposed to be the initial prefix of the
12482         output.  Don't assume vasnprintf returns EOVERFLOW if the size
12483         exceeds INT_MAX; do the check ourselves.
12484
12485         Import the following changes from libc:
12486
12487         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
12488
12489         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
12490         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
12491         set wc to the byte which couldn't be converted.
12492         (re_string_reconstruct): Don't clear valid_raw_len before calling
12493         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
12494         tip_context using re_string_context_at.
12495
12496         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
12497
12498         * lib/posix/regex.h: g++ still cannot handled [restrict].
12499
12500         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
12501
12502         * lib/posix/regex.h: Remove special handling for VMS.
12503
12504 2006-08-10  Jim Meyering  <jim@meyering.net>
12505
12506         * modules/same-inode: New module.
12507         * modules/dev-ino: New module.
12508         * modules/cycle-check: Depend on these modules, rather than simply
12509         including their .h files.
12510         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
12511         required via m4/cycle-check.m4.
12512         * modules/same: Depend on new same-inode module, rather than
12513         including same-inode.h.
12514         * modules/chdir-safer: New file.
12515
12516         * modules/chown (Depends-on): Add stat-macros.
12517
12518 2006-08-10  Jim Meyering  <jim@meyering.net>
12519
12520         * m4/cycle-check.m4: New file.
12521         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
12522         * m4/dev-ino.m4, m4/same-inode.m4: New files.
12523
12524 2006-08-10  Eric Blake  <ebb9@byu.net>
12525
12526         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
12527         in from original proposal.
12528
12529 2006-08-10  Eric Blake  <ebb9@byu.net>
12530         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12531
12532         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
12533         namespace.
12534
12535 2006-08-10  Bruno Haible  <bruno@clisp.org>
12536
12537         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
12538         as well.
12539
12540 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12541
12542         Sync from coreutils.
12543
12544         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
12545
12546         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
12547         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
12548
12549 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12550
12551         * modules/restrict: Remove; no longer needed now that we assume
12552         Autoconf 2.59 or later.
12553         * MODULES.html.sh: Remove 'restrict'.
12554         * modules/argp (Depends-on): Remove 'restrict'.
12555         * modules/base64 (Depends-on): Likewise.
12556         * modules/gc (Depends-on): Likewise.
12557         * modules/getaddrinfo (Depends-on): Likewise.
12558         * modules/glob (Depends-on): Likewise.
12559         * modules/inet_ntop (Depends-on): Likewise.
12560         * modules/inet_pton (Depends-on): Likewise.
12561         * modules/memxor (Depends-on): Likewise.
12562         * modules/regex (Depends-on): Likewise.
12563         * modules/strtok_r (Depends-on): Likewise.
12564         * modules/time_r (Depends-on): Likewise.
12565
12566 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12567
12568         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
12569         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
12570         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
12571         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
12572         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
12573         * m4/memxor.m4 (gl_MEMXOR): Likewise.
12574         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
12575         gl_C_RESTRICT replaced by AC_C_RESTRICT.
12576
12577         Merge from coreutils.
12578         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
12579         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
12580         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
12581         * m4/time_r.m4 (gl_TIME_R): Likewise.
12582
12583 2006-08-09  Karl Berry  <karl@gnu.org>
12584
12585         * config/srclist.txt: no more gettext-tools, per Bruno.
12586
12587 2006-08-08  Eric Blake  <ebb9@byu.net>
12588
12589         * modules/verror: New module.
12590         * MODULES.html.sh: Document it.
12591
12592 2006-08-08  Eric Blake  <ebb9@byu.net>
12593
12594         * lib/verror.h, lib/verror.c: New files.
12595
12596 2006-08-08  Eric Blake  <ebb9@byu.net>
12597
12598         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
12599         verror_at_line output complies with GNU Coding Standards even when
12600         file is NULL.
12601
12602 2006-08-07  Bruno Haible  <bruno@clisp.org>
12603
12604         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
12605         versions of AIX.
12606         Reported by Ralf Wildenhues.
12607
12608 2006-08-07  Bruno Haible  <bruno@clisp.org>
12609
12610         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
12611         in an AC_DEFUN. Needed so that the autoconf snippets can use
12612         AC_REQUIRE.
12613
12614 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12615
12616         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12617         Initialize pkgdata_DATA.
12618         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
12619         overriding it.
12620
12621 2006-08-06  Eric Blake  <ebb9@byu.net>
12622
12623         * lib/error.h: Fold in some upstream changes from glibc.
12624         * lib/error.c: Likewise.
12625
12626 2006-08-04  Bruno Haible  <bruno@clisp.org>
12627
12628         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12629         Make the mostlyclean-local rule depend on mostlyclean-generic.
12630         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
12631
12632 2006-07-31  Bruno Haible  <bruno@clisp.org>
12633
12634         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
12635         <stdlib.h>, <string.h>.
12636
12637 2006-07-30  Bruno Haible  <bruno@clisp.org>
12638
12639         * modules/readlink (License): Change to LGPL.
12640
12641 2006-07-30  Bruno Haible  <bruno@clisp.org>
12642
12643         * modules/javaversion (Makefile.am): Distribute javaversion.java and
12644         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
12645         set PKGDATADIR to point to it.
12646
12647 2006-07-30  Bruno Haible  <bruno@clisp.org>
12648
12649         * modules/csharpexec (configure.ac): Comment out macro invocation.
12650         * modules/javaexec (configure.ac): Likewise.
12651         * modules/javacomp-script (configure.ac): Likewise.
12652
12653         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
12654
12655 2006-07-30  Bruno Haible  <bruno@clisp.org>
12656
12657         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
12658         linked-list.
12659
12660 2006-07-30  Bruno Haible  <bruno@clisp.org>
12661
12662         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
12663
12664 2006-07-30  Bruno Haible  <bruno@clisp.org>
12665
12666         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12667         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
12668         get removed.
12669
12670 2006-07-29  Bruno Haible  <bruno@clisp.org>
12671
12672         Make it possible for gnulib-tool to work with locally modified or
12673         augmented gnulib repositories.
12674         * gnulib-tool (func_usage): Document --local-dir option.
12675         (local_gnulib_dir): New variable.
12676         Handle --local-dir option.
12677         (func_lookup_file): New function.
12678         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
12679         (func_get_description, func_get_filelist, func_get_description,
12680         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
12681         func_get_automake_snippet, func_get_include_directive,
12682         func_get_license, func_get_maintainer): Use func_lookup_file.
12683         (func_import, func_create_testdir): Use func_lookup_file.
12684
12685 2006-07-29  Bruno Haible  <bruno@clisp.org>
12686
12687         * modules/setenv (Depends-on): Add unistd.
12688
12689 2006-07-29  Bruno Haible  <bruno@clisp.org>
12690
12691         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
12692
12693 2006-07-29  Bruno Haible  <bruno@clisp.org>
12694
12695         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
12696
12697 2006-07-29  Bruno Haible  <bruno@clisp.org>
12698
12699         * gnulib-tool (import, update): If there is no Makefile.am, look at
12700         aclocal.m4, instead of bailing out.
12701
12702 2006-07-29  Bruno Haible  <bruno@clisp.org>
12703
12704         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
12705         Categorize the options by when they are useful.
12706
12707 2006-07-29  Bruno Haible  <bruno@clisp.org>
12708
12709         * gnulib-tool (func_usage): Document option --no-libtool.
12710         Handle option --no-libtool.
12711         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
12712         for changed semantics of $libtool variable.
12713         (func_import): Likewise. If libtool is not used, show this through
12714         an option --no-libtool.
12715         (func_create_testdir): Update.
12716
12717 2006-07-29  Bruno Haible  <bruno@clisp.org>
12718
12719         * gnulib-tool (func_import): Extend error message about missing
12720         --doc-base.
12721
12722 2006-07-29  Bruno Haible  <bruno@clisp.org>
12723
12724         * gnulib-tool (func_import): Don't create the $docbase directory if
12725         there is no file to store there.
12726
12727 2006-07-29  Bruno Haible  <bruno@clisp.org>
12728
12729         * gnulib-tool (autoconf_minversion): If a --dir option is given and
12730         relevant, look for configure.ac there, not in the current directory.
12731         Also use a simple search for AC_PREREQ, not "autoconf --trace".
12732
12733 2006-07-29  Bruno Haible  <bruno@clisp.org>
12734
12735         * gnulib-tool (SORT): New variable.
12736         (func_usage): Undocument --assume-autoconf option.
12737         Remove --assume-autoconf option handling.
12738         (autoconf_minversion): Determine from the contents of configure.ac.
12739         (func_import): Remove autoconf_minversion handling.
12740         Suggested by Eric Blake.
12741
12742 2006-07-29  Bruno Haible  <bruno@clisp.org>
12743
12744         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
12745
12746 2006-07-29  Bruno Haible  <bruno@clisp.org>
12747
12748         * config/srclist.txt (*setenv.[ch]): Remove rules.
12749
12750 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12751
12752         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
12753
12754 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12755
12756         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
12757         arpa/inet.h.
12758
12759 2006-07-28  Simon Josefsson  <jas@extundo.com>
12760
12761         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
12762         * modules/inet_pton (Depends-on): Likewise.
12763
12764 2006-07-28  Simon Josefsson  <jas@extundo.com>
12765
12766         * m4/netinet_in_h.m4: New file.
12767
12768 2006-07-28  Simon Josefsson  <jas@extundo.com>
12769
12770         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
12771         #include's.
12772
12773 2006-07-28  Simon Josefsson  <jas@extundo.com>
12774
12775         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
12776         #include's.
12777
12778 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
12779
12780         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
12781         setgid on directories only if they set these bits.
12782         * lib/modechange.h: Remove obsolete comment about masks.
12783
12784 2006-07-28  Eric Blake  <ebb9@byu.net>
12785
12786         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
12787         macro expansion.
12788
12789 2006-07-28  Bruno Haible  <bruno@clisp.org>
12790
12791         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
12792
12793 2006-07-28  Bruno Haible  <bruno@clisp.org>
12794
12795         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
12796
12797 2006-07-28  Bruno Haible  <bruno@clisp.org>
12798
12799         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
12800         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
12801         Define fallbacks.
12802         Avoids link error on FreeBSD 4.x.
12803         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12804
12805         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
12806         encoding.
12807         * lib/mbswidth.c (iswcntrl): Likewise.
12808
12809 2006-07-27  Bruno Haible  <bruno@clisp.org>
12810
12811         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
12812         test.
12813
12814 2006-07-27  Bruno Haible  <bruno@clisp.org>
12815
12816         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
12817         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
12818         defined.
12819
12820 2006-07-26  Eric Blake  <ebb9@byu.net>
12821
12822         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
12823
12824 2006-07-26  Eric Blake  <ebb9@byu.net>
12825
12826         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
12827         like mingw that lack mkstemp.
12828         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
12829         avoid compilation warning on mingw.
12830
12831 2006-07-26  Bruno Haible  <bruno@clisp.org>
12832
12833         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
12834         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
12835         INT_FAST*_MIN, INTPTR_MIN.
12836
12837 2006-07-25  Bruno Haible  <bruno@clisp.org>
12838
12839         * modules/version-etc (Depends-on): Add stdarg.
12840
12841 2006-07-25  Bruno Haible  <bruno@clisp.org>
12842
12843         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
12844         complex commands.
12845
12846 2006-07-25  Bruno Haible  <bruno@clisp.org>
12847
12848         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
12849         defined in <stdarg.h> or config.h.
12850
12851 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12852
12853         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
12854         (gl_STDIO_SAFER): Remove.
12855
12856 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12857
12858         * MODULES.html.sh (File stream based Input/Output):
12859         Add fopen-safer, tmpfile-safer; remove stdio-safer.
12860         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
12861         * modules/fopen-safer, modules/tmpfile-safer: New files.
12862         * modules/stdio-safer: Remove.
12863
12864 2006-07-24  Bruno Haible  <bruno@clisp.org>
12865
12866         * modules/tmpdir: New file.
12867         * MODULES.html.sh (File system functions): Add it.
12868
12869 2006-07-24  Bruno Haible  <bruno@clisp.org>
12870
12871         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
12872         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
12873
12874 2006-07-24  Bruno Haible  <bruno@clisp.org>
12875
12876         * modules/clean-temp: New file.
12877
12878 2006-07-24  Bruno Haible  <bruno@clisp.org>
12879
12880         * m4/tmpdir.m4: New file, from GNU gettext.
12881
12882 2006-07-24  Bruno Haible  <bruno@clisp.org>
12883
12884         * lib/tmpdir.h: New file, from GNU gettext.
12885         * lib/tmpdir.c: New file, from GNU gettext.
12886
12887 2006-07-24  Bruno Haible  <bruno@clisp.org>
12888
12889         * lib/clean-temp.h: New file, from GNU gettext.
12890         * lib/clean-temp.c: New file, from GNU gettext.
12891
12892 2006-07-23  Eric Blake  <ebb9@byu.net>
12893
12894         * modules/stdio-safer (Files): Add tmpfile-safer.c.
12895         (Depends-on): Add binary-io.
12896
12897 2006-07-23  Eric Blake  <ebb9@byu.net>
12898
12899         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
12900
12901 2006-07-23  Eric Blake  <ebb9@byu.net>
12902
12903         * lib/tmpfile-safer.c: New file.
12904         * lib/stdio-safer.h (fopen_safer): Add prototype.
12905         * lib/stdio--.h (tmpfile): Make safer.
12906
12907 2006-07-23  Bruno Haible  <bruno@clisp.org>
12908
12909         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
12910         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
12911         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
12912         gl_linked_remove_at): Use it.
12913
12914 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12915         and Simon Josefsson <jas@extundo.com>
12916
12917         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
12918
12919         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
12920
12921 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12922
12923         * modules/close-stream: New file.
12924         * modules/closeout (Description): Make it clear that it exits
12925         with a diagnostic on error.
12926         (Depends-on): Add close-stream.  Remove fpending, stdbool.
12927         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
12928
12929 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12930
12931         * m4/close-stream.m4: New file.
12932
12933 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12934
12935         * lib/close-stream.c, lib/close-stream.h: New files.
12936
12937 2006-07-22  Bruno Haible  <bruno@clisp.org>
12938
12939         Merge from GNU gettext 0.15.
12940
12941         2006-05-01  Bruno Haible  <bruno@clisp.org>
12942
12943                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
12944
12945         2006-07-22  Bruno Haible  <bruno@clisp.org>
12946
12947                 * modules/javaversion: New file.
12948                 * MODULES.html.sh (Java): Add javaversion.
12949
12950         2006-03-12  Bruno Haible  <bruno@clisp.org>
12951
12952                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
12953
12954         2005-12-04  Bruno Haible  <bruno@clisp.org>
12955
12956                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
12957                 (untested).
12958
12959         2006-06-21  Bruno Haible  <bruno@clisp.org>
12960
12961                 Avoid warnings from recent versions of mcs.
12962                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
12963                 -o, -L, -r any more. Use options documented since mcs-1.0
12964                 instead. Similarly for -g.
12965
12966         2005-12-04  Bruno Haible  <bruno@clisp.org>
12967
12968                 * build-aux/csharpcomp.sh.in: Suffix for resources is
12969                 .resources, not .resource.
12970
12971         2005-07-09  Bruno Haible  <bruno@clisp.org>
12972
12973                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
12974                 add a .dll suffix.
12975                 Reported by Mark Junker <mjscod@gmx.de>.
12976
12977         2006-07-22  Bruno Haible  <bruno@clisp.org>
12978
12979                 * modules/gettext: Upgrade to gettext-0.15.
12980                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
12981                 m4/visibility.m4.
12982                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
12983
12984 2006-07-22  Bruno Haible  <bruno@clisp.org>
12985
12986         Merge from GNU gettext 0.15.
12987
12988         2006-03-25  Bruno Haible  <bruno@clisp.org>
12989
12990                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
12991
12992         2006-07-21  Bruno Haible  <bruno@clisp.org>
12993
12994                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
12995                 "1.1".
12996
12997         2006-05-09  Bruno Haible  <bruno@clisp.org>
12998
12999                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
13000                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
13001                 for the conftestver execution.
13002
13003         2006-05-01  Bruno Haible  <bruno@clisp.org>
13004
13005                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
13006                 optional target-version argument. Verify that the compiler
13007                 groks source of the specified source-version, or add -source
13008                 option as necessary. Verify that the compiler produces
13009                 bytecode in the specified target-version, or add -target and
13010                 -source options as necessary. Make the result of the test
13011                 available as variable CONF_JAVAC. Also log error output in
13012                 config.log.
13013
13014         2006-03-11  Bruno Haible  <bruno@clisp.org>
13015
13016                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
13017
13018         2006-05-09  Bruno Haible  <bruno@clisp.org>
13019
13020                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
13021                 CLASSPATH_SEPARATOR to a semicolon.
13022
13023         2006-03-12  Bruno Haible  <bruno@clisp.org>
13024
13025                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
13026                 available as variable CONF_JAVA, for subsequent autoconf
13027                 tests. Also log error output in config.log.
13028
13029         2006-07-19  Bruno Haible  <bruno@clisp.org>
13030
13031                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
13032                 that getline works on glibc2 systems. Needed to avoid trouble
13033                 in relocatable.c.
13034                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
13035
13036         2005-12-04  Bruno Haible  <bruno@clisp.org>
13037
13038                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
13039                 launcher (untested).
13040
13041         2005-12-04  Bruno Haible  <bruno@clisp.org>
13042
13043                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
13044
13045         2006-07-22  Bruno Haible  <bruno@clisp.org>
13046
13047                 * gettext.m4: Update from GNU gettext-0.15.
13048                 * nls.m4: Likewise.
13049                 * po.m4: Likewise.
13050                 * inttypes-pri.m4: Likewise.
13051                 * inttypes-h.m4: Renamed from inttypes.m4.
13052                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
13053
13054 2006-07-22  Bruno Haible  <bruno@clisp.org>
13055
13056         Merge from GNU gettext 0.15.
13057
13058         2005-07-05  Bruno Haible  <bruno@clisp.org>
13059
13060                 * printf-args.c (printf_fetchargs): Work around broken
13061                 definition of wint_t on mingw.
13062
13063         2005-02-12  Bruno Haible  <bruno@clisp.org>
13064
13065                 * xallocsa.h: Add extern "C" for C++.
13066
13067         2006-05-17  Bruno Haible  <bruno@clisp.org>
13068
13069                 Cygwin portability.
13070                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
13071
13072         2006-04-30  Bruno Haible  <bruno@clisp.org>
13073
13074                 * progreloc.c: Include <mach-o/dyld.h> if available.
13075                 (find_executable): Use _NSGetExecutablePath when possible.
13076
13077         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
13078
13079                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
13080                 function.
13081
13082         2005-12-29  Bruno Haible  <bruno@clisp.org>
13083
13084                 * progreloc.c (set_program_name_and_installdir): Fix
13085                 compilation error.
13086
13087         2005-12-04  Bruno Haible  <bruno@clisp.org>
13088
13089                 Cygwin portability.
13090                 * progreloc.c: Include <windows.h> also on Cygwin.
13091                 (find_executable): Add support for Cygwin.
13092                 (set_program_name_and_installdir): Handle also platforms with
13093                 nonempty EXEEXT.
13094
13095         2006-07-11  Bruno Haible  <bruno@clisp.org>
13096
13097                 * javacomp.c: Fix a comment.
13098                 Reported by Jim Meyering.
13099
13100         2006-04-30  Bruno Haible  <bruno@clisp.org>
13101
13102                 * javacomp.h (compile_java_class): Add source_version,
13103                 target_version arguments.
13104                 * javacomp.c: Rewritten to choose only a compiler that
13105                 respects the specified source_version and target_version.
13106
13107         2006-06-27  Bruno Haible  <bruno@clisp.org>
13108
13109                 Assume correct S_ISDIR macro.
13110                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
13111
13112         2006-07-22  Bruno Haible  <bruno@clisp.org>
13113
13114                 * javaversion.h: New file, from GNU gettext.
13115                 * javaversion.c: New file, from GNU gettext.
13116                 * javaversion.java: New file, from GNU gettext.
13117                 * javaversion.class: New file, from GNU gettext.
13118
13119         2006-05-17  Bruno Haible  <bruno@clisp.org>
13120
13121                 Cygwin portability.
13122                 * javaexec.c (execute_java_class): Test for jview program
13123                 also on Cygwin.
13124
13125         2006-04-09  Bruno Haible  <bruno@clisp.org>
13126
13127                 * fatal-signal.c: Don't include string.h.
13128                 (at_fatal_signal): Use a copying loop instead of memcpy.
13129
13130         2005-12-04  Bruno Haible  <bruno@clisp.org>
13131
13132                 * csharpexec.c: Add support for 'clix' launcher (untested).
13133                 (execute_csharp_using_sscli): New function.
13134                 (execute_csharp_program): Call it.
13135
13136         2006-06-21  Bruno Haible  <bruno@clisp.org>
13137
13138                 Avoid warnings from recent versions of mcs.
13139                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
13140                 -o, -L, -r any more. Use options documented since mcs-1.0
13141                 instead. Similarly for -g.
13142
13143         2005-07-09  Bruno Haible  <bruno@clisp.org>
13144
13145                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
13146                 add a .dll suffix.
13147                 Reported by Mark Junker <mjscod@gmx.de>.
13148
13149         2006-06-17  Bruno Haible  <bruno@clisp.org>
13150
13151                 * config.charset: Update for NetBSD 3.0.
13152
13153         2006-05-17  Bruno Haible  <bruno@clisp.org>
13154
13155                 Cygwin portability.
13156                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
13157
13158         2006-05-16  Bruno Haible  <bruno@clisp.org>
13159
13160                 * localcharset.c [CYGWIN]: Include <windows.h>.
13161                 (get_charset_aliases): For Cygwin, return the same CPxxx
13162                 aliases list as under WIN32.
13163                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
13164                 the environment variables. Fall back to GetACP().
13165
13166         2006-04-05  Bruno Haible  <bruno@clisp.org>
13167
13168                 * config.charset: Update Juan Manuel Guerrero's address.
13169
13170         2005-02-12  Bruno Haible  <bruno@clisp.org>
13171
13172                 * allocsa.h: Add extern "C" for C++.
13173
13174         2005-02-10  Bruno Haible  <bruno@clisp.org>
13175
13176                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
13177                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
13178
13179         2006-07-22  Bruno Haible  <bruno@clisp.org>
13180
13181                 * gettext.h: Update to GNU gettext-0.15.
13182
13183 2006-07-22  Bruno Haible  <bruno@clisp.org>
13184
13185         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
13186         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
13187         lib-prefix.m4, longdouble.m4, ssize_t.m4.
13188
13189 2006-07-21  Eric Blake  <ebb9@byu.net>
13190
13191         * modules/stdlib-safer: New file.
13192         * MODULES.html.sh (File stream based Input/Output): Add
13193         stdlib-safer.
13194
13195 2006-07-21  Eric Blake  <ebb9@byu.net>
13196
13197         * lib/stdlib-safer.h: New file from coreutils, required by
13198         stdlib--.h.
13199
13200 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
13201
13202         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
13203
13204 2006-07-20  Bruno Haible  <bruno@clisp.org>
13205
13206         * gnulib-tool: Recognize new option --assume-autoconf.
13207         (autoconf_minversion): New variable.
13208         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
13209
13210 2006-07-20  Bruno Haible  <bruno@clisp.org>
13211
13212         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
13213
13214 2006-07-19  Derek R. Price  <derek@ximbiot.com>
13215
13216         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
13217         Reindent and repaginate.
13218
13219 2006-07-19  Derek Price  <derek@ximbiot.com>
13220
13221         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
13222         Correct grammar.
13223
13224 2006-07-17  Bruno Haible  <bruno@clisp.org>
13225
13226         * modules/list: New file.
13227         * modules/array-list: New file.
13228         * modules/carray-list, modules/carray-list-tests: New files.
13229         * modules/linked-list, modules/linked-list-tests: New files.
13230         * modules/avltree-list, modules/avltree-list-tests: New files.
13231         * modules/rbtree-list, modules/rbtree-list-tests: New files.
13232         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
13233         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
13234         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
13235         * modules/oset: New file.
13236         * modules/array-oset: New file.
13237         * modules/avltree-oset, modules/avltree-oset-tests: New files.
13238         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
13239         * tests/test-carray_list.c: New file.
13240         * tests/test-linked_list.c: New file.
13241         * tests/test-avltree_list.c: New file.
13242         * tests/test-rbtree_list.c: New file.
13243         * tests/test-linkedhash_list.c: New file.
13244         * tests/test-avltreehash_list.c: New file.
13245         * tests/test-rbtreehash_list.c: New file.
13246         * tests/test-avltree_oset.c: New file.
13247         * tests/test-rbtree_oset.c: New file.
13248         * MODULES.html.sh (Container data structures): New section.
13249
13250 2006-07-17  Bruno Haible  <bruno@clisp.org>
13251
13252         * m4/gl_list.m4: New file.
13253
13254 2006-07-17  Bruno Haible  <bruno@clisp.org>
13255
13256         * lib/gl_list.h: New file.
13257         * lib/gl_list.c: New file.
13258         * lib/gl_array_list.h: New file.
13259         * lib/gl_array_list.c: New file.
13260         * lib/gl_carray_list.h: New file.
13261         * lib/gl_carray_list.c: New file.
13262         * lib/gl_linked_list.h: New file.
13263         * lib/gl_linked_list.c: New file.
13264         * lib/gl_anylinked_list1.h: New file.
13265         * lib/gl_anylinked_list2.h: New file.
13266         * lib/gl_avltree_list.h: New file.
13267         * lib/gl_avltree_list.c: New file.
13268         * lib/gl_anyavltree_list1.h: New file.
13269         * lib/gl_anyavltree_list2.h: New file.
13270         * lib/gl_rbtree_list.h: New file.
13271         * lib/gl_rbtree_list.c: New file.
13272         * lib/gl_anyrbtree_list1.h: New file.
13273         * lib/gl_anyrbtree_list2.h: New file.
13274         * lib/gl_anytree_list1.h: New file.
13275         * lib/gl_anytree_list2.h: New file.
13276         * lib/gl_linkedhash_list.h: New file.
13277         * lib/gl_linkedhash_list.c: New file.
13278         * lib/gl_anyhash_list1.h: New file.
13279         * lib/gl_anyhash_list2.h: New file.
13280         * lib/gl_avltreehash_list.h: New file.
13281         * lib/gl_avltreehash_list.c: New file.
13282         * lib/gl_rbtreehash_list.h: New file.
13283         * lib/gl_rbtreehash_list.c: New file.
13284         * lib/gl_anytreehash_list1.h: New file.
13285         * lib/gl_anytreehash_list2.h: New file.
13286
13287         * lib/gl_oset.h: New file.
13288         * lib/gl_oset.c: New file.
13289         * lib/gl_array_oset.h: New file.
13290         * lib/gl_array_oset.c: New file.
13291         * lib/gl_avltree_oset.h: New file.
13292         * lib/gl_avltree_oset.c: New file.
13293         * lib/gl_rbtree_oset.h: New file.
13294         * lib/gl_rbtree_oset.c: New file.
13295         * lib/gl_anytree_oset.h: New file.
13296
13297 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13298
13299         * m4/mkancesdirs.m4: New file.
13300         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
13301         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
13302         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
13303         it.
13304
13305 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13306
13307         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
13308         * lib/mkancesdirs.h: New files.
13309         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
13310         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
13311         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
13312         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
13313         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
13314         callers changed.  Revamp internals significantly, by not
13315         attempting to create directories that are temporarily more
13316         permissive than the final results.  Do not attempt to use
13317         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
13318         This removes some race conditions, fixes some bugs, and simplifies
13319         things.  Use new dirchownmod function to do owner and mode changes.
13320         * lib/mkdir-p.h: Likewise.
13321         * lib/modechange.c (octal_to_mode): New function.
13322         (struct mode_change): New member mentioned.
13323         (make_node_op_equals): New arg mentioned.  All callers changed.
13324         (mode_compile): Keep track of which mode bits the user has explicitly
13325         mentioned.
13326         (mode_adjust): New arg DIR, so that we implement the X op correctly.
13327         New arg PMODE_BITS, to keep track of which mode bits the user
13328         mentioned; it treats S_ISUID and S_ISGID speciall.
13329         All callers changed.
13330         * lib/modechange.h: Likewise.
13331
13332 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13333
13334         * MODULES.html.sh: Add mkancestors.
13335         * modules/mkancesdirs: New module.
13336         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
13337         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
13338         The chdir-safer and afs files are now orphans; I'll remove them
13339         unless someone speaks up.
13340         Add lib/dirchownmod.c, lib/dirchownmod.h.
13341         (Depends-on): Remove alloca, chown, save-cwd, dirname.
13342         Add lchown, mkancesdirs.
13343         (Maintainer): Add self.
13344
13345 2006-07-15  Karl Berry  <karl@gnu.org>
13346
13347         * gnulib-tool: help message wording/arrangement.
13348
13349 2006-07-14  Simon Josefsson  <jas@extundo.com>
13350
13351         * doc/gnulib.texi (Libtool and Windows): New section.
13352
13353 2006-07-12  Simon Josefsson  <jas@extundo.com>
13354
13355         * modules/gendocs (License): Fix license, approved by Karl.
13356
13357 2006-07-12  Eric Blake  <ebb9@byu.net>
13358
13359         * MODULES.html.sh: Add gendocs.
13360
13361 2006-07-11  Eric Blake  <ebb9@byu.net>
13362
13363         * modules/fdl: New module, to install doc/fdl.texi.
13364         * MODULES.html.sh: Add new section for documentation modules.
13365         * gnulib-tool: Avoid space-tab.
13366         (--doc-base): New option, to manage files from doc.
13367
13368 2006-07-11  Eric Blake  <ebb9@byu.net>
13369
13370         * m4/absolute-header.m4: Fix comments to match recent change.
13371
13372 2006-07-11  Eric Blake  <ebb9@byu.net>
13373
13374         * gnulib-tool: List --doc-base before --tests-base.
13375
13376 2006-07-11  Derek R. Price  <derek@ximbiot.com>
13377
13378         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
13379
13380 2006-07-11  Bruno Haible  <bruno@clisp.org>
13381
13382         * README: Mention where to put documentation.
13383
13384 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13385
13386         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
13387
13388 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
13389
13390         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
13391         to stdint.m4.
13392
13393 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
13394
13395         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
13396         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
13397         "no/such/file/stdint.h" when there is no such file, so that
13398         the resulting C code can be parsed by dodgy compilers.
13399         Problems reported by Bob Proulx.
13400
13401 2006-07-10  Derek R. Price  <derek@ximbiot.com>
13402
13403         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
13404         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
13405         macros into the GNU _D_EXACT_NAMLEN.
13406         * lib/savedir.c:  Likewise.
13407         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
13408
13409 2006-07-10  Derek R. Price  <derek@ximbiot.com>
13410         and Paul Eggert  <eggert@cs.ucla.edu>
13411
13412         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
13413         * m4/savedir.m4:
13414         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
13415         macros into the GNU _D_EXACT_NAMLEN.
13416
13417 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13418
13419         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
13420         around the absolute name, to work around a problem with the HP-UX
13421         11.23 native C compiler, reported by Bob Proulx.
13422
13423 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13424
13425         * doc/maintain.texi, make-stds.texi: Sync from
13426         <http://savannah.gnu.org/projects/gnustandards>.
13427
13428 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13429
13430         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
13431
13432 2006-07-09  Jim Meyering  <jim@meyering.net>
13433
13434         * m4/glob.m4: Remove a doubled word in a comment.
13435
13436 2006-07-09  Jim Meyering  <jim@meyering.net>
13437
13438         * lib/argp-pv.c: Remove a doubled word in a comment.
13439         * lib/check-version.c (check_version): Likewise.
13440         * lib/javacomp.c (compile_java_class): Likewise.
13441
13442 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13443
13444         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
13445         for the benefit of people using Autoconf 2.60.  If you want to
13446         support older Autoconf versions you can copy m4/onceonly_2_57.m4
13447         (or m4/onceonly.m4, if pre-2.57) manually.
13448
13449 2006-07-08  Jim Meyering  <jim@meyering.net>
13450
13451         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
13452         comment.
13453         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
13454         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
13455         comment.
13456
13457 2006-07-08  Jim Meyering  <jim@meyering.net>
13458
13459         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
13460
13461 2006-07-07  Simon Josefsson  <jas@extundo.com>
13462
13463         * tests/test-crc.c: Change expected crc value, the test vector
13464         were probably computed using the old broken crc.c?
13465
13466 2006-07-06  Simon Josefsson  <jas@extundo.com>
13467
13468         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
13469         now the canonical place for the M4 file).
13470
13471         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
13472         from the sys_socket dependency now.
13473
13474         * modules/inet_pton (Files): Ditto.
13475
13476         * modules/inet_ntop (Files): Ditto.
13477
13478 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
13479
13480         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
13481         not gl_PREREQ_GETUSERSHELL.
13482
13483 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13484
13485         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
13486         with only one argument, for Autoconf 2.60.
13487         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
13488         expand to nothing, so add a shell command to avoid syntax error.
13489         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13490
13491 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13492
13493         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
13494
13495 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13496
13497         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
13498         no longer needed.  Check for isblank decl.
13499         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
13500         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
13501         of existence.
13502
13503 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13504
13505         * lib/getloadavg.c: Use __VMS, not VMS.
13506         * lib/getopt.c: Likewise.
13507         * lib/getpagesize.h: Likewise.
13508         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
13509         and probably does not work.
13510
13511 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13512
13513         * lib/.cppi-disable: Add wcwidth.
13514         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
13515         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
13516         (ISGRAPH): Remove.  All uses changed to isgraph.
13517         (FOLD) [!defined _LIBC]: Remove special case.
13518         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
13519         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
13520         HAVE_ISBLANK.
13521         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
13522         case.
13523
13524 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
13525
13526         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
13527         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
13528         brackets.  Other minor changes to suppress some compiler
13529         warnings.
13530
13531 2006-07-06  Derek R. Price  <derek@ximbiot.com>
13532         and Paul Eggert  <eggert@cs.ucla.edu>
13533
13534         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
13535         of invoking obsolescent AC_HEADER_DIRENT macro.
13536         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
13537         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
13538         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13539         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
13540         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
13541         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
13542         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
13543         * m4/readdir.m4: Remove; no longer needed.
13544
13545 2006-07-06  Derek R. Price  <derek@ximbiot.com>
13546         and Paul Eggert  <eggert@cs.ucla.edu>
13547
13548         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
13549         Don't worry about this obsolete case any more.
13550         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
13551         directories.
13552         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
13553         worry about this obsolete case any more.
13554         * lib/fts.c: Likewise.
13555         * lib/getcwd.c: Likewise.
13556         * lib/glob.h: Likewise.
13557         * lib/savedir.c: Likewise.
13558
13559 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13560
13561         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
13562         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
13563         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
13564         needed.
13565         All uses removed.
13566         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
13567         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
13568         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
13569         needed.
13570         * m4/getdate.m4 (gl_GETDATE): Likewise.
13571         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
13572         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
13573         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13574         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
13575         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
13576         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
13577         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
13578         needed.
13579
13580 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13581
13582         * lib/memcasecmp.c: Include <limits.h>.
13583         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
13584         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
13585         Don't assume isdigit succeeds only on '0' through '9'.
13586
13587 2006-07-05  Eric Blake  <ebb9@byu.net>
13588
13589         * modules/getaddrinfo (Depends-on): Add snprintf.
13590
13591 2006-07-05  Eric Blake  <ebb9@byu.net>
13592
13593         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
13594         to avoid 'header present but could not be compiled' on cygwin.
13595
13596 2006-07-05  Eric Blake  <ebb9@byu.net>
13597
13598         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
13599         missing from netdb.h.
13600         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
13601
13602 2006-07-05  Derek R. Price  <derek@ximbiot.com>
13603
13604         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
13605         no longer needed.
13606         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
13607         * m4/getdate.m4 (gl_GETDATE): Likewise.
13608         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
13609         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
13610         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13611         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
13612         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
13613
13614 2006-07-05  Derek R. Price  <derek@ximbiot.com>
13615
13616         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
13617         All uses of is_space replaced by isspace.
13618         * lib/exit.h: Don't talk about STDC_HEADERS.
13619         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
13620         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
13621         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
13622         replaced by isprint etc.
13623         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
13624         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
13625         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
13626         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
13627         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
13628         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
13629
13630 2006-07-05  Bruno Haible  <bruno@clisp.org>
13631
13632         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
13633         the function exists, before testing against AIX.
13634         Reported by Martin Lambers <marlam@marlam.de>.
13635
13636 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13637
13638         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
13639         From Mark D. Baushke.
13640
13641 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13642
13643         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
13644         to the absolute name, not just one, to bypass Sun C 5.8's
13645         "warning: #include of /usr/include/... may be non-portable".
13646
13647 2006-07-04  Eric Blake  <ebb9@byu.net>
13648
13649         * modules/dirname-tests: New test module.
13650         * tests/test-dirname.c: New file, replacing dirname.c
13651         TEST_DIRNAME section that was recently deleted.
13652
13653 2006-07-04  Bruno Haible  <bruno@clisp.org>
13654
13655         Assume ANSI C header files and <ctype.h> functions.
13656         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
13657         (mbsnwidth): Use isprint, iscntrl instead.
13658
13659 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13660
13661         Merge from coreutils.
13662         * MODULES.html.sh: Add xstrtold.
13663         * modules/xstrtold: New file.
13664         * modules/cycle-check (Files): Add lib/same-inode.h.
13665         * modules/dirname (Files): Add m4/double-slash-root.m4.
13666         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
13667         * modules/mkdir-p (Files): Add lib/same-inode.h.
13668         * modules/same (Files): Add lib/same-inode.h.
13669
13670 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13671
13672         * m4/absolute-header.m4: Renamed from full-header-path.m4.
13673         This is to keep the terminology clean; POSIX talks about
13674         "absolute pathnames", not "full pathnames", but the GNU
13675         Coding Standards say to use "path" for something else;
13676         so use "absolute" to keep both sides happy.
13677         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
13678         Set gl_absolute_header, not gl_full_header_path.
13679         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
13680         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
13681         All uses changed.
13682
13683         Merge from coreutils.
13684
13685         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13686
13687         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
13688         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
13689         want to require the building of c-strtod.o.
13690         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
13691         needs -lm directly.
13692         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
13693
13694         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
13695
13696         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
13697         --as-needed option if available.  Problem reported by Albert Chin in
13698         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
13699         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
13700         cc merely issues a bunch of annoying warnings for --as-needed
13701         (this problem was reported by Bob Proulx).  Also, try linking with
13702         -lm to detect a bug in binutils 2.16 (this problem was reported
13703         by Ralf Wildenhues).
13704
13705         2006-06-18  Jim Meyering  <jim@meyering.net>
13706
13707         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
13708         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
13709         macro.
13710         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
13711         also check for glibc-2.4's abort-inducing bug.
13712
13713         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
13714         Low-probability clean-up should be to use rmdir to get rid of
13715         the just-created directory, not unlink.
13716
13717         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
13718         configure fail, and request a bug report to inform us about it.
13719         Add a comment that, barring reports to the contrary, in 2007 we'll
13720         assume ftruncate is universally available.
13721
13722         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
13723
13724         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
13725
13726         2006-03-12  Jim Meyering  <jim@meyering.net>
13727
13728         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
13729         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
13730         * m4/same.m4 (gl_SAME): Likewise.
13731         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
13732
13733         2006-03-11  Eric Blake  <ebb9@byu.net>
13734
13735         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
13736         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
13737         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
13738         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
13739
13740 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13741
13742         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
13743         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
13744         reported by Mark D. Baushke, one in
13745         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
13746
13747         Merge from coreutils.
13748
13749         * lib/.cppi-disable: Add stdint_.h.
13750         * lib/.cvsignore: Add stdint.h.
13751
13752         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13753
13754         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
13755         both double and long double versions.
13756         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
13757         * lib/xstrtold.c: New file.
13758         * lib/xstrtod.h (xstrtold): New decl.
13759
13760         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13761
13762         * lib/filemode.c (setst): Remove.
13763         (strmode): Rewrite to avoid setst.  This makes the code shorter,
13764         (arguably) clearer, and the generated code is a bit smaller on my
13765         Debian GNU/Linux stable x86 host.
13766
13767         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
13768
13769         * lib/filemode.c: Include "filemode.h" first, to test the interface.
13770         Assume that filemode.h includes sys/types.h and sys/stat.h.
13771         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
13772         (ftypelet): Reorder to put common cases first, for efficiency.
13773         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
13774         to do 'M'.
13775         (strmode): Renamed from mode_string, and now stores 12 bytes instead
13776         of 10, for compatibility with FreeBSD.  All callers changed.
13777         (filemodestring): Now stores 12 bytes instead of 10, and sets file
13778         types that can't be deduced solely from st_mode.  First arg is now a
13779         const pointer.
13780         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
13781         (strmode): Renamed from mode_string.
13782         (filemodestring): New decl.
13783         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
13784         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
13785         needed.
13786         (S_ISPORT, S_ISWHT): New macros, if not already defined.
13787
13788         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
13789
13790         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
13791         fsusage.h now does that.  Include fsusage.h first, to test interface.
13792         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
13793         at most one method (the old code could have generated decls that
13794         didn't conform to C89, not that this was ever exercised).
13795         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
13796
13797         2006-03-19  Jim Meyering  <jim@meyering.net>
13798
13799         Work even in a chroot where d_ino values for entries in "/"
13800         don't match the stat.st_ino values for the same names.
13801         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
13802         number, iterate through all entries again, using lstat instead.
13803         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
13804         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
13805
13806         * lib/getcwd.c (__getcwd): Clarify a comment.
13807         Use memcpy in place of a call to strcpy.
13808
13809         2006-03-12  Jim Meyering  <jim@meyering.net>
13810
13811         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
13812         matches that of the current directory (which we're about to chdir ".."
13813         out of), then save the dev-ino of the parent, instead.
13814
13815         * lib/same-inode.h (SAME_INODE): New file/macro.
13816         * lib/chdir-safer.c (SAME_INODE): Remove definition.
13817         Include "same-inode.h", instead.
13818         * lib/same.c: Likewise.
13819         * lib/cycle-check.h: Include "same-inode.h".
13820         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
13821         * lib/cycle-check.c (SAME_INODE): Remove definition.
13822         * lib/root-dev-ino.h: Include "same-inode.h".
13823
13824         2006-03-11  Eric Blake  <ebb9@byu.net>
13825
13826         * lib/same.c (same_name): s/base_name/last_component/
13827         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
13828         * lib/filenamecat.c (file_name_concat): Likewise.
13829
13830         2006-03-11  Eric Blake  <ebb9@byu.net>,
13831                     Paul Eggert  <eggert@cs.ucla.edu>
13832
13833         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
13834         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
13835         drive prefix.
13836         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
13837         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
13838         (last_component): New method.
13839         * lib/dirname.c (dir_len): Determine when drive letters need a
13840         subsequent slash.  Preserve // when it is special.
13841         (dir_name): Don't append dot when drive letter is absolute.
13842         [TEST_DIRNAME]: Move into a full-blown gnulib test.
13843         * lib/basename.c (base_name): New semantics - malloc the result.
13844         Preserve // when it is special.  Preserve relative files that look
13845         like drive letters.
13846         (base_len): Preserve // when it is special.
13847         (last_component): New method, similar to old base_name semantics.
13848         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
13849         base_name.  Strip redundant slashes from ///.
13850
13851 2006-07-03  Jim Meyering  <jim@meyering.net>
13852
13853         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
13854         macro is used before the first cycle_check call.
13855
13856 2006-07-03  Eric Blake  <ebb9@byu.net>
13857
13858         * modules/dirname (Depends-on): Add xstrndup.
13859
13860 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13861
13862         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
13863         test cases, so that config.log is a bit easier to follow.
13864
13865 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13866
13867         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
13868         both are 64 bits, since this seems to be the tradition, and this
13869         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
13870         we ever run into a host that prefers long long to long in this
13871         case, we'll need another configure-time test.  Problem reported by
13872         Jim Meyering.
13873
13874 2006-07-02  Eric Blake  <ebb9@byu.net>
13875
13876         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
13877
13878 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13879
13880         * modules/inttypes (Depends-on): No longer depends on stdint.
13881         * modules/stdint (Description): Say more about assumptions.
13882         Say that the fast types might differ.  Say macros are used.
13883         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
13884         (Makefile.am): Revise list of substituted symbols to match
13885         new stdint.m4.
13886         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
13887         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
13888         * tests/test-stdint.c (verify_same_types)
13889         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
13890         the code conforms to C99/C89.
13891         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
13892         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
13893
13894 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13895
13896         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
13897         but fix a bug, by requiring at least 64 bits.
13898         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
13899         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
13900         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
13901         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
13902
13903         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
13904         changes.  Make 2.59 a prerequisite.  Check and substitute for
13905         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
13906         inttypes.h.  Do not use special include files; just use the
13907         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
13908         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
13909         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
13910         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
13911         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
13912         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
13913         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
13914         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
13915         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
13916         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
13917         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
13918         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
13919         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
13920         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
13921         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
13922         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
13923         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
13924         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
13925         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
13926         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
13927         WINT_MAX.  Check for C99 conformance more strictly, by detecting
13928         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
13929         not check for things that C99 does not require, e.g., int8_t.  If
13930         a test isn't needed unless <stdint.h> isn't working, and is
13931         unlikely to be needed for any other reason, then don't do it
13932         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
13933         size_t, since we assume C89 freestanding at least.  Do not check
13934         for sig_atomic_t, wchar_t, or wint_t, since the code now does
13935         the right thing even if the types are not defined.  Instead use:
13936         (gl_STDINT_TYPE_PROPERTIES): New macro.
13937         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
13938         testing whether <sys/types.h> clashes, as Autoconf does this for
13939         us now.  All uses removed.
13940         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
13941         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
13942         (gl_CHECK_TYPE_SAME):
13943         Remove; no longer needed.
13944         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
13945         exists, since we'll return 0 anyway in that case.
13946         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
13947
13948 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13949
13950         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
13951         possible collision with system files.
13952         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
13953         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
13954         WCHAR_MIN and WCHAR_MAX in this case.
13955         (<stddef.h>): Do not include; no longer needed.
13956         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
13957         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
13958         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
13959         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
13960         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
13961         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
13962         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
13963         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
13964         !defined(__c99))]: Include in this case too, since it's harmless
13965         now.
13966         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
13967         dangerous to do so.
13968         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
13969         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
13970         (_STDINT_MIN, _STDINT_MAX): New macros.
13971         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
13972         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
13973         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
13974         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
13975         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
13976         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
13977         macros, not typedefs; this simplifies things quite a bit.
13978         Use long int for all types narrower than int64_t.
13979         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
13980         Define in terms of long long int or int64_t or long int,
13981         not int64_t or int32_t.  This saves some compile-time testing.
13982         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
13983         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
13984         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
13985         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
13986         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
13987         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
13988         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
13989         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
13990         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
13991         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
13992         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
13993         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
13994         undef any previous version and define our own version, for
13995         simplicity and consistency with the new macros for types.
13996         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
13997         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
13998         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
13999         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
14000         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
14001         @WINT_T_SUFFIX@ to keep things simple here.
14002         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
14003         Simplify by assuming typical 8/16/32/64 host, since we're
14004         already doing that elsewhere anyway.
14005         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
14006         and assume long long int is 64 bits if available.  This
14007         speeds up 'configure'.
14008
14009 2006-07-01  Eric Blake  <ebb9@byu.net>
14010
14011         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
14012         Reported by Andreas Buening.
14013
14014 2006-07-01  Eric Blake  <ebb9@byu.net>
14015
14016         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
14017
14018 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
14019
14020         * lib/getaddrinfo.c: fixed typo
14021
14022 2006-06-29  Jim Meyering  <jim@meyering.net>
14023
14024         * modules/strftime (Maintainer): Add my name, since with the
14025         FPRINTFTIME changes strftime.c has forked from glibc.
14026
14027 2006-06-29  Eric Blake  <ebb9@byu.net>
14028
14029         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
14030
14031 2006-06-29  Eric Blake  <ebb9@byu.net>
14032
14033         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
14034
14035 2006-06-29  Eric Blake  <ebb9@byu.net>
14036
14037         * lib/stat_.h: New file.
14038
14039 2006-06-29  Eric Blake  <ebb9@byu.net>
14040
14041         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
14042         unused static function.
14043
14044 2006-06-29  Eric Blake  <ebb9@byu.net>
14045
14046         * doc/functions.texi (Function Portability): Document missing lstat
14047         on mingw.
14048
14049 2006-06-29  Eric Blake  <ebb9@byu.net>
14050
14051         * MODULES.html.sh: Add sys_stat.
14052         * modules/sys_stat: New module.
14053         * modules/mkstemp (Depends-on): Add sys_stat.
14054
14055 2006-06-29  Derek R. Price  <derek@ximbiot.com>
14056
14057         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
14058
14059 2006-06-29  Derek R. Price  <derek@ximbiot.com>
14060
14061         * m4/c-bs-a.m4: Removed.
14062
14063 2006-06-29  Derek R. Price  <derek@ximbiot.com>
14064
14065         * lib/strftime.c: Assume strftime() exists.
14066
14067 2006-06-29  Derek Price  <derek@ximbiot.com>
14068
14069         * modules/c-bs-a: Removed - \a is C89.
14070         * MODULES.html.sh: Remove c-bs-a.
14071
14072 2006-06-29  Bruno Haible  <bruno@clisp.org>
14073
14074         * modules/wcwidth (License): Change to LGPL.
14075
14076 2006-06-28  Simon Josefsson  <jas@extundo.com>
14077
14078         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
14079         on _WIN32.
14080
14081         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
14082         getnameinfo.
14083
14084 2006-06-28  Simon Josefsson  <jas@extundo.com>
14085
14086         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
14087
14088 2006-06-28  Simon Josefsson  <jas@extundo.com>
14089
14090         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
14091         functions there.  It will succeed on Windows XP, but on Windows
14092         2000 and (presumably) earlier, it will fail, and use the internal
14093         re-implementation.
14094         (use_win32_p): New function.
14095         (getaddrinfo): Use strtoul on servname, to support numeric ports.
14096         Support AI_NUMERICSERV to disable getservbyname.
14097         (getnameinfo): New function, only supports
14098         NI_NUMERICHOST|NI_NUMERICSERV for now.
14099
14100         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
14101         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
14102         getnameinfo.
14103
14104 2006-06-28  Eric Blake  <ebb9@byu.net>
14105
14106         * modules/wcwidth: New file.
14107         * modules/mbchar (Depends-on): Add wcwidth.
14108         * modules/mbswidth (Depends-on): Add wcwidth.
14109         * MODULES.html.sh: Add wcwidth.
14110
14111 2006-06-28  Eric Blake  <ebb9@byu.net>
14112
14113         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
14114         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
14115
14116 2006-06-28  Eric Blake  <ebb9@byu.net>
14117
14118         * lib/xvasprintf.h: Fix comments.
14119
14120 2006-06-28  Eric Blake  <ebb9@byu.net>
14121
14122         * lib/mbchar.h (wcwidth): Include wcwidth.h.
14123         * lib/mbswidth.c (wcwidth): Move from here...
14124         * lib/wcwidth.h: ...to this new file.
14125
14126 2006-06-28  Derek R. Price  <derek@ximbiot.com>
14127
14128         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
14129
14130         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
14131         it's obsolete.
14132         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
14133
14134 2006-06-28  Derek R. Price  <derek@ximbiot.com>
14135
14136         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
14137         Autoconf 2.60 says this stuff was obsolete.
14138
14139 2006-06-28  Bruno Haible  <bruno@clisp.org>
14140
14141         * modules/wcwidth (Files): Add m4/wchar_t.m4.
14142
14143 2006-06-28  Bruno Haible  <bruno@clisp.org>
14144
14145         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
14146         gt_TYPE_WCHAR_T.
14147
14148 2006-06-28  Bruno Haible  <bruno@clisp.org>
14149
14150         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
14151         declaration for wcwidth.
14152         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
14153
14154 2006-06-28  Bruno Haible  <bruno@clisp.org>
14155
14156         * lib/mkdtemp.c [MINGW]: Include <io.h>.
14157         (mkdir): Define using _mkdir.
14158
14159 2006-06-28  Bruno Haible  <bruno@clisp.org>
14160
14161         * lib/getaddrinfo.h: Fix POSIX URL.
14162         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
14163         _WIN32.
14164         (use_win32_p): Make static.
14165         (getaddrinfo): Reject service name if it is empty or does not consist
14166         solely of decimal digits, or if its value is > 65535.
14167         (getnameinfo): Remove useless casts.
14168
14169 2006-06-27  Simon Josefsson  <jas@extundo.com>
14170
14171         * modules/sys_select: New file, suggested by Bruno Haible, Paul
14172         Eggert and Martin Lambers.
14173
14174 2006-06-27  Simon Josefsson  <jas@extundo.com>
14175
14176         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
14177         Eggert and Martin Lambers.
14178
14179 2006-06-27  Bruno Haible  <bruno@clisp.org>
14180
14181         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
14182         result to 0, not to empty.
14183         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
14184
14185 2006-06-27  Bruno Haible  <bruno@clisp.org>
14186
14187         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
14188
14189 2006-06-26  Simon Josefsson  <jas@extundo.com>
14190
14191         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
14192         present.
14193
14194 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
14195
14196         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
14197         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
14198         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
14199
14200 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
14201
14202         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
14203
14204 2006-06-26  Bruno Haible  <bruno@clisp.org>
14205
14206         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
14207
14208 2006-06-26  Bruno Haible  <bruno@clisp.org>
14209
14210         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
14211
14212 2006-06-26  Bruno Haible  <bruno@clisp.org>
14213
14214         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
14215         SGI C compiler in pre-C99 mode.
14216         Suggested by Mark D. Baushke and Larry Jones.
14217
14218 2006-06-26  Bruno Haible  <bruno@clisp.org>
14219
14220         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
14221         WCHAR_MAX.
14222         Reported by Mark D. Baushke and Larry Jones.
14223
14224 2006-06-26  Bruno Haible  <bruno@clisp.org>
14225
14226         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
14227         in pre-C99 mode.
14228         Suggested by Mark D. Baushke and Larry Jones.
14229
14230 2006-06-23  Simon Josefsson  <jas@extundo.com>
14231             Bruno Haible  <bruno@clisp.org>
14232
14233         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
14234         Emit mostlyclean-local rule.
14235         (func_emit_tests_Makefile_am): Likewise.
14236         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
14237
14238 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
14239
14240         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
14241
14242 2006-06-23  Bruno Haible  <bruno@clisp.org>
14243
14244         * tests/test-stdint.c: Update to match ISO C 99 Technical
14245         Corrigendum 1.
14246
14247 2006-06-23  Bruno Haible  <bruno@clisp.org>
14248
14249         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
14250
14251 2006-06-23  Bruno Haible  <bruno@clisp.org>
14252
14253         * lib/stdint_.h: Treat IRIX like OpenBSD.
14254
14255 2006-06-23  Bruno Haible  <bruno@clisp.org>
14256
14257         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
14258         ISO C 99 Technical Corrigendum 1.
14259
14260 2006-06-22  Simon Josefsson  <jas@extundo.com>
14261
14262         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
14263         MinGW.
14264
14265 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14266
14267         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
14268         needed.  Some compiler complained about some of them.  Problem reported
14269         by Larry Jones in
14270         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
14271
14272 2006-06-21  Simon Josefsson  <jas@extundo.com>
14273
14274         * tests/test-getaddrinfo.c: New file.
14275
14276         * modules/getaddrinfo-tests: New file.
14277
14278         * MODULES.html.sh: Add inet_pton.
14279
14280         * modules/inet_pton: New file.
14281
14282 2006-06-21  Simon Josefsson  <jas@extundo.com>
14283
14284         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
14285         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
14286         of using the (limited) gnulib implementation on Windows XP.
14287
14288         * m4/inet_pton.m4: New file.
14289
14290 2006-06-21  Simon Josefsson  <jas@extundo.com>
14291
14292         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
14293         variable.
14294
14295         * lib/socket_.h: Don't define WINVER.
14296
14297         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
14298         slightly modified to work in gnulib.
14299
14300 2006-06-21  Simon Josefsson  <jas@extundo.com>
14301
14302         * doc/gnulib.texi (Windows sockets): Add.
14303
14304 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
14305
14306         * lib/read-file.c (fread_file): Start with buffer allocation of
14307         0 bytes rather than 1 byte; this simplifies the code.
14308         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
14309         code to free buffer and save/restore errno.
14310         (internal_read_file): Remove unused local.
14311
14312 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
14313
14314         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
14315         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
14316         Problem reported by Denis Excoffier in
14317         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
14318
14319 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14320
14321         * modules/sys_socket, modules/socklen: Include sys/types since
14322         FreeBSD 4.x's sys/socket.h needs it.
14323
14324 2006-06-19  Simon Josefsson  <jas@extundo.com>
14325
14326         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
14327
14328 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
14329
14330         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
14331
14332 2006-06-19  Bruno Haible  <bruno@clisp.org>
14333
14334         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
14335         and FULL_PATH_INTTYPES_H in angle brackets.
14336         Reported by Mark D. Baushke <mdb@gnu.org>.
14337
14338 2006-06-17  Eric Blake  <ebb9@byu.net>
14339
14340         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
14341         errno.
14342
14343 2006-06-17  Bruno Haible  <bruno@clisp.org>
14344
14345         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
14346         <sys/inttypes.h>.
14347
14348 2006-06-17  Bruno Haible  <bruno@clisp.org>
14349
14350         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
14351         whether errno is declared. Assume <errno.h> declares errno.
14352
14353 2006-06-17  Bruno Haible  <bruno@clisp.org>
14354
14355         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
14356
14357 2006-06-17  Bruno Haible  <bruno@clisp.org>
14358
14359         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
14360         problem on Solaris 2.5.1.
14361
14362 2006-06-16  Eric Blake  <ebb9@byu.net>
14363
14364         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
14365         * lib/unicodeio.c [!defined errno]: Likewise.
14366         * lib/strtol.c [!defined errno]: Likewise.
14367         * lib/strtod.c [!defined errno]: Likewise.
14368
14369 2006-06-15  Eric Blake  <ebb9@byu.net>
14370
14371         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
14372
14373 2006-06-15  Eric Blake  <ebb9@byu.net>
14374
14375         * config/srclist.txt (ssize_t.m4): Lose sync.
14376
14377 2006-06-15  Bruno Haible  <bruno@clisp.org>
14378
14379         * modules/stdint (Files): Include m4/full-header-path.m4,
14380         m4/size_max.m4, m4/wchar_t.m4.
14381         (Makefile.am): Many more substitutions.
14382         * modules/stdint-tests: New file.
14383         * tests/test-stdint.c: New file.
14384
14385 2006-06-15  Bruno Haible  <bruno@clisp.org>
14386
14387         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
14388         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
14389         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
14390         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
14391         gl_CHECK_TYPE_SAME): New macros.
14392
14393 2006-06-15  Bruno Haible  <bruno@clisp.org>
14394
14395         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
14396
14397 2006-06-15  Bruno Haible  <bruno@clisp.org>
14398
14399         * lib/stdint_.h: Rewritten to be fully auto-configured.
14400         Fixes bug on HP-UX/IA64.
14401
14402 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
14403
14404         * lib/getdate.y (__attribute__): Don't define if already defined.
14405         Problem reported by Larry Jones.
14406         * lib/utimens.c (__attribute__): Likewise.
14407
14408 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
14409
14410         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
14411         reported by Andreas Schwab.
14412
14413 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14414             Bruno Haible  <bruno@clisp.org>
14415
14416         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
14417         check for the declaration of strnlen and a run test that exposes the
14418         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
14419         rpl_strndup.
14420
14421 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14422             Bruno Haible  <bruno@clisp.org>
14423
14424         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
14425
14426 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14427
14428         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
14429         compile test, for Tru64 4.0D.
14430
14431 2006-05-28  Karl Berry  <karl@gnu.org>
14432
14433         * config/srclist.txt (printf-args.c): lose sync.
14434
14435 2006-05-26  Martin Lambers  <marlam@marlam.de>
14436
14437         * lib/getpass.c: Updates the test for the native W32 API, and adds
14438         missing includes, thus fixing compilation warnings.
14439
14440 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14441
14442         * lib/exclude.c (exclude_fnmatch): New function.
14443         (excluded_file_name): Call exclude_fnmatch.
14444         * lib/exclude.h (excluded_file_name): New prototype
14445
14446 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
14447
14448         * lib/tempname.c (small_open, large_open): New macros.
14449         (__open, __open64) [!_LIBC]: Remove.
14450         (__gen_tempname): Use small_open and large_open instead of __open
14451         and __open64.  This fixes a portability bug on HP-UX 11.11i
14452         reported by Simon Wing-Tang in
14453         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
14454
14455 2006-05-24  Bruno Haible  <bruno@clisp.org>
14456
14457         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
14458         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
14459         Reported by Thorsten Maerz <torte@netztorte.de> via
14460         Aaron Stone <aaron@serendipity.cx>.
14461
14462 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14463
14464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
14465         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
14466         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
14467         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
14468         not really conditional on the cache.
14469         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
14470
14471 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14472
14473         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
14474         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
14475         (my_usleep): Don't mishandle maximum value.
14476
14477 2006-05-19  Jim Meyering  <jim@meyering.net>
14478
14479         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
14480
14481 2006-05-17  Bruno Haible  <bruno@clisp.org>
14482
14483         Cygwin portability.
14484         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
14485
14486 2006-05-17  Bruno Haible  <bruno@clisp.org>
14487
14488         * lib/stdint_.h: Fix recognition of Cygwin.
14489
14490 2006-05-15  Bruno Haible  <bruno@clisp.org>
14491
14492         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
14493         on libtool patch by Ralf Wildenhues.
14494
14495 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14496
14497         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
14498         test for C99 conformance; (bool) 0.5 is an integer constant
14499         expression, but (bool) -0.5 is not.  Problem reported by Fedor
14500         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
14501
14502 2006-05-11  Simon Josefsson  <jas@extundo.com>
14503
14504         * m4/xvasprintf.m4: Fix obvious typo.
14505
14506 2006-05-11  Jim Meyering  <jim@meyering.net>
14507
14508         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
14509         James Lemley.
14510
14511 2006-05-10  Simon Josefsson  <jas@extundo.com>
14512
14513         * lib/md4.c: Typo fix, update copyright years.
14514         (K1, K2): Don't use L because it turn computations into 64-bit on
14515         64-bit platforms.
14516
14517 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
14518
14519         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
14520         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
14521         unwanted sign propagation, e.g., on hosts with 64-bit int.
14522         There still are some problems with reeelly weird theoretical hosts
14523         (e.g., 33-bit int) but it's not worth worrying about now.
14524         * lib/sha1.c (rol): Likewise.
14525         (K1, K2, K3, K4): Remove unnecessary L suffix.
14526
14527 2006-05-10  Bruno Haible  <bruno@clisp.org>
14528
14529         * lib/des.c: Cast to avoid warnings.
14530
14531 2006-05-09  Bruno Haible  <bruno@clisp.org>
14532
14533         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
14534         (Depends-on): Depend also on xsize, stdarg.
14535         (configure.ac): Add gl_XVASPRINTF.
14536
14537 2006-05-09  Bruno Haible  <bruno@clisp.org>
14538
14539         * m4/xvasprintf.m4: New file.
14540
14541 2006-05-09  Bruno Haible  <bruno@clisp.org>
14542
14543         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
14544         (EOVERFLOW): Define fallback value.
14545         (xstrcat): New function.
14546         (xvasprintf): Recognize the special case of a string concatenation.
14547
14548 2006-05-08  Eric Blake  <ebb9@byu.net>
14549
14550         * gnulib-tool (func_version): Base copyright year on CVS date.
14551         (func_emit_copyright_notice): New function.
14552         (func_emit_lib_Makefile_am): Use it.
14553         (func_emit_tests_Makefile_am): Likewise.
14554         (func_import): Likewise.
14555
14556 2006-05-08  Bruno Haible  <bruno@clisp.org>
14557
14558         * modules/stdarg: New file.
14559         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
14560
14561 2006-05-08  Bruno Haible  <bruno@clisp.org>
14562
14563         * m4/stdarg.m4: New file, from GNU gettext.
14564
14565 2006-05-08  Bruno Haible  <bruno@clisp.org>
14566
14567         * config/srclist.txt (build-aux/config.rpath): different from latest
14568         release.
14569
14570 2006-05-08  Bruno Haible  <bruno@clisp.org>
14571
14572         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
14573
14574 2006-05-05  Jim Meyering  <jim@meyering.net>
14575
14576         * m4/warning.m4: New file, derived from bison's file by the same name.
14577
14578 2006-05-03  Bruno Haible  <bruno@clisp.org>
14579
14580         * lib/stdint_.h: Shorter URL.
14581         * lib/inttypes.h: Likewise.
14582
14583 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14584
14585         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
14586
14587 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14588
14589         * lib/verify.h: Document the internals better.  Most of this change
14590         was written by Bruno Haible.
14591
14592 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14593
14594         * doc/verify.texi: New file, partly based on a proposal by
14595         Bruno Haible.
14596
14597 2006-05-02  Bruno Haible  <bruno@clisp.org>
14598
14599         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
14600         test from here...
14601         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
14602
14603 2006-04-29  Bruno Haible  <bruno@clisp.org>
14604
14605         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
14606         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
14607
14608 2006-04-29  Bruno Haible  <bruno@clisp.org>
14609
14610         * gnulib-tool: Make --update option actually work.
14611
14612 2006-04-29  Bruno Haible  <bruno@clisp.org>
14613
14614         * doc/gcd.texi: New file.
14615         * doc/gnulib.texi: Include it.
14616
14617 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14618
14619         * lib/getdate.y (get_date): When adding relative date, start with the
14620         initial time, not with the result of the first mktime call.
14621
14622 2006-04-25  Bruno Haible  <bruno@clisp.org>
14623
14624         * gnulib-tool (func_import): Output the include directives in three
14625         blocks, sorted separately.
14626         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14627
14628 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14629
14630         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
14631         to define main with arguments, for C++.  Reported by Eric Blake.
14632         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
14633         Prefer 'int main ()' to 'int main (void)', for C++.
14634         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14635         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
14636         for 'main', for C99 and C++.
14637
14638 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14639
14640         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
14641         Don't assume that exit status -1 is valid.
14642         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14643         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14644         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
14645         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
14646         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
14647         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
14648         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
14649         functions can be used without declaring them, or that you can
14650         exit with status -1.
14651         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
14652
14653 2006-04-24  Karl Berry  <karl@gnu.org>
14654
14655         * config/srclist.txt (longdouble.m4): sync lost.
14656
14657 2006-04-24  Eric Blake  <ebb9@byu.net>
14658
14659         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
14660
14661 2006-04-24  Bruno Haible  <bruno@clisp.org>
14662
14663         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
14664         poll() implementation in AIX.
14665         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14666
14667 2006-04-24  Bruno Haible  <bruno@clisp.org>
14668
14669         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
14670         assigned exactly once.
14671
14672 2006-04-23  Claudio Fontana  <claudio@gnu.org>
14673             Bruno Haible  <bruno@clisp.org>
14674
14675         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
14676         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
14677         for AM_CPPFLAGS.
14678
14679 2006-04-23  Bruno Haible  <bruno@clisp.org>
14680
14681         * modules/copy-file: Depend on unistd.
14682         * modules/execute: Likewise.
14683         * modules/fatal-signal: Likewise.
14684         * modules/findprog: Likewise.
14685         * modules/mkdtemp : Likewise.
14686         * modules/pipe: Likewise.
14687         * modules/wait-process: Likewise.
14688
14689 2006-04-23  Bruno Haible  <bruno@clisp.org>
14690
14691         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
14692         condition was already detected.
14693         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14694
14695 2006-04-23  Bruno Haible  <bruno@clisp.org>
14696
14697         * lib/copy-file.c: Include <unistd.h> unconditionally.
14698         * lib/execute.c: Likewise.
14699         * lib/fatal-signal.c: Likewise.
14700         * lib/findprog.c: Likewise.
14701         * lib/mkdtemp.c: Likewise.
14702         * lib/pipe.h: Likewise.
14703         * lib/pipe.c: Likewise.
14704         * lib/wait-process.h: Likewise.
14705
14706 2006-04-23  Bruno Haible  <bruno@clisp.org>
14707
14708         * gnulib-tool (func_usage): Fix --import description. Document
14709         --update.
14710         (func_import): Create temporary file in a temporary directory, if
14711         --dry-run is specified. Silence errors from 'grep' when there are no
14712         m4 files in $m4dir.
14713         (func_create_testdir): Silence errors from 'grep' when there are no
14714         m4 files in $m4dir.
14715         Reported by Karl Berry <karl@freefriends.org>.
14716
14717 2006-04-20  Bruno Haible  <bruno@clisp.org>
14718
14719         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
14720         one argument, so that the code will be portable to Autoconf 2.60.
14721         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
14722         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14723         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
14724
14725 2006-04-19  Derek Price  <derek@ximbiot.com>
14726             Eric Blake  <ebb9@byu.net>
14727
14728         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
14729         rather than "/full/path.h".  Update comment to match.  Shorten &
14730         generalize m4_translit call via AS_TR_CPP.
14731
14732 2006-04-19  Derek Price  <derek@ximbiot.com>
14733             Eric Blake  <ebb9@byu.net>
14734
14735         * lib/inttypes.h: Correct grammar in comment.
14736
14737 2006-04-18  Derek Price  <derek@ximbiot.com>
14738             Paul Eggert  <eggert@cs.ucla.edu>
14739
14740         * modules/inttypes: New file.
14741         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
14742
14743 2006-04-18  Derek Price  <derek@ximbiot.com>
14744             Paul Eggert  <eggert@cs.ucla.edu>
14745
14746         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
14747         New files.
14748
14749 2006-04-18  Derek Price  <derek@ximbiot.com>
14750             Paul Eggert  <eggert@cs.ucla.edu>
14751
14752         * lib/inttypes.h: New file.
14753         * lib/strtoimax.c: Assume <inttypes.h>.
14754
14755 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
14756
14757         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
14758         isn't mounted.  Problem reported by Kir Kolyshkin.
14759
14760 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
14761
14762         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
14763         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
14764         Derek R. Price.
14765         * lib/regex.h (RE_DUP_MAX): Update comment to match current
14766         implementation.
14767
14768 2006-04-12  Eric Blake  <ebb9@byu.net>
14769
14770         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
14771         is now done automatically by the corresponding Autoconf macro.
14772
14773 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
14774
14775         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
14776         time_r.h.
14777
14778 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14779
14780         Merge regex changes from libc, removing some of our
14781         POSIX-conformance changes that were rejected and redoing them in a
14782         less-intrusive way.
14783
14784         * lib/regcomp.c (re_compile_internal, init_dfa):
14785         Length arg is now size_t, not Idx.  All uses changed.
14786         (peek_token): Forward decl now says internal_function.
14787         (__re_error_msgid, __re_error_msgid_idx):
14788         Now static rather than extern with attribute_hidden.
14789         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
14790         For some reason libc prefers K&R style defns for external functions.
14791         (regerror) [!defined _LIBC]: Likewise.
14792         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
14793         (seek_collating_symbol_entry, lookup_collation_sequence_value):
14794         (build_range_exp, build_collating_symbol):
14795         Use K&R-style defn.
14796         (re_compile_fastmap): Use '\0' to memset, not 0.
14797         (utf8_sb_map): Make the calculations more obvious.
14798         (init_dfa, parse_bracket_exp, build_charclass_op):
14799         Call calloc and cast result, as glibc does.
14800         (init_word_char, fetch_token, peek_token, peek_token_bracket):
14801         (build_range_exp, build_collating_symbol):
14802         Now internal functions.
14803
14804         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
14805
14806         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
14807         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
14808         Don't depend on VMS; depend on __VMS instead, for POSIX
14809         namespace cleanness.
14810         (regoff_t): Define to ssize_t, not long int.
14811
14812         Remove the REG_ macros named below.  Instead, make the old names
14813         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
14814         __USE_GNU_REGEX.
14815         (REG_BACKSLASH_ESCAPE_IN_LISTS):
14816         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
14817         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
14818         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
14819         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
14820         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
14821         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
14822         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
14823         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
14824         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
14825         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
14826         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
14827         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
14828         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
14829         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
14830         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
14831         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
14832         (REG_NREGS):
14833         Remove.  All uses replaced by the old RE_* names.
14834         (RE_BACKSLASH_ESCAPE_IN_LISTS):
14835         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
14836         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
14837         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
14838         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
14839         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
14840         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
14841         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
14842         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
14843         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
14844         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
14845         Don't bother having these macros be independent of each others'
14846         values, since they no longer exist in the POSIX name space.
14847
14848         Rename the following member names back to their old names,
14849         unless !__USE_GNU_REGEX.  All uses changed back.
14850         (buffer): Renamed from re_buffer.
14851         (allocated): Renamed from re_allocated.
14852         (used): Renamed from re_used.
14853         (syntax): Renamed from re_syntax.
14854         (fastmap): Renamed from re_fastmap.
14855         (translate): Renamed from re_translate.
14856         (can_be_null): Renamed from re_can_be_null.
14857         (regs_allocated): Renamed from re_regs_allocated.
14858         (fastmap_accurate): Renamed from re_fastmap_accurate.
14859         (no_sub): Renamed from re_no_sub.
14860         (not_bol): Renamed from re_not_bol.
14861         (not_eol): Renamed from re_not_eol.
14862         (newline_anchor): Renamed from re_newline_anchor.
14863         (num_regs): Renamed from rm_num_regs.
14864         (start): Renamed from rm_start.
14865         (end): Renamed from rm_end.
14866
14867         (free_state): Move up a bit.
14868
14869         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
14870         #define to be empty.
14871         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
14872         when that is what is intended.
14873         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
14874         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
14875         (MAX): New macro.
14876         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
14877         All uses changed back to re_malloc, etc.  It's now the caller's
14878         responsibility to check for overflow; all callers changed.
14879         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
14880         (re_x2nrealloc): Remove.
14881         (free_state): Remove decl.
14882
14883         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
14884         (re_set_registers, re_exec):
14885         Use K&R-style defn.
14886
14887         2006-01-31  Roland McGrath  <roland@redhat.com>
14888
14889         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
14890         Reported by Mike Frysinger <vapier@gentoo.org>.
14891
14892         2006-01-15  Andreas Jaeger  <aj@suse.de>
14893
14894         [BZ #1950]
14895         * lib/regex_internal.c (re_string_reconstruct): Adjust for
14896         build_wcs_upper_buffer change.
14897         (build_wcs_upper_buffer): Change return type.
14898
14899         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
14900
14901         * lib/regex_internal.h: Include <stdint.h> if available.
14902
14903         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
14904
14905         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
14906
14907         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
14908
14909         * lib/regcomp.c: Adjust for changed secondary hash function.
14910
14911         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
14912
14913         * lib/regex.h: Pretty printing.
14914         Clean up namespace a bit.
14915
14916         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
14917
14918         * lib/regexec.c (update_cur_sifted_state, check_arrival,
14919         check_arrival_add_next_nodes): Avoid using uninitialized variable.
14920
14921         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
14922                     Ulrich Drepper  <drepper@redhat.com>
14923
14924         [BZ #1302]
14925         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
14926         changed.
14927         (bitset_word_t): Renamed from bitset_word.  All uses changed.
14928
14929         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
14930
14931         [BZ #281]
14932         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
14933         * lib/regcomp.c: Remove unnecessary uses of
14934         unsigned RE_TRANSLATE_TYPE.
14935         * lib/regex_internal.h: Likewise.
14936         * lib/regex_internal.c: Likewise.
14937         * lib/regexec.c: Likewise.
14938         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
14939
14940         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
14941
14942         * lib/regexec.c (find_recover_state): Remove unnecessary
14943         initialization.
14944         (transit_state_bkref): Make DFA a const pointer.
14945         (get_subexp): Likewise.
14946         (check_arrival): Likewise.
14947         (update_cur_sifted_state): Likewise.
14948         (re_search_internal): Likewise.
14949         (prune_impossible_nodes): Likewise.
14950         (acquire_init_state_context): Likewise.
14951         (proceed_next_node): Likewise.
14952         (set_regs): Likewise.
14953         (free_fail_stack_return): Likewise.
14954         (check_arrival_expand_ecl): Mark DFA parameter as const.
14955         (check_arrival_expand_ecl_sub): Likewise.
14956         (check_subexp_limits): Likewise.
14957         (sub_epsilon_src_nodes):  Likewise.
14958         (add_epsilon_src_nodes):  Likewise.
14959         (merge_state_array): Likewise.
14960         (update_regs): Likewise.
14961         (build_trtable): Likewise.
14962         (sift_states_backward): Mark MCTX parameter as const.
14963         (build_sifted_states): Likewise.
14964         (update_cur_sifted_state): Likewise.
14965         (sift_states_mkref): Likewise.
14966         (check_arrival_expand_ecl): Mark eclosure as const.
14967         (check_dst_limits_calc_pos_1): Likewise.
14968         * lib/regex_internal.h (re_match_context_t): Make dfa a const
14969         pointer.
14970
14971         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
14972
14973         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
14974         (transit_state_sb): Likewise.
14975         (transit_state_mb): Likewise.
14976         (sift_states_iter_mb): Likewise.
14977         (check_arrival_add_next_nodes): Likewise.
14978         (check_node_accept_bytes): Change first parameter to pointer-to-const.
14979         [_LIBC] (re_search_2_stub): Use mempcpy.
14980
14981         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
14982         mbrtowc for very simple UTF-8 case.
14983
14984         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
14985         a pointer-to-const.
14986         (re_acquire_state_context): Likewise.
14987         * lib/regex_internal.h: Adjust prototypes.
14988
14989         * lib/regex.c: Prevent using C++ compilers.
14990
14991         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
14992         (re_acquire_state_context): Likewise.
14993
14994 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14995
14996         * modules/regex (Depends-on): Add ssize_t.
14997
14998 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14999
15000         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
15001         translation table.
15002
15003 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15004
15005         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
15006
15007 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
15008             Bruno Haible  <bruno@clisp.org>
15009
15010         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
15011         <sys/types.h> and <inttypes.h>.
15012
15013 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15014
15015         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
15016         `__error_t_defined', so argp.h will not typedef the former.
15017
15018 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
15019
15020         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
15021         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
15022         glibc names.  Even if glibc is changed to conform to POSIX, the
15023         traditional names will be available anyway, since regex depends on
15024         the extensions module.  Also, fix a longstanding typo in the
15025         implementation of Spencer ERE test #75 from grep 2.3.  Problems
15026         reported by Emanuele Giaquinta.  Also, change sense of cached
15027         variable, so that the message makes sense.
15028
15029 2006-03-24  Simon Josefsson  <jas@extundo.com>
15030
15031         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
15032         including some doc fixes.
15033         (base64_encode_alloc): Fix +1 bug on allocation failures.
15034
15035 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15036
15037         * lib/base64.c (base64_encode): Do not read past end of array with
15038         unsanitized input on systems with CHAR_BIT > 8.
15039
15040 2006-03-24  Eric Blake  <ebb9@byu.net>
15041
15042         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
15043
15044 2006-03-22  Karl Berry  <karl@gnu.org>
15045
15046         * config/srclist.txt (*setenv.[ch]): get from coreutils.
15047         * config/srclistvars.sh (COREUTILS): new var.
15048
15049 2006-03-17  Jim Meyering  <jim@meyering.net>
15050
15051         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
15052         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
15053
15054 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
15055
15056         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
15057         no longer needs it.  Instead, check that regoff_t is as least
15058         as wide as ptrdiff_t.
15059
15060         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
15061         so that our regex.h stays compatible with the installed regex.
15062         This is helpful for installers who configure --without-included-regex.
15063         Problem reported by Emanuele Giaquinta.
15064
15065 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
15066
15067         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
15068         Typedef to long int, not to off_, as POSIX will likely change
15069         in that direction.
15070
15071 2006-03-15  Eric Blake  <ebb9@byu.net>
15072
15073         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
15074
15075 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
15076
15077         * lib/argp-help.c (validate_uparams): Fix typo
15078         * lib/argp-parse.c (argp_default_options): Consistently begin help
15079         messages with a lowercase letter.
15080
15081 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
15082
15083         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
15084         overrun buffers and shouldn't be used (much as gets shouldn't be
15085         used).
15086         * lib/time_r.c (asctime_r, ctime_r): Likewise.
15087
15088 2006-03-08  Simon Josefsson  <jas@extundo.com>
15089
15090         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
15091         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15092
15093 2006-03-08  Simon Josefsson  <jas@extundo.com>
15094
15095         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
15096         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15097
15098 2006-03-08  Simon Josefsson  <jas@extundo.com>
15099
15100         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
15101         signal that configure disabled the device.
15102
15103 2006-03-08  Simon Josefsson  <jas@extundo.com>
15104
15105         * build-aux/maint.mk: Fix refresh-po, to handle no translated
15106         languages.
15107
15108 2006-03-07  Simon Josefsson  <jas@extundo.com>
15109
15110         * modules/getopt (Depends-on): Add unistd.
15111
15112         * modules/unistd: New file.
15113
15114 2006-03-07  Simon Josefsson  <jas@extundo.com>
15115
15116         * modules/gc-random: New file.
15117
15118 2006-03-07  Simon Josefsson  <jas@extundo.com>
15119
15120         * m4/unistd_h.m4: New file.
15121
15122 2006-03-07  Simon Josefsson  <jas@extundo.com>
15123
15124         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
15125         test to be side-effect free by storing the result in the cache
15126         variable gl_cv_lib_readline, and moving the assignment of
15127         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
15128         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15129
15130 2006-03-07  Simon Josefsson  <jas@extundo.com>
15131
15132         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
15133         error on missing devices (the functions will return an error).
15134
15135         * m4/gc.m4: Move random stuff to gc-random.m4
15136
15137 2006-03-07  Simon Josefsson  <jas@extundo.com>
15138
15139         * lib/unistd_.h: New file.
15140
15141 2006-03-07  Simon Josefsson  <jas@extundo.com>
15142
15143         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
15144
15145 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
15146
15147         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
15148         Problem reported by Juan Manuel Guerrero.
15149
15150 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
15151
15152         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
15153         the unistd module.
15154         * lib/getlogin_r.c: Likewise.
15155         * lib/getlogin_r.h: Likewise.
15156         * lib/glob.c: Likewise.
15157         * lib/pagealign_alloc.c: Likewise.
15158         * lib/unistd_.h: Remove; no longer needed.
15159
15160 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
15161
15162         * MODULES.html.sh (Support for systems lacking POSIX:2001):
15163         Add unistd.
15164         * modules/c-stack (Depends-on): Add unistd.
15165         * modules/getlogin_r: Likewise.
15166         * modules/glob: Likewise.
15167         * modules/pagealign_alloc: Likewise.
15168         * modules/unistd (Files): Remove lib/unistd_.h.
15169         (EXTRA_DIST): Remove.
15170         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
15171         need unistd_.h.
15172         (MOSTLYCLEANFILES): Remove unistd.h-t.
15173
15174 2006-03-03  Simon Josefsson  <jas@extundo.com>
15175
15176         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
15177
15178 2006-03-03  Simon Josefsson  <jas@extundo.com>
15179
15180         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
15181         libidn and bison.
15182
15183 2006-03-03  Simon Josefsson  <jas@extundo.com>
15184
15185         * build-aux/maint.mk: Add indent target.
15186
15187 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
15188
15189         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
15190         our replacement poll.h in any case, to avoid a differing
15191         declaration from a system header.  Seen on AIX.
15192
15193 2006-03-01  Simon Josefsson  <jas@extundo.com>
15194
15195         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
15196         <kasal@ucw.cz>.
15197
15198 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15199
15200         * modules/gettime (Depends-on): Add extensions module.
15201         * modules/nanosleep (Depends-on): Likewise.
15202         * modules/settime (Depends-on): Likewise.
15203
15204 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15205
15206         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
15207         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
15208         pedantically.
15209         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15210         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
15211
15212         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
15213         not "==".  Reported by Ralf Wildenhues.
15214
15215 2006-03-01  Karl Berry  <karl@gnu.org>
15216
15217         * doc/Copyright/request-*: new files, synced from gnuorg.
15218
15219 2006-03-01  Karl Berry  <karl@gnu.org>
15220
15221         * config/srclist.txt (Copyright/*): new entries.
15222
15223 2006-02-28  Simon Josefsson  <jas@extundo.com>
15224
15225         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
15226
15227 2006-02-27  Simon Josefsson  <jas@extundo.com>
15228
15229         * lib/base64.h: Indent #define's.  From Jim Meyering
15230         <jim@meyering.net>.
15231
15232 2006-02-27  Jim Meyering  <jim@meyering.net>
15233
15234         Revert the change of 2006-02-24, so these files can continue
15235         to be sync'd from gettext.
15236         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
15237         of `config.h'.
15238
15239 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15240
15241         * modules/intprops: New file.
15242         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
15243         Add intprops.
15244         * modules/getloadavg (Files): Remove lib/intprops.h.
15245         (Depends-on): Add intprops.
15246         * modules/human: Likewise.
15247         * modules/inttostr: Likewise.
15248         * modules/openat: Likewise.
15249         * modules/sig2str: Likewise.
15250         * modules/userspec: Likewise.
15251         * modules/utimecmp: Likewise.
15252         * modules/xnanosleep: Likewise.
15253         * modules/xstrtol: Likewise.
15254
15255 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
15256
15257         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
15258         * modules/lock-tests (TESTS): Use $(EXEEXT).
15259         * modules/tls-tests: Likewise.
15260         * modules/argp-tests: Likewise.
15261         (check_PROGRAMS): New var, replacing...
15262         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
15263
15264 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15265
15266         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
15267         `config.h'.
15268
15269 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15270
15271         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
15272
15273 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15274
15275         Sync from coreutils.
15276         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
15277         gl_CHDIR_SAFER.
15278
15279 2006-02-22  Jim Meyering  <jim@meyering.net>
15280
15281         Sync from coreutils.
15282         * m4/chdir-safer.m4: New file.
15283
15284 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
15285
15286         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
15287         AT_FDCWD exceeds INT_MAX.
15288         * lib/openat.h (AT_FDCWD): Likewise.
15289
15290 2006-02-17  Eric Blake  <address@hidden>
15291
15292         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
15293
15294 2006-02-16  Simon Josefsson  <jas@extundo.com>
15295
15296         * modules/getaddrinfo (Depends-on): Add sys_socket.
15297
15298 2006-02-15  Simon Josefsson  <jas@extundo.com>
15299
15300         * build-aux/maint.mk: Add dsyntax-check rule.
15301
15302 2006-02-15  Eric Blake  <ebb9@byu.net>
15303
15304         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
15305         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
15306         'present but cannot compile' warnings on cygwin.
15307         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
15308         use ws2tcpip.h if sys/socket.h works.
15309         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
15310         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
15311
15312 2006-02-14  Simon Josefsson  <jas@extundo.com>
15313
15314         * modules/maintainer-makefile (Files): Rename.
15315
15316         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
15317         and (the local) Makefile.cfg to maint-cfg.mk.
15318
15319         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
15320         to the latter.
15321
15322         * modules/maintainer-makefile: New module.
15323
15324         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
15325         severaly stripped to make it possible to build it up from scratch
15326         with reliable tests.
15327
15328         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
15329         fixes to permit overriding the default actions when configure and
15330         makefile are not available.
15331
15332 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
15333
15334         Sync from coreutils.
15335         * modules/lstat (Depends-on): Don't depend on xalloc.
15336         (License): Change from GPL to LGPL, since this is now simply a
15337         replacement for a libc function.
15338
15339 2006-02-14  Jim Meyering  <jim@meyering.net>
15340
15341         Sync from coreutils.
15342
15343         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
15344         failure on deficient systems, and simplify gnulib lgpl dependencies.
15345         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
15346         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
15347
15348         * lib/xalloc-die.c: Remove unused definition of N_.
15349
15350 2006-02-14  Jim Meyering  <jim@meyering.net>
15351
15352         Sync from coreutils.
15353         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
15354         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
15355         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
15356         double-quote uses of that variable, to accommodate the rare case in
15357         which getmntent is available in none of the libraries checked.  This
15358         happens at least on FreeBSD 5.0.
15359
15360 2006-02-13  Simon Josefsson  <jas@extundo.com>
15361
15362         * gnulib-tool (Usage): Fix --import, from
15363         karl@freefriends.org (Karl Berry).
15364
15365 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
15366
15367         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
15368
15369 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
15370
15371         * lib/argp-namefrob.h: Restore changes accidentally lost during the
15372         "autoupdate" on 2005-12-12.
15373
15374 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
15375
15376         * modules/closeout (Depends-on): Remove atexit.
15377
15378 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
15379
15380         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
15381         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
15382
15383 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
15384
15385         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
15386         __EXTENSIONS__ if this causes compilation to fail.  Problem
15387         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
15388         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
15389
15390 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
15391
15392         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
15393         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
15394         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
15395         All uses changed.
15396
15397 2006-01-26  Simon Josefsson  <jas@extundo.com>
15398
15399         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
15400         prototype is visible on mingw32.
15401
15402         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
15403         for mingw32.
15404
15405         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
15406         mingw32).
15407
15408 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
15409
15410         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
15411         attempt to open for write; this always fails, at least on POSIX
15412         hosts.  This reinstates the 2006-01-09 change, which was
15413         inadvertently removed.
15414
15415 2006-01-26  Bruno Haible  <bruno@clisp.org>
15416
15417         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
15418         Reported by Paul Eggert.
15419
15420 2006-01-26  Bruno Haible  <bruno@clisp.org>
15421             Paul Eggert  <eggert@cs.ucla.edu>
15422
15423         * lib/stdbool_.h (_Bool)
15424         [(! (defined __cplusplus || defined __BEOS__)
15425           && !defined __GNUC__
15426           && !(defined __HP_cc || defined __xlc__
15427                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
15428                || defined __sgi))]:
15429         #define to signed char in these cases too; this simplifies
15430         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
15431         etc., separately) and makes it more conservative.
15432
15433 2006-01-25  Simon Josefsson  <jas@extundo.com>
15434
15435         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
15436         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
15437         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
15438
15439 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
15440
15441         * lib/argp-namefrob.h: Bugfix. Remove stray #
15442
15443 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
15444
15445         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
15446         so that we test the test.
15447         Check for yet another HP-UX cc bug involving *bool |= bool.
15448
15449 2006-01-25  Karl Berry  <karl@gnu.org>
15450
15451         * config/srclist.txt (vasnprintf.c): sync lost.
15452
15453 2006-01-25  Jim Meyering  <jim@meyering.net>
15454
15455         Sync from the stable (b5) branch of coreutils:
15456
15457         * lib/fts.c (fts_children): Don't let close() clobber errno from
15458         failed fchdir().
15459
15460         * lib/fts.c (fts_stat): When following a symlink-to-directory,
15461         don't necessarily interpret stat-fails+lstat-succeeds as indicating
15462         a dangling symlink.  That can also happen at least for ELOOP.
15463         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
15464         FYI, this bug predates the inclusion of fts.c in coreutils.
15465
15466         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
15467         in their own block, so pre-c99 compilers don't object.
15468
15469         Avoid the double-free (first in fts_read, second in fts_close) that
15470         would occur when an `active' directory is made inaccessible (e.g.,
15471         via chmod a-x) during a traversal.
15472         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
15473         before returning.  Reproduce this failure by
15474         mkdir -p a/b; cd a; chmod a-x . b
15475         Reported by Stavros Passas.
15476
15477 2006-01-25  Jim Meyering  <jim@meyering.net>
15478
15479         * lib/fileblocks.c: Remove more useless parentheses.
15480         * lib/readutmp.h: Likewise.
15481
15482 2006-01-25  Bruno Haible  <bruno@clisp.org>
15483
15484         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
15485         warnings.
15486         Reported by Paul Eggert.
15487
15488 2006-01-25  Bruno Haible  <bruno@clisp.org>
15489
15490         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
15491         rid of a trap command. For Solaris sh.
15492         Reported by Mark D. Baushke <mdb@gnu.org>.
15493
15494 2006-01-24  Simon Josefsson  <jas@extundo.com>
15495
15496         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
15497         Bruno.
15498
15499 2006-01-24  Karl Berry  <karl@gnu.org>
15500
15501         * config/srclist.txt (argp-namefrob.h): sync lost.
15502
15503 2006-01-24  Jim Meyering  <jim@meyering.net>
15504
15505         * modules/openat (Files): Add lib/intprops.h.
15506         From Mark D. Baushke.
15507
15508 2006-01-24  Jim Meyering  <jim@meyering.net>
15509
15510         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
15511         Reported by Mark D. Baushke.
15512
15513 2006-01-24  Jim Meyering  <jim@meyering.net>
15514
15515         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
15516
15517 2006-01-24  Bruno Haible  <bruno@clisp.org>
15518
15519         * modules/strnlen (Maintainer): Change from glibc to all.
15520
15521 2006-01-24  Bruno Haible  <bruno@clisp.org>
15522
15523         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
15524         Patch by Paul Eggert.
15525
15526 2006-01-24  Bruno Haible  <bruno@clisp.org>
15527
15528         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
15529         already has it.
15530         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
15531         2005-11-26.
15532
15533         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
15534         'signed char' to avoid problems with the built-in _Bool type.
15535         Reported by Paul Eggert on 2005-11-26.
15536
15537 2006-01-24  Bruno Haible  <bruno@clisp.org>
15538
15539         * gnulib-tool (func_import): Avoid constructing complicated sed
15540         expressions inside backquote.
15541         Report and solution by Mark D. Baushke <mdb@gnu.org>.
15542
15543 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
15544
15545         These changes imported from libc.
15546         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
15547         test and two separate function calls.
15548         * lib/strndup.c (__strndup): Add libc_hidden_def.
15549
15550 2006-01-23  Simon Josefsson  <jas@extundo.com>
15551
15552         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
15553         Remove the test_*_SOURCES variable: automake infers it by default.
15554         * modules/tls-tests: Likewise.
15555
15556 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15557
15558         Work around porting bugs reported by Dieter in
15559         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
15560         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
15561         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
15562         Include "getopt.h" first, to check interface.
15563         (getenv): Declare only if defined HAVE_DECL_GETENV &&
15564         !HAVE_DECL_GETENV.
15565         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
15566         (__strndup): Revert to K&R-style function dfns, the glibc style.
15567         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
15568         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
15569         Include strnlen.h first, to get prototype properly.
15570         (strnlen): Renamed from __strnlen.
15571         Remove weak alias.
15572
15573 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15574
15575         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
15576
15577 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15578
15579         * config/srclist.txt: Adjust to reflect glibc reorganization.
15580         This affects only comments.
15581
15582 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
15583
15584          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
15585          Reported by Bruce Korb <bkorb@gnu.org>.
15586
15587 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
15588
15589         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
15590         to pacify gcc -Wswitch-default.
15591
15592 2006-01-22  Bruno Haible  <bruno@clisp.org>
15593
15594         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
15595         temporary buffer for sprintf, take into account the precision also
15596         for 'd', 'i', 'u', 'o', 'x', 'X'.
15597
15598 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
15599
15600         * modules/argp-tests: New module
15601         * tests/test-argp.c: New file
15602         * tests/test-argp-2.sh: New file
15603
15604 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
15605
15606         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
15607         (__argp_base_name): Removed
15608         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
15609         typo.
15610         (__argp_base_name): Provide macro definition or extern declaration
15611         depending on the configuration
15612
15613 2006-01-20  Simon Josefsson  <jas@extundo.com>
15614
15615         * modules/inet_ntop (Depends-on): Depend on sys_socket.
15616
15617 2006-01-20  Simon Josefsson  <jas@extundo.com>
15618
15619         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
15620
15621 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15622
15623         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
15624         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
15625         Suggested by Bruno Haible.
15626
15627 2006-01-20  Karl Berry  <karl@gnu.org>
15628
15629         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
15630         until changes propagate, I guess.
15631
15632 2006-01-19  Simon Josefsson  <jas@extundo.com>
15633
15634         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
15635
15636 2006-01-19  Simon Josefsson  <jas@extundo.com>
15637
15638         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
15639
15640 2006-01-19  Simon Josefsson  <jas@extundo.com>
15641
15642         * gnulib-tool: Set check_PROGRAMS.
15643
15644         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
15645         modules/des-tests, modules/gc-arcfour-tests,
15646         modules/gc-arctwo-tests, modules/gc-des-tests,
15647         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
15648         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
15649         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
15650         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
15651         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
15652         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
15653         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
15654         test_*_SOURCES.
15655
15656 2006-01-18  Simon Josefsson  <jas@extundo.com>
15657
15658         * modules/socklen (Depends-on): Depend on sys_socket.
15659
15660 2006-01-18  Simon Josefsson  <jas@extundo.com>
15661
15662         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
15663         modules/des-tests, modules/gc-arcfour-tests,
15664         modules/gc-arctwo-tests, modules/gc-des-tests,
15665         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
15666         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
15667         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
15668         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
15669         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
15670         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
15671         $(EXEEXT) to automake TESTS variable, for mingw32.
15672
15673 2006-01-17  Simon Josefsson  <jas@extundo.com>
15674
15675         * modules/socklen (Include): Need sys/socket.h.
15676
15677 2006-01-17  Bruno Haible  <bruno@clisp.org>
15678
15679         * modules/ssize_t (Include): Add <sys/types.h>.
15680
15681 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
15682
15683         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
15684         it's not portable and it doesn't work with cross-compiles.
15685         Problem reported by Bruno Haible.  Fix missing-$ typo in
15686         'test "gl_cv_ignore_unused_libraries" ...' that prevented
15687         -zignore from being used with Sun's C compiler.
15688
15689 2006-01-12  Simon Josefsson  <jas@extundo.com>
15690
15691         * lib/base64.c: Fix warning, reported by Bruno Haible
15692         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
15693
15694 2006-01-12  Bruno Haible  <bruno@clisp.org>
15695
15696         * modules/ldd: New file.
15697         * build-aux/ldd.sh.in: New file.
15698         * MODULES.html.sh (Support for building libraries and executables): Add
15699         ldd.
15700
15701 2006-01-12  Bruno Haible  <bruno@clisp.org>
15702
15703         * m4/ldd.m4: New file.
15704
15705 2006-01-12  Bruno Haible  <bruno@clisp.org>
15706
15707         * gnulib-tool (func_import, func_create_testdir): Don't go into an
15708         endless loop while replacing $auxdir with build-aux.
15709
15710 2006-01-11  Simon Josefsson  <jas@extundo.com>
15711
15712         * lib/stdint_.h (SIZE_MAX): Add missing (.
15713
15714 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15715
15716         Sync from coreutils.
15717         * lib/md5.c: Fix commentary typos.
15718         (alignof, UNALIGNED_P): No need for a GCC-specific version.
15719         * lib/md5.h (__attribute__): Remove; unused.
15720         * lib/sha1.c: Fix commentary to match md5 better.
15721         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
15722         so that we don't need to worry about alignment.  All uses changed.
15723         This merges the 2005-10-28 md5 change into sha1.
15724
15725 2006-01-11  Jim Meyering  <jim@meyering.net>
15726
15727         Sync from coreutils.
15728         * lib/md5.c (OP): Fix spacing.
15729
15730 2006-01-11  Bruno Haible  <bruno@clisp.org>
15731
15732         Ensure automatic ordering between gl_LOCK and gl_ARGP.
15733         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
15734         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
15735
15736 2006-01-11  Bruno Haible  <bruno@clisp.org>
15737
15738         Ensure automatic ordering between gl_LOCK and gl_ARGP.
15739         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
15740         the "early" section as well.
15741
15742 2006-01-11  Bruno Haible  <bruno@clisp.org>
15743
15744         Avoid "ar: no archive members specified" error on MacOS X.
15745         * gnulib-tool (func_modules_add_dummy): New function.
15746         (func_import, func_create_testdir): Invoke it.
15747
15748 2006-01-11  Bruno Haible  <bruno@clisp.org>
15749
15750         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
15751         with $auxdir in AC_CONFIG_FILES statements.
15752
15753 2006-01-11  Bruno Haible  <bruno@clisp.org>
15754
15755         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15756         Initialize also noinst_HEADERS to empty.
15757
15758 2006-01-11  Bruno Haible  <bruno@clisp.org>
15759
15760         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
15761         variables.
15762         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
15763         autoreconf.
15764
15765 2006-01-11  Bruno Haible  <bruno@clisp.org>
15766
15767         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
15768         overridable by the user.
15769         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15770
15771 2006-01-10  Simon Josefsson  <jas@extundo.com>
15772
15773         * modules/sys_socket: New file.
15774
15775 2006-01-10  Simon Josefsson  <jas@extundo.com>
15776
15777         * m4/sys_socket_h.m4: New file.
15778
15779 2006-01-10  Simon Josefsson  <jas@extundo.com>
15780
15781         * lib/socket_.h: New file.
15782
15783 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15784
15785         * modules/readutmp (Maintainer): Add myself.
15786
15787 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15788
15789         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
15790         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
15791         People who are still concerned with buggy memcmp implementations
15792         can invoke gl_FUNC_MEMCMP themselves.
15793
15794 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15795
15796         * lib/regex_internal.h (BITSET_WORD_BITS):
15797         Work around a bug in 64-bit PGC (before version 6.1-2), where the
15798         preprocessor mishandles large unsigned values as if they were signed.
15799         Problem reported by Claudio Fontana in
15800         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
15801
15802 2006-01-10  Jim Meyering  <jim@meyering.net>
15803
15804         Avoid the double-free (first in fts_read, second in fts_close) that
15805         would occur when an `active' directory is made inaccessible (e.g.,
15806         via chmod a-x) during a traversal.
15807         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
15808         before returning.  Reproduce this failure by
15809         mkdir -p a/b; cd a; chmod a-x . b
15810         Reported by Stavros Passas.
15811
15812         Sync from coreutils.
15813         * lib/sha1.c: Tweak grammar in a comment.
15814
15815 2006-01-10  Jim Meyering  <jim@meyering.net>
15816
15817         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
15818         Patch by Joerg Sonnenberger.
15819
15820 2006-01-10  Bruno Haible  <bruno@clisp.org>
15821
15822         * modules/readutmp: Depend on module free.
15823         * modules/strtok_r: Depend on module restrict.
15824
15825 2006-01-10  Bruno Haible  <bruno@clisp.org>
15826
15827         * modules/gettext (configure.ac): Add an invocation of
15828         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
15829
15830 2006-01-10  Bruno Haible  <bruno@clisp.org>
15831
15832         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
15833         Reported by Werner Lemberg <wl@gnu.org>.
15834
15835 2006-01-10  Bruno Haible  <bruno@clisp.org>
15836
15837         * lib/localcharset.c: Update from GNU gettext.
15838
15839 2006-01-10  Bruno Haible  <bruno@clisp.org>
15840
15841         * lib/argp.h (__const): Remove macro. Use const instead.
15842         * lib/argp-fmtstream.h (__const): Likewise.
15843         * lib/glob_.h (__const): Remove macro.
15844         * lib/glob-libc.h: Use const instead of __const.
15845
15846 2006-01-10  Bruno Haible  <bruno@clisp.org>
15847
15848         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
15849         variable.
15850         Needed to avoid an automake error regarding the 'gettext' module.
15851
15852 2006-01-09  Simon Josefsson  <jas@extundo.com>
15853
15854         * modules/inet_ntop (Depends-on): Add restrict.
15855
15856 2006-01-09  Simon Josefsson  <jas@extundo.com>
15857
15858         * modules/gc-rijndael-tests (License): Put under LGPL.
15859
15860         * modules/gc-des-tests (License): Likewise.
15861
15862         * modules/gc-arcfour-tests (License): Likewise.
15863
15864         * modules/gc-arctwo-tests (License): Likewise.
15865
15866         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
15867
15868         * modules/gc-hmac-sha1-tests (Files): Likewise.
15869
15870         * modules/gc-hmac-md5-tests (License): Likewise.
15871
15872         * modules/gc-sha1-tests (License): Likewise.
15873
15874         * modules/gc-md5-tests (License): Likewise.
15875
15876         * modules/gc-md4-tests (License): Likewise.
15877
15878         * modules/gc-md2-tests (License): Likewise.
15879
15880         * modules/gc-tests (License): Likewise.
15881
15882         * modules/des-tests (License): Likewise.
15883
15884         * modules/md4-tests (License): Likewise.
15885
15886         * modules/md2-tests (License): Likewise.
15887
15888 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15889
15890         Sync from coreutils:
15891
15892         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
15893         * modules/lib-ignore: New file.
15894         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
15895         chdir-safer.m4, lchmod.m4.
15896         * modules/openat: Add mkdirat.c, openat-priv.h.
15897
15898 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15899
15900         Sync from coreutils.
15901         * m4/lib-ignore.m4: New file.
15902         * m4/lchmod.m4: New file.
15903
15904 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15905
15906         Sync from coreutils.
15907         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
15908         for write access: POSIX says that must fail.
15909         * lib/fts.c (diropen): Likewise.
15910         * lib/save-cwd.c (save_cwd): Likewise.
15911         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
15912         well, for minor improvements on hosts that lack O_DIRECTORY.
15913         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
15914         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
15915         Fall back on chown if open failed with EACCES.
15916
15917         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
15918         Report an error at compile-time if only a 1-second nominal clock
15919         resolution is found.
15920
15921         * lib/lchmod.h: New file.
15922         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
15923         (make_dir_parents): Use lchown rather than chown, and
15924         lchmod rather than chmod.
15925
15926         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
15927         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
15928         "proc" reported by n0dalus.
15929
15930         * lib/mountlist.c: Include <limits.h>.
15931         (dev_from_mount_options)
15932         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
15933         New function.  It no longer assumes "dev=" has the System V meaning
15934         on Linux (since it doesn't).  It also parses "dev=" more carefully.
15935         (read_file_system_list)
15936         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
15937         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
15938         dev= in that case.
15939
15940         * lib/posixtm.h (PDS_PRE_2000): New macro.
15941         * lib/posixtm.c (year): Arg is now syntax_bits rather than
15942         allow_century.  All usages changed.  Reject dates outside the range
15943         1969-1999 if PDS_PRE_2000 is used.
15944
15945 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15946
15947         Sync from coreutils.
15948         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
15949         (Time of day items): Mention the possibility of leap seconds.
15950         Problem reported by Dr. David Alan Gilbert.
15951
15952 2006-01-09  Jim Meyering  <jim@meyering.net>
15953
15954         Sync from coreutils.
15955
15956         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
15957
15958         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
15959
15960         * lib/modechange.c (mode_compile): Reject an invalid mode string
15961         that starts with an octal digit.  From Andreas Gruenbacher.
15962
15963         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
15964         and dup to open_safer and dup_safer, respectively.
15965         (openat_permissive): Fix typo in comment.
15966
15967         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
15968         "gettext.h"; either no longer needed or are guaranteed by openat.h.
15969         (_): Remove; no longer needed.
15970         (openat): Renamed from rpl_openat; no need for rpl_openat
15971         since openat.h renames openat for us.
15972         Replace most of the body with a call to openat_permissive,
15973         to avoid duplicate code.
15974         Port to (probably hypothetical) environments were mode_t is
15975         wider than int.
15976         (openat_permissive): Require mode arg, so that we can check
15977         types better.  Put it just after flags.  Change cwd failure
15978         indicator from pointer-to-bool to pointer-to-errno-value.
15979         All callers changed.
15980         Invoke openat_save_fail and/or openat_restore_fail if
15981         cwd_errno is null, so that openat can call us.
15982         (openat_permissive, fdopendir, fstatat, unlinkat):
15983         Simplify errno handling to avoid some duplicate code,
15984         as it's OK to set errno on success.
15985         * lib/openat.h: Revamp code so that function macros depend on
15986         __OPENAT_PREFIX only, not also on AT_FDCWD.
15987         (openat_ro): Remove.  Caller changed to use openat_permissive.
15988         (openat_permissive): Now a macro, if not a function.
15989         (openat_restore_fail, openat_save_fail): Now always functions,
15990         since mkdirat needs them even if __OPENAT_PREFIX is defined.
15991
15992         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
15993         and openat.c.
15994         * lib/mkdirat.c: Include openat-priv.h.
15995         Remove definitions of macros defined therein.
15996         * lib/openat.c: Likewise.
15997
15998         * lib/mkdirat.c (mkdirat): New file and function.
15999         * lib/openat.h (mkdirat): Declare.
16000
16001         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
16002
16003         * lib/openat.h (openat_permissive): Declare.
16004         (openat_ro): Define.
16005
16006         * lib/openat.c (EXPECTED_ERRNO): New macro.
16007         (openat_permissive): New function -- used in remove.c rewrite.
16008         (all functions): Set errno just before returning, only if there
16009         was an actual failure.
16010         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
16011
16012         Emulate openat-family functions using Linux's procfs, if possible.
16013         Idea and some code based on Ulrich Drepper's glibc changes.
16014
16015         * lib/openat.c: (BUILD_PROC_NAME): New macro.
16016         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
16017         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
16018         before falling back on save_cwd and restore_cwd.
16019         (fdopendir, fstatat, unlinkat): Likewise.
16020
16021         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
16022         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
16023
16024         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
16025         as second argument to va_arg.  Otherwise, some versions of gcc
16026         warn that `if this code is reached, the program will abort'.
16027
16028 2006-01-09  Jim Meyering  <jim@meyering.net>
16029
16030         Sync from coreutils.
16031         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
16032         Require openat-priv.h.
16033
16034 2006-01-09  Bruno Haible  <bruno@clisp.org>
16035
16036         * modules/strnlen (Include): Use strnlen.h.
16037
16038 2006-01-09  Bruno Haible  <bruno@clisp.org>
16039
16040         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
16041
16042 2006-01-09  Bruno Haible  <bruno@clisp.org>
16043
16044         * lib/sysexit_.h (EX_OK): New macro.
16045         Suggested by Martin Lambers <marlam@marlam.de>.
16046
16047 2006-01-09  Bruno Haible  <bruno@clisp.org>
16048
16049         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
16050         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
16051
16052 2006-01-09  Bruno Haible  <bruno@clisp.org>
16053
16054         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
16055         numbers.
16056
16057 2006-01-09  Bruno Haible  <bruno@clisp.org>
16058
16059         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
16060         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
16061         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
16062         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
16063
16064 2006-01-09  Bruno Haible  <bruno@clisp.org>
16065
16066         * build-aux/javacomp.sh.in: New file, moved from lib/.
16067         * modules/javacomp-script (Files): Update.
16068         (configure.ac): Add AC_CONFIG_FILES invocation.
16069         (EXTRA_DIST): Remove variable.
16070
16071         * build-aux/javaexec.sh.in: New file, moved from lib/.
16072         * modules/javaexec (Files): Update.
16073         (configure.ac): Add AC_CONFIG_FILES invocation.
16074         (EXTRA_DIST): Remove javaexec.sh.in.
16075
16076         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
16077         * modules/csharpcomp-script (Files): Update.
16078         (configure.ac): Add AC_CONFIG_FILES invocation.
16079         (EXTRA_DIST): Remove variable.
16080
16081         * build-aux/csharpexec.sh.in: New file, moved from lib/.
16082         * modules/csharpexec (Files): Update.
16083         (configure.ac): Add AC_CONFIG_FILES invocation.
16084         (EXTRA_DIST): Remove csharpexec.sh.in.
16085
16086 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
16087
16088         Sync from coreutils.
16089
16090         Add POSIX ACL support
16091         * lib/acl.h (copy_acl, set_acl): Add declarations.
16092         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
16093         systems other than Linux.
16094         (chmod_or_fchmod): New function: use fchmod when possible,
16095         and chmod otherwise.
16096         (file_has_acl): Add a POSIX ACL implementation, with a
16097         Linux-specific subcase.
16098         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
16099         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
16100         acls are unsupported.
16101         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
16102         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
16103         are unsupported.
16104
16105 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
16106
16107         Sync from coreutils.
16108         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
16109
16110 2006-01-07  Bruno Haible  <bruno@clisp.org>
16111
16112         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
16113         gl_EARLY.
16114
16115 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16116
16117         * lib/strftime.c (tzname): Don't declare if it is already #defined.
16118         Problem reported for Mingw by Mark Junker.
16119
16120 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16121
16122         * README: Gnulib normally doesn't generate a tarball.
16123
16124 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16125
16126         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
16127         long int, not int, for nanosecond counts, so that people who are
16128         used to POSIX struct timespec won't be surprised.  Reported by Jim
16129         Meyering.
16130
16131 2005-12-28  Bruno Haible  <bruno@clisp.org>
16132
16133         * build-aux/config.rpath: Update from GNU gettext.
16134
16135 2005-12-16  Jim Meyering  <jim@meyering.net>
16136
16137         * modules/fprintftime: New module.
16138         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
16139
16140 2005-12-16  Jim Meyering  <jim@meyering.net>
16141
16142         * m4/fprintftime.m4: New file.
16143
16144 2005-12-16  Jim Meyering  <jim@meyering.net>
16145
16146         * lib/fprintftime.c, lib/fprintftime.h: New files.
16147
16148 2005-12-15  Simon Josefsson  <jas@extundo.com>
16149
16150         * modules/socklen (configure.ac): Fix M4 macro name, to align with
16151         new m4/socklen.m4.
16152
16153 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
16154
16155         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
16156         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
16157
16158 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
16159
16160         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
16161         * lib/argp-help.c (fill_in_uparams): Check if the constructed
16162         struct uparams is valid. Fall back to the default values if it is
16163         not.
16164
16165 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16166
16167         * modules/argp (Files): Add argp-pin.c
16168         (Depends-on): dirname
16169         (lib_SOURCES): Add argp-pin.c
16170
16171 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16172
16173         * m4/argp.m4:  Check if program_invocation_name and
16174         program_invocation_short_name are declared and define appropriate
16175         macros if they are not.
16176
16177 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16178
16179         * lib/argp-help.c (__argp_base_name): New function
16180         (__argp_short_program_name): Rewrite using __argp_base_name
16181         * lib/argp-namefrob.h: Define program_invocation_name and
16182         program_invocation_short_name if requested
16183         (__argp_base_name): Add prototype
16184         * lib/argp-parse.c (argp_def): Use gettext wrappers
16185         (argp_default_parser): Use __argp_base_name
16186         * lib/argp-pin.c: New file. Defines program_invocation_name and
16187         program_invocation_short_name on systems that lack them.
16188
16189 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16190
16191         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
16192         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
16193         porting problem reported by Georg Schwarz in
16194         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
16195
16196 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16197
16198         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
16199         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
16200         porting problem reported by Georg Schwarz in
16201         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
16202
16203 2005-12-05  Bruno Haible  <bruno@clisp.org>
16204
16205         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
16206         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
16207         Reported by Mark Junker <mjscod@gmx.de>.
16208
16209 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
16210
16211         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
16212         Use implementation from Albert Chin, with some
16213         comments/corrections by Stepan Kasal and myself.
16214
16215 2005-12-02  Bruno Haible  <bruno@clisp.org>
16216
16217         * gnulib-tool (func_import): Accept GPLed build tool modules when
16218         --lgpl is given.
16219         * modules/csharpcomp-script: New file.
16220         * modules/csharpcomp: Depend on it.
16221         * modules/javacomp-script: New file.
16222         * modules/javacomp: Depend on it.
16223         Suggested by Simon Josefsson.
16224
16225 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
16226
16227         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
16228         statement, to work around an HP-UX 10.20 compiler bug reported by
16229         Peter O'Gorman.
16230
16231 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
16232
16233         * modules/savedir (Depends-on): Add openat.
16234
16235 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
16236
16237         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
16238         (uintmax_t) [defined uintmax_t]: Do not declare.
16239         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
16240         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
16241         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
16242         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
16243         sake of portability to weird hosts that C allows (though we don't
16244         know of any practical examples).
16245
16246         * lib/savedir.h (fdsavedir): New decl.
16247         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
16248         contains most of the former guts of savedir.
16249         (savedir): Use savedirstream.
16250         Include "openat.h".
16251
16252 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16253
16254         * modules/obstack (Files): Add m4/ulonglong.m4.
16255         Problem reported by Davide Angelocola.
16256
16257 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
16258
16259         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
16260         coreutils no longer futzes with rounding modes.
16261
16262 2005-11-14  Jim Meyering  <jim@meyering.net>
16263
16264         * lib/mkstemp-safer.c: Include <config.h>, required for possible
16265         replacement of mkstemp.
16266
16267 2005-11-10  Simon Josefsson  <jas@extundo.com>
16268
16269         * lib/readline.c: Remove EOL.
16270
16271 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16272
16273         * modules/gethrxtime (Depends-on): Add gettime.
16274
16275 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16276
16277         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
16278         or gettimeofday; no longer needed.
16279
16280 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16281
16282         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
16283         time business.
16284         (gethrxtime) [! (HAVE_NANOUPTIME
16285         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
16286         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
16287         our own approximation.
16288
16289 2005-11-08  Eric Blake  <ebb9@byu.net>
16290
16291         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
16292
16293 2005-11-08  Eric Blake  <ebb9@byu.net>
16294
16295         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
16296
16297 2005-11-04  Bruno Haible  <bruno@clisp.org>
16298
16299         * gnulib-tool: Implement --update mode.
16300
16301 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
16302
16303         Fix porting problem reported by Theodoros V. Kalamatianos.
16304         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
16305         Don't assume that futimes failing means we must fail.
16306
16307 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
16308
16309         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
16310         variables to suggest the intended function of the PATH_MAX check.
16311
16312 2005-10-30  Kean Johnston  <jkj@sco.com>
16313
16314         Trivial changes to support SCO systems.
16315         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
16316         as PATH_MAX.
16317         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
16318         where __ptr is null when no I/O is pending.
16319
16320 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16321
16322         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
16323         leave errno alone.  Problem reported by Dmitry V. Levin.
16324
16325 2005-10-28  Simon Josefsson  <jas@extundo.com>
16326
16327         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
16328         Test more.
16329
16330         * tests/test-gc-md2.c, tests/test-md2.c: New files.
16331
16332         * modules/md2, modules/md2-tests: New files.
16333
16334 2005-10-28  Simon Josefsson  <jas@extundo.com>
16335
16336         * m4/inet_ntop.m4: More tests.
16337
16338         * m4/gc-md2.m4, md2.m4: New file.
16339
16340 2005-10-28  Simon Josefsson  <jas@extundo.com>
16341
16342         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
16343         "restrict" keywords, as per POSIX.  Protect the function
16344         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
16345         Don't use K&R prototypes.  Check the sprintf return values.
16346         Re-define EAFNOSUPPORT if not present.  Indent.
16347
16348         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
16349         suggested by Bruno Haible <bruno@clisp.org>.
16350
16351         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
16352
16353         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
16354
16355         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
16356         libgcrypt).
16357
16358         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
16359
16360         * lib/md2.h, lib/md2.c: New files.
16361
16362 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
16363
16364         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
16365         errno alone.  Problem reported by Frederic Jolliton.
16366
16367 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
16368
16369         * modules/verify (License): Change from GPL to LGPL.  This is a
16370         tiny module and there are apparently near-equivalents that are
16371         under the BSD license.
16372
16373 2005-10-24  Simon Josefsson  <jas@extundo.com>
16374
16375         * modules/sha1: Relicense to LGPL.
16376
16377 2005-10-24  Simon Josefsson  <jas@extundo.com>
16378
16379         * lib/md4.h: Shrink buffer size, now that we changed the type.
16380
16381 2005-10-23  Simon Josefsson  <jas@extundo.com>
16382
16383         * gnulib-tool (func_import): Fix --tests-base.
16384
16385 2005-10-22  Simon Josefsson  <jas@extundo.com>
16386
16387         * modules/arcfour (Depends-on): Need stdint.
16388
16389 2005-10-22  Simon Josefsson  <jas@extundo.com>
16390
16391         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
16392         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
16393
16394 2005-10-22  Simon Josefsson  <jas@extundo.com>
16395
16396         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
16397         suggested by Bruno Haible <bruno@clisp.org>.
16398
16399 2005-10-22  Simon Josefsson  <jas@extundo.com>
16400
16401         * lib/crc.h: Include stddef.h, for size_t.
16402
16403 2005-10-22  Simon Josefsson  <jas@extundo.com>
16404
16405         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
16406         arcfour_context struct (simplify test vector testing in GNU
16407         Shishi).
16408
16409 2005-10-21  Simon Josefsson  <jas@extundo.com>
16410
16411         * modules/des, modules/des-tests: New files.
16412
16413         * modules/gc-des, modules/gc-des-tests: New files.
16414
16415         * tests/test-des.c, tests/test-gc-des.c: New file.
16416
16417 2005-10-21  Simon Josefsson  <jas@extundo.com>
16418
16419         * modules/arctwo, modules/arctwo-tests: New files.
16420
16421         * tests/test-arctwo.c: New file.
16422
16423         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
16424
16425         * tests/test-gc-arctwo.c: New file.
16426
16427 2005-10-21  Simon Josefsson  <jas@extundo.com>
16428
16429         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
16430         Bruno Haible <bruno@clisp.org>.
16431
16432         * m4/gc-des.m4: New file.
16433
16434 2005-10-21  Simon Josefsson  <jas@extundo.com>
16435
16436         * m4/arctwo.m4: New file.
16437
16438         * m4/gc-arctwo.m4: New file.
16439
16440 2005-10-21  Simon Josefsson  <jas@extundo.com>
16441
16442         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
16443         block.
16444
16445 2005-10-21  Simon Josefsson  <jas@extundo.com>
16446
16447         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
16448         <bruno@clisp.org>.
16449
16450         * lib/hmac-sha1.c (hmac_sha1): Likewise.
16451
16452         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
16453         Bruno Haible <bruno@clisp.org>.
16454
16455         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
16456         <bruno@clisp.org>.
16457
16458 2005-10-21  Simon Josefsson  <jas@extundo.com>
16459
16460         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
16461
16462 2005-10-21  Simon Josefsson  <jas@extundo.com>
16463
16464         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
16465
16466 2005-10-21  Simon Josefsson  <jas@extundo.com>
16467
16468         * lib/des.h, lib/des.c: New files.
16469
16470         * lib/gc-gnulib.c: Support DES.c
16471
16472 2005-10-21  Simon Josefsson  <jas@extundo.com>
16473
16474         * lib/arctwo.h, lib/arctwo.c: New files.
16475
16476         * lib/gc-gnulib.c: Support ARCTWO.
16477
16478 2005-10-21  Simon Josefsson  <jas@extundo.com>
16479
16480         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
16481         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16482
16483 2005-10-21  Simon Josefsson  <jas@extundo.com>
16484
16485         * gnulib-tool (func_import, func_create_testdir): Define automake
16486         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
16487         Makefile.am snippet),
16488         suggested by Bruno Haible <bruno@clisp.org>.
16489
16490         * modules/gc (Makefile.am): Use it.
16491
16492 2005-10-21  Bruno Haible  <bruno@clisp.org>
16493
16494         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
16495         patch.
16496
16497 2005-10-19  Simon Josefsson  <jas@extundo.com>
16498
16499         * tests/test-gc-rijndael.c: New file.
16500
16501         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
16502
16503 2005-10-19  Simon Josefsson  <jas@extundo.com>
16504
16505         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
16506         interface too.
16507
16508 2005-10-19  Simon Josefsson  <jas@extundo.com>
16509
16510         * tests/test-gc-arcfour.c: New file.
16511
16512         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
16513
16514 2005-10-19  Simon Josefsson  <jas@extundo.com>
16515
16516         * modules/gc-md4, modules/gc-md4-tests: New file.
16517
16518         * tests/test-gc-md4.c: New file.
16519
16520 2005-10-19  Simon Josefsson  <jas@extundo.com>
16521
16522         * m4/gc-md4.m4: New file.
16523
16524 2005-10-19  Simon Josefsson  <jas@extundo.com>
16525
16526         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
16527         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
16528         <kasal@ucw.cz>.
16529
16530 2005-10-19  Simon Josefsson  <jas@extundo.com>
16531
16532         * m4/gc-arcfour.m4: New file.
16533
16534         * m4/gc-rijndael.m4: New file.
16535
16536 2005-10-19  Simon Josefsson  <jas@extundo.com>
16537
16538         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
16539
16540 2005-10-19  Simon Josefsson  <jas@extundo.com>
16541
16542         * lib/gc-gnulib.c: Support ARCFOUR.
16543
16544 2005-10-19  Simon Josefsson  <jas@extundo.com>
16545
16546         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
16547         support.
16548
16549         * lib/gc.h: Add ECB enum type.
16550
16551         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
16552
16553 2005-10-18  Simon Josefsson  <jas@extundo.com>
16554
16555         * tests/test-md5.c: New file.
16556
16557         * modules/md5-tests: New file.
16558
16559 2005-10-18  Simon Josefsson  <jas@extundo.com>
16560
16561         * tests/test-md4.c: New file.
16562
16563         * modules/md4, modules/md4-tests: New files.
16564
16565 2005-10-18  Simon Josefsson  <jas@extundo.com>
16566
16567         * m4/md4.m4: New file.
16568
16569 2005-10-18  Simon Josefsson  <jas@extundo.com>
16570
16571         * lib/md4.h, lib/md4.c: New files, based on md5.?.
16572
16573 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
16574
16575         * gnulib-tool (func_create_testdir): Omit the second check whether
16576         BUILT_SOURCES in nonempty.
16577
16578 2005-10-17  Simon Josefsson  <jas@extundo.com>
16579
16580         * tests/test-rijndael.c: New file.
16581
16582 2005-10-17  Simon Josefsson  <jas@extundo.com>
16583
16584         * modules/sha1: Depend on stdint instead of md5.
16585
16586         * modules/md5: Depend on stdint, remove uint32_t.
16587
16588 2005-10-17  Simon Josefsson  <jas@extundo.com>
16589
16590         * modules/gc-sha1-tests: New file.
16591
16592         * tests/test-gc-sha1.c: New file.
16593
16594 2005-10-17  Simon Josefsson  <jas@extundo.com>
16595
16596         * m4/md5.m4: Remove call to uint32_t.m4.
16597
16598 2005-10-17  Simon Josefsson  <jas@extundo.com>
16599
16600         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
16601
16602         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
16603         md5.h.
16604
16605         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
16606
16607         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
16608
16609 2005-10-17  Simon Josefsson  <jas@extundo.com>
16610
16611         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
16612
16613 2005-10-17  Simon Josefsson  <jas@extundo.com>
16614
16615         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
16616
16617 2005-10-17  Simon Josefsson  <jas@extundo.com>
16618
16619         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
16620
16621         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
16622
16623 2005-10-17  Bruno Haible  <bruno@clisp.org>
16624
16625         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
16626         that it can also be used in a test.
16627
16628 2005-10-16  Bruno Haible  <bruno@clisp.org>
16629
16630         * gnulib-tool (func_emit_tests_Makefile_am): Also define
16631         TESTS_ENVIRONMENT, so that individual tests can augment it.
16632
16633         * gnulib-tool (func_create_testdir): Use an intermediate target for
16634         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
16635         macros, like $(ALLOCA_H), which cannot be passed through the command
16636         line.
16637
16638 2005-10-15  Simon Josefsson  <jas@extundo.com>
16639
16640         * modules/rijndael-tests: New file.
16641
16642         * modules/rijndael: New file.
16643
16644 2005-10-15  Simon Josefsson  <jas@extundo.com>
16645
16646         * m4/rijndael.m4: New file.
16647
16648 2005-10-15  Simon Josefsson  <jas@extundo.com>
16649
16650         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
16651
16652         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
16653
16654 2005-10-14  Simon Josefsson  <jas@extundo.com>
16655
16656         * tests/test-arcfour.c: New file.
16657
16658         * modules/arcfour, modules/arcfour-tests: New files.
16659
16660 2005-10-14  Simon Josefsson  <jas@extundo.com>
16661
16662         * m4/arcfour.m4: New file.
16663
16664 2005-10-14  Simon Josefsson  <jas@extundo.com>
16665
16666         * lib/arcfour.h, lib/arcfour.c: New files.
16667
16668 2005-10-14  Roland McGrath  <roland@redhat.com>
16669
16670         Import from libc.  [BZ #1331]
16671         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
16672         macro argument.
16673         Reported by Matej Vela <vela@debian.org>.
16674
16675 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
16676
16677         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
16678         include <wchar.h>; no longer needed.
16679
16680 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
16681
16682         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
16683
16684 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
16685         and  Ulrich Drepper  <drepper@redhat.com>
16686
16687         Import from libc.
16688         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
16689         instead of inline stream orientation test and two separate
16690         function calls.  Pay no attention to USE_IN_LIBIO.
16691
16692 2005-10-13  Simon Josefsson  <jas@extundo.com>
16693
16694         * modules/gc-hmac-md5-tests: New file.
16695
16696         * tests/test-gc-hmac-sha1.c: New file.
16697
16698         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
16699
16700         * modules/gc-hmac-md5-tests: New file.
16701
16702         * tests/test-gc-md5.c: New file.
16703
16704         * modules/gc-md5-tests: New file.
16705
16706 2005-10-13  Simon Josefsson  <jas@extundo.com>
16707
16708         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
16709         Move memory allocation outside of loop.
16710
16711 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
16712
16713         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
16714         intermediate directory is in a read-only file system.  Problem
16715         reported by Eric Blake.
16716
16717 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
16718
16719         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
16720
16721 2005-10-12  Simon Josefsson  <jas@extundo.com>
16722
16723         * tests/test-hmac-sha1.c: New file.
16724
16725         * modules/hmac-sha1-tests: New file.
16726
16727         * modules/hmac-sha1: New file.
16728
16729 2005-10-12  Simon Josefsson  <jas@extundo.com>
16730
16731         * modules/gc-sha1: New file.
16732
16733 2005-10-12  Simon Josefsson  <jas@extundo.com>
16734
16735         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
16736
16737         * tests/test-gc-pbkdf2-sha1.c: New file.
16738
16739 2005-10-12  Simon Josefsson  <jas@extundo.com>
16740
16741         * modules/gc-md5, modules/gc-hmac-md5: New files.
16742
16743         * modules/gc (Files): Remove md5, memxor and hmac files.
16744
16745 2005-10-12  Simon Josefsson  <jas@extundo.com>
16746
16747         * m4/gc-pbkdf2-sha1.m4: New file.
16748
16749         * m4/gc-hmac-sha1.m4: New file.
16750
16751         * m4/gc-sha1: New file.
16752
16753         * m4/hmac-sha1.m4: New file.
16754
16755 2005-10-12  Simon Josefsson  <jas@extundo.com>
16756
16757         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
16758
16759         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
16760
16761 2005-10-12  Simon Josefsson  <jas@extundo.com>
16762
16763         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
16764         suggested by Bruno Haible <bruno@clisp.org>.
16765
16766 2005-10-12  Simon Josefsson  <jas@extundo.com>
16767
16768         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
16769
16770 2005-10-12  Simon Josefsson  <jas@extundo.com>
16771
16772         * lib/gc-pbkdf2-sha1.c: New file.
16773
16774         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
16775
16776 2005-10-12  Simon Josefsson  <jas@extundo.com>
16777
16778         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
16779
16780         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
16781
16782 2005-10-12  Simon Josefsson  <jas@extundo.com>
16783
16784         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
16785         GC_USE_HMAC_MD5, respectively.
16786
16787         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
16788         (gc_md5): Fix typo.
16789
16790         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
16791
16792         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
16793
16794         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
16795
16796 2005-10-12  Bruno Haible  <bruno@clisp.org>
16797
16798         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
16799         Reported by Stepan Kasal <kasal@ucw.cz>.
16800
16801 2005-10-11  Simon Josefsson  <jas@extundo.com>
16802
16803         * tests/test-crc.c: New file.
16804
16805         * modules/crc, modules/crc-tests: New files.
16806
16807 2005-10-11  Simon Josefsson  <jas@extundo.com>
16808
16809         * m4/crc.m4: New file.
16810
16811 2005-10-11  Simon Josefsson  <jas@extundo.com>
16812
16813         * lib/gc.h: Add gc_hash and gc_hash_buffer.
16814
16815         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
16816
16817         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
16818
16819 2005-10-11  Simon Josefsson  <jas@extundo.com>
16820
16821         * lib/crc.h, lib/crc.c: New files.
16822
16823         * lib/gc.h (gc_hash_buffer): Add doc.
16824
16825 2005-10-11  Bruno Haible  <bruno@clisp.org>
16826
16827         * modules/c-strcasestr: New file.
16828         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
16829
16830 2005-10-11  Bruno Haible  <bruno@clisp.org>
16831
16832         * modules/c-strcase: New file.
16833         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
16834
16835 2005-10-11  Bruno Haible  <bruno@clisp.org>
16836
16837         * lib/strcasecmp.c: Include limits.h.
16838         (strcasecmp): Avoid integer overflow on exotic platforms.
16839         * lib/strncasecmp.c: Include limits.h.
16840         (strncasecmp): Avoid integer overflow on exotic platforms.
16841         Reported by Paul Eggert.
16842
16843 2005-10-11  Bruno Haible  <bruno@clisp.org>
16844
16845         * lib/c-strcasestr.h: New file, from GNU gettext.
16846         * lib/c-strcasestr.c: New file, from GNU gettext.
16847
16848 2005-10-11  Bruno Haible  <bruno@clisp.org>
16849
16850         * lib/c-strcase.h: New file, from GNU gettext.
16851         * lib/c-strcasecmp.c: New file, from GNU gettext.
16852         * lib/c-strncasecmp.c: New file, from GNU gettext.
16853
16854 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16855
16856         * modules/mempcpy (License): GPL -> LGPL.
16857         * modules/strchrnul (License): Likewise.
16858         * modules/sysexits (License): Likewise.
16859
16860 2005-10-08  Simon Josefsson  <jas@extundo.com>
16861
16862         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
16863
16864 2005-10-07  Simon Josefsson  <jas@extundo.com>
16865
16866         * m4/memxor.m4: Remove gl_C_RESTRICT call.
16867
16868 2005-10-06  Simon Josefsson  <jas@extundo.com>
16869
16870         * tests/test-hmac-md5.c: New file.
16871
16872         * modules/hmac-md5-tests: New file.
16873
16874         * modules/hmac-md5: New file.
16875
16876 2005-10-06  Simon Josefsson  <jas@extundo.com>
16877
16878         * m4/hmac-md5.m4: New file.
16879
16880         * m4/memxor.m4: Require gl_C_RESTRICT.
16881
16882 2005-10-06  Simon Josefsson  <jas@extundo.com>
16883
16884         * lib/memxor.c (memxor): Avoid casts and warnings.
16885
16886 2005-10-06  Simon Josefsson  <jas@extundo.com>
16887
16888         * lib/hmac-md5.c: New file.
16889
16890         * lib/hmac.h: New file.
16891
16892 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16893
16894         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
16895         promotes to int, not unsigned int, to catch the AIX 5.3
16896         compiler bug.
16897
16898 2005-10-05  Simon Josefsson  <jas@extundo.com>
16899
16900         * modules/memxor: New file.
16901
16902         * modules/iconv (Files): Move config.rpath to havelib, it is used
16903         there.
16904
16905         * modules/havelib (Files): Add config.rpath.
16906
16907 2005-10-05  Simon Josefsson  <jas@extundo.com>
16908
16909         * m4/memxor.m4: New file.
16910
16911 2005-10-05  Simon Josefsson  <jas@extundo.com>
16912
16913         * lib/memxor.c (memxor): Fix compiler error.
16914
16915         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
16916         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
16917
16918         * lib/memxor.h, lib/memxor.c: New files.
16919
16920         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
16921         we assume all systems have it, suggested by Jim Meyering
16922         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
16923         any systems lack sys/socket.h; mingw32 is known to lack it, but we
16924         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
16925         same reasons.
16926
16927 2005-10-05  Simon Josefsson  <jas@extundo.com>
16928
16929         * config/srclist.txt: Add glibc bug 1423 for md5.h.
16930
16931 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
16932
16933         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
16934         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
16935         needed, since the source code now assumes these .h files.
16936
16937 2005-10-05  Derek Price  <derek@ximbiot.com>
16938
16939         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
16940
16941 2005-10-05  Bruno Haible  <bruno@clisp.org>
16942
16943         * modules/stdint (License): Change to LGPL.
16944
16945 2005-10-04  Simon Josefsson  <jas@extundo.com>
16946
16947         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
16948         D. Baushke" <mdb@gnu.org>.
16949
16950 2005-10-04  Bruno Haible  <bruno@clisp.org>
16951
16952         * lib/verify.h (verify_true): Provide alternative definition for C++.
16953
16954 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
16955
16956         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
16957         (SSIZE_MAX): New macro, if not already defined.
16958         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
16959         than 2 GiB.
16960
16961 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16962
16963         Sync from coreutils.
16964         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
16965         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
16966         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
16967         ULLONG_MAX doesn't work with 2.7.2.1.
16968
16969 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16970
16971         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
16972         From Ben Pfaff.
16973
16974         * modules/exclude (Depends-on): Depend on verify.
16975         * modules/strtoimax (Depends-on): Likewise.
16976         * modules/utimecmp (Depends-on): Likewise.
16977
16978 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16979
16980         * lib/exclude.c: Include verify.h.
16981         (verify): Remove.  All callers changed to use verify.h's version.
16982         * lib/strtoimax.c: Likewise.
16983         * lib/utimecmp.c: Likewis.e
16984
16985         Sync from coreutils.
16986         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
16987         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
16988         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
16989         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
16990         bother returning ENOSYS if settimeofday or stime fails; just let
16991         them return whatever errno they want to return.
16992         * lib/utimens.c: Include unistd.h, for dup2.
16993         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
16994         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
16995
16996 2005-10-02  Jim Meyering  <jim@meyering.net>
16997
16998         Sync from coreutils.
16999         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
17000         from glibc-2.2.5 that fails for read-only files.
17001
17002 2005-10-02  Jim Meyering  <jim@meyering.net>
17003
17004         Sync from coreutils.
17005         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
17006         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
17007         `#if HAVE_CONFIG_H'.
17008         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
17009         Remove AT_FDCWD test.
17010         Do not consume the fd unless successful.
17011         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
17012         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
17013         block, so that we don't even try to compile it if settimeofday is
17014         available.  This works around a compilation failure on OSF1 V5.1,
17015         due to stime requiring a `long int*' while tv_sec is `int'.
17016
17017 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
17018
17019         Sync from coreutils.
17020         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
17021         against `yes', rather than just testing for nonempty.
17022
17023 2005-10-01  Simon Josefsson  <jas@extundo.com>
17024
17025         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
17026         and Darwin.
17027
17028         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
17029         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
17030         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
17031         freeaddrinfo and gai_strerror are declared by the POSIX headers.
17032         Check if struct addrinfo is declared.
17033
17034 2005-10-01  Simon Josefsson  <jas@extundo.com>
17035
17036         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
17037         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
17038         AI_* and EAI_* definitions.  Protect function declarations.
17039
17040 2005-10-01  Jim Meyering  <jim@meyering.net>
17041
17042         Sync from coreutils.
17043
17044         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
17045         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
17046         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
17047         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
17048         in the inet and nsl libraries.  Required on Solaris 5.7.
17049
17050 2005-10-01  Jim Meyering  <jim@meyering.net>
17051
17052         Sync from coreutils.
17053         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
17054         in the inet and nsl libraries.  Required on Solaris 5.7.
17055
17056 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
17057
17058         * lib/getdelim.c (getdelim): Remove unused variables.
17059
17060 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
17061
17062         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
17063         so that the code works even with ancient cpp.  Portability problem
17064         with GCC 2.7.2.1 reported by Thomas M.Ott.
17065
17066 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
17067
17068         * modules/regex (Depends-on): Add strcase.
17069
17070         * modules/gethostname (Licence): Change from GPL to LGPL, since
17071         gethostname.c is a trivial implementation of a standard library
17072         function.
17073         * modules/poll (License): Change from GPL to LGPL, since it's
17074         derived from LGPL code.
17075
17076 2005-09-27  Jim Meyering  <jim@meyering.net>
17077
17078         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
17079         HAVE_CONFIG_H.
17080
17081         * lib/intprops.h (signed_type_or_expr__): Define.
17082         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
17083         for unsigned types.
17084
17085 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
17086
17087         * lib/verify.h (verify_expr): Remove, replacing with:
17088         (verify_true): New macro that returns true instead of void.
17089         (verify_type__): Remove.
17090         (verify): Use verify_true rather than verify_type__.
17091
17092 2005-09-26  Bruno Haible  <bruno@clisp.org>
17093
17094         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
17095         is necessary.
17096         (lib_SOURCES): Remove mbchar.c.
17097         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
17098         (Files): Add m4/mbrtowc.m4.
17099         * modules/mbiter: Likewise.
17100         * modules/mbuiter: Likewise.
17101
17102 2005-09-26  Bruno Haible  <bruno@clisp.org>
17103
17104         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
17105         compile mbchar.c if they are not both present.
17106         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
17107         * m4/mbiter.m4 (gl_MBITER): Likewise.
17108         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
17109         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
17110         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
17111
17112 2005-09-25  Jim Meyering  <jim@meyering.net>
17113
17114         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
17115         also uses socklen_t.
17116
17117 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
17118
17119         * lib/utimens.c (ENOSYS): Define if not already defined.
17120         (futimens): Support having a null PATH if the file descriptor
17121         is nonnegative.
17122
17123         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
17124         Remove.
17125         (__attribute): Define to empty unless GCC 3.1 or later.
17126         This works around a core dump on OpenBSD 3.4, which has GCC
17127         2.95.3, which dumps core when given __attribute__(()).  It also
17128         simplifies other tests, since we really don't want to bother with
17129         worrying about which ancient version of GCC supported what.
17130         Original problem reported by Yoann Vandoorselaere, with part of
17131         the fix suggested by Derek Price.
17132
17133 2005-09-24  Jim Meyering  <jim@meyering.net>
17134
17135         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
17136         so we can once again use a positive bitfield width of 1 -- now we
17137         don't have to explain why we were using a bitfield width of 2.
17138
17139 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17140
17141         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
17142         and similarly for the other external symbols.  Problem reported
17143         by James Gallager.
17144
17145         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
17146         bug reported by Jim Meyering.
17147
17148         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
17149         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
17150         not needed, since socklen is a prerequisite module.
17151
17152 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17153
17154         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
17155         Problem reported by Eric Blake.
17156         (getaddrinfo): Initialize se so that it's not garbage.
17157         Redo internal storage allocation so that it doesn't make unportable
17158         assumptions about alignment.
17159         Fix a memory leak.
17160
17161         * lib/utimens.c (futimens): Use futimesat if available.
17162         Prefer it to futimes since it doesn't have the futimes bug.
17163
17164         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
17165         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
17166         Instead, declare a function that returns a pointer to an array,
17167         and use verify_type__ to declare the size of the array.
17168         Problem and germ of a solution reported by Bruno Haible.
17169         (verify_type__): Use 2, not 1, for bitfield size, to avoid
17170         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
17171
17172 2005-09-23  Jim Meyering  <jim@meyering.net>
17173
17174         Sync from coreutils.
17175         Correct build failure (socklen_t not defined) on at least
17176         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
17177         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
17178
17179 2005-09-23  Jim Meyering  <jim@meyering.net>
17180
17181         * modules/getaddrinfo (Depends-on): Add socklen.
17182
17183 2005-09-23  Bruno Haible  <bruno@clisp.org>
17184
17185         * tests/test-verify.c: New file.
17186
17187 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17188
17189         Sync from coreutils.
17190
17191         * modules/argmatch (Depends-on): Add verify.
17192         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
17193         unistd-safer.
17194         * modules/save-cwd (Depends-on): Likewise.
17195
17196         * modules/openat (Files): Add lib/openat-die.c.
17197         (Depends-on): Remove error, exitfail.
17198         Add dirname.
17199
17200         * modules/verify: New file.
17201         * MODULES.html.sh (Diagnostics <assert.h>): New section,
17202         with "verify" module.
17203
17204 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17205
17206         Sync from coreutils.
17207
17208         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
17209         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
17210         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
17211         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
17212         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
17213         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
17214         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
17215         Don't bother checking for string.h, stdlib.h, unistd.h.
17216         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
17217         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
17218         module's job.
17219         * m4/jm-macros.m4 (gl_MACROS): Likewise.
17220         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
17221
17222         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
17223         (gl_GETDATE): Use it.
17224
17225         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
17226
17227 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17228
17229         Sync from coreutils.
17230
17231         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
17232         stat-time.h.
17233         * lib/argmatch.h: Include verify.h
17234         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
17235         (ARGMATCH_ASSERT): Remove; unused.
17236         * lib/canonicalize.c: Assume STDC_HEADERS.
17237         * lib/exclude.c: Include "strcase.h".
17238         * lib/regex_internal.h [!defined _LIBC]: Likewise.
17239         * lib/getusershell.c: Include stdio--.h rather than stdio.h
17240         and stdio-safer.h.
17241         (getusershell): Call fopen, not fopen_safer.
17242         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
17243         Do not include unistd-safer.h.
17244         (save_cwd): Don't call fd_safer; no longer needed
17245         now that we include fcntl--.h.
17246
17247         * lib/getdate.y (relative_time): New type.
17248         (RELATIVE_TIME_0): New constant.
17249         (parser_control): Use relative_time instead of doing it ourselves.
17250         (%union): Add new relative_time rel member.
17251         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
17252         Now typeless.
17253         (relunit, relunit_snumber): Now of type rel.
17254         (zone, rel, relunit, get_date): Adjust to above changes.
17255
17256         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
17257         Do not include unistd-safer.h.
17258         (getloadavg): Don't call fd_safer; no longer needed
17259         now that we include fcntl--.h.
17260
17261         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
17262         (make_dir_parents): Treat ENOSYS like EEXIST.
17263
17264         Improve quality of diagnostics on restore_cwd failure.
17265         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
17266         (make_dir_parents): Last arg is now int * (for errno), not bool *.
17267         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
17268         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
17269         each time through the loop.  Do not diagnose restore_cwd failure;
17270         that is the caller's job (and perhaps the caller does not care).
17271
17272         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
17273         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
17274         If the file already exists but is not a directory, don't bother
17275         to try to make its parents.
17276         Close potential file descriptor leak if we can't chdir("/") (!).
17277         Don't always return true if chdir($PWD) fails; return true only
17278         if the requested action was done successfully (except for the
17279         chdir($PWD)).
17280         Don't log final directory unless we actually made it.
17281         Refactor to avoid duplicate code to fix up permissions.
17282         Don't attempt to fix up parent permissions if chdir($PWD) fails.
17283
17284         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
17285         to make it a bit faster and (I hope) clearer.
17286         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
17287         Fix bug in formats like %2N.
17288
17289         * lib/verify.h: New file.
17290
17291 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17292
17293         Sync from coreutils.
17294         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
17295
17296 2005-09-22  Jim Meyering  <jim@meyering.net>
17297
17298         Sync from coreutils.
17299
17300         * m4/lstat.m4 (gl_FUNC_LSTAT):
17301         Use AC_LIBSOURCES to require lstat.c and lstat.h.
17302         Remove obsolete comment.
17303         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
17304         * m4/xstrtod.m4: Likewise.
17305
17306         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
17307
17308 2005-09-22  Jim Meyering  <jim@meyering.net>
17309
17310         Sync from coreutils.
17311
17312         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
17313
17314         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
17315         the .tm_year member, since otherwise gcc-4.0 would now warn about
17316         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
17317
17318         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
17319         order to avoid an unsuppressible warning from gcc on 64-bit systems.
17320
17321         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
17322         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
17323         when run in a time zone for which daylight savings time is in effect
17324         for the starting date.
17325
17326         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
17327         stop us from restricting permissions of just-created absolute-named
17328         directories.
17329         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
17330         to restore initial working directory.
17331         * lib/mkdir-p.c (make_dir_parents): New parameter:
17332         different_working_dir, to tell caller if/when we change the working
17333         directory and are unable to return to the initial one.
17334         * lib/mkdir-p.h (make_dir_parents): Update prototype.
17335         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
17336         `return false'.  This fixes a bug introduced on 2004-07-30.
17337
17338         * lib/openat.c (fdopendir): Be sure to close the supplied
17339         file descriptor before returning.  This makes our replacement
17340         implementation a little closer to Solaris's, where fdopendir
17341         ties the file descriptor to the returned DIR* pointer.
17342         * lib/openat.c (unlinkat): New function.
17343         * lib/openat.h (unlinkat): Add prototype.
17344         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
17345         (openat_restore_fail): Rename from openat_restore_die.
17346         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
17347
17348         Provide an alternative to exiting immediately upon save_cwd or
17349         restore_cwd failure.  Now, an application can arrange e.g.,
17350         to perform a longjump in that case.
17351         * lib/openat.c: Include dirname.h.
17352         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
17353         (rpl_openat, fdopendir, fstatat): Call openat_save_die
17354         and openat_restore_die rather than calling error directly.
17355         Don't include "error.h" or "exitfail.h"; they're no longer needed.
17356
17357         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
17358         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
17359         define.
17360
17361         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
17362         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
17363                             int utc, int nanoseconds);
17364         Background:
17365         date should not have to allocate a megabyte of virtual memory to
17366         handle a format argument like +%1048575T.  When implemented with
17367         strftime, it must allocate such a buffer, use strftime to fill it
17368         in, print it, then free it.
17369         With fprintftime, it simply prints everything and exits.
17370         With no need for memory allocation, that's one fewer way to fail.
17371         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
17372         optional field width, not before, so we accept %9:z, not %:9z.
17373         (my_strftime): Be sure to use L_('x') for literals.
17374
17375         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
17376         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
17377         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
17378         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
17379         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
17380         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
17381         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
17382         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
17383         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
17384         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
17385         * lib/xgethostname.c, lib/xreadlink.c:
17386         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
17387
17388         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
17389         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
17390         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
17391         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
17392         and don't include <sys/file.h>).
17393
17394 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
17395
17396         Sync from coreutils.
17397
17398         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
17399         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
17400         [!LDAV_DONE]: Avoid unused variable warning.
17401
17402 2005-09-21  Bruno Haible  <bruno@clisp.org>
17403
17404         * lib/unicodeio.h (unicode_to_mb): New declaration.
17405
17406 2005-09-20  Derek Price  <derek@ximbiot.com>
17407
17408         * lib/getaddrinfo.c: Don't include <netdb.h> included from
17409         getaddrinfo.h.
17410
17411 2005-09-20  Bruno Haible  <bruno@clisp.org>
17412
17413         * gnulib-tool: Remove trailing slashes from the values specified for
17414         --source-base, --m4-base, --tests-base, --aux-dir.
17415         Suggested by Simon Josefsson <jas@extundo.com>.
17416
17417 2005-09-20  Bruno Haible  <bruno@clisp.org>
17418
17419         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
17420         func_modules_to_filelist, func_import, func_create_testdir): Make all
17421         sorting results locale-independent, so that gnulib-cache.m4 doesn't
17422         change when gnulib-tool is invoked in a different locale.
17423
17424 2005-09-19  Simon Josefsson  <jas@extundo.com>
17425
17426         * m4/socklen.m4: Fix typo.
17427
17428 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17429
17430         Use a consistent style for including <config.h>.
17431         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
17432         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
17433         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
17434         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
17435         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
17436         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
17437         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
17438         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
17439         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
17440         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
17441         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
17442         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
17443         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
17444         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
17445         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
17446         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
17447         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
17448         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
17449         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
17450         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
17451         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
17452         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
17453         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
17454         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
17455         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
17456         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
17457         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
17458         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
17459         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
17460         lib/xstrtoumax.c, lib/yesno.c:
17461         Standardize inclusion of config.h.
17462         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
17463         lib/inttostr.h:  Removed inclusion of config.h from header files.
17464         * lib/inttostr.c:  Adjusted in-tree users.
17465         * lib/timespec.h: Remove superfluous warning to include config.h.
17466         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
17467         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
17468         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
17469         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
17470         config.h with HAVE_CONFIG_H.
17471
17472 2005-09-19  Jim Meyering  <jim@meyering.net>
17473
17474         * modules/pathmax (License): Change to LGPL.
17475
17476 2005-09-19  Derek Price  <derek@ximbiot.com>
17477
17478         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
17479
17480 2005-09-19  Bruno Haible  <bruno@clisp.org>
17481
17482         * gnulib-tool (import): Provide default for --tests-base.
17483
17484 2005-09-19  Bruno Haible  <bruno@clisp.org>
17485
17486         * doc/quote.texi: New file, extracted from gnulib.texi.
17487         * doc/ctime.texi: New file, extracted from gnulib.texi.
17488         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
17489         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
17490         * doc/gnulib.texi: Include them.
17491
17492 2005-09-18  Bruno Haible  <bruno@clisp.org>
17493
17494         Portability fix.
17495         * gnulib-tool (func_readlink): New function.
17496         (func_ln_if_changed): Use it.
17497
17498 2005-09-18  Bruno Haible  <bruno@clisp.org>
17499
17500         * gnulib-tool: Support --with-tests also with --import.
17501         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
17502         (func_import): Use variables $testsbase and $inctests. Emit a
17503         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
17504         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
17505         SUBDIRS += $testsdir.
17506         (func_create_testdir): Update.
17507
17508 2005-09-18  Bruno Haible  <bruno@clisp.org>
17509
17510         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
17511         instead of $dry_run.
17512         (func_cp_if_changed, func_mv_if_changed): Remove functions.
17513         (func_ln_if_changed): Don't handle dry-run here.
17514         (func_import): In dry-run mode, detect more precisely which actions
17515         would be performed, and don't use "...ing" verbs.
17516
17517 2005-09-18  Bruno Haible  <bruno@clisp.org>
17518
17519         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
17520         (func_import): Use join on two temporary files instead of three nested
17521         loops, in order to determine which files are new or old.
17522
17523 2005-09-18  Bruno Haible  <bruno@clisp.org>
17524
17525         * gnulib-tool (func_import): Comment out code that spits out the
17526         new files with --dry-run.
17527
17528 2005-09-18  Bruno Haible  <bruno@clisp.org>
17529
17530         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
17531
17532 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17533
17534         * lib/stat-time.h: New file.
17535         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
17536         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
17537         in a different way.
17538         (timespec_cmp): New function.
17539         * lib/utimecmp.c: Include stat-time.h.
17540         (SYSCALL_RESOLUTION): Depend on whether various struct stat
17541         members exist, not on the obsolescent ST_MTIM_NSEC.
17542         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
17543
17544 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17545
17546         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
17547
17548 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17549
17550         * MODULES.html.sh (File system functions): Add stat-time.
17551         * modules/stat-time: New file.
17552         * modules/timespec (Files): Remove m4/st_mtim.m4; this
17553         is now done in a different way, by the stat-time module.
17554         * modules/utimecmp (Depends-on): Add stat-time.
17555
17556 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
17557
17558         * m4/st_mtim.m4: Remove.  Superseded by...
17559         * m4/stat-time.m4: New file.
17560         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
17561         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
17562
17563 2005-09-15  Derek Price  <derek@ximbiot.com>
17564
17565         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
17566
17567 2005-09-15  Derek Price  <derek@ximbiot.com>
17568
17569         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
17570         * lib/regex_internal.c: Ditto, using this...
17571         (__GNUC_PREREQ): ...new macro.
17572         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
17573         using...
17574         (__GNUC_PREREQ): ...this new macro.
17575
17576         * lib/strstr.h: Include string.h. Define strstr as a macro here.
17577
17578 2005-09-15  Derek Price  <derek@ximbiot.com>
17579             Paul Eggert  <eggert@cs.ucla.edu>
17580
17581         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
17582         changes, consolidating in...
17583         * lib/regex_internal.h: ...this file.
17584
17585 2005-09-13  Jim Meyering  <jim@meyering.net>
17586
17587         * lib/canon-host.c: Filter through gnu indent and reword comments
17588         slightly.
17589         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
17590
17591 2005-09-13  Derek Price  <derek@ximbiot.com>
17592
17593         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
17594         failure.
17595         Reported by Jim Meyering  <jim@meyering.net>.
17596
17597 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
17598
17599         * lib/base64.c: Typo.
17600         (base64_encode): Put b64str in initialized data section.
17601
17602 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
17603
17604         Merge glibc and coreutils changes into gnulib, plus a few
17605         extra fixes.
17606         * lib/md5.c: Use #error rather than a string.
17607         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
17608         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
17609         (__attribute__): Define to empty for non recent-GCC.
17610         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
17611         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
17612         Renamed from their non-__ counterparts, with new macros replacing
17613         them if not _LIBC.  Add __THROW attribute.
17614         (rol): Remove.
17615         (struct md5_ctx): Align buffer if using GCC.
17616         * lib/sha1.h (struct sha1_ctx): Likewise.
17617         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
17618         The old name was backwards.
17619         (NOTSWAP): Remove; not used.
17620         (rol): New macro, moved here from md5.h.
17621         (sha1_process_block): Remove a FIXME that doesn't make sense.
17622
17623 2005-09-12  Derek Price  <derek@ximbiot.com>
17624
17625         Return usable errors from canon-host.
17626         * lib/canon-host.h: New file.
17627         * lib/canon-host.c (canon_host): Wrap...
17628         (canon_host_r): ...this new function, which now relies exclusively on
17629         getaddrinfo.
17630         (ch_strerror): New function.
17631         (last_cherror): New global.
17632         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
17633         interface.
17634         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
17635         void *.
17636         (freeaddrinfo): Free ai->ai_canonname when set.
17637
17638 2005-09-12  Derek Price  <derek@ximbiot.com>
17639
17640         Make canon-host require getaddrinfo.
17641         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
17642         AC_LIBSOURCE canon-host.h.  Call...
17643         (gl_PREREQ_CANON_HOST): ...this new function, which requires
17644         gl_GETADDRINFO.
17645         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
17646
17647 2005-09-12  Derek Price  <derek@ximbiot.com>
17648
17649         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
17650         LGPL.
17651         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
17652
17653 2005-09-12  Derek Price  <derek@ximbiot.com>
17654
17655         * lib/gai_strerror.c: Include config.h when available.  Include
17656         getaddrinfo.h before other headers to test interface.
17657         Reported by Larry Jones <lawrence.jones@ugs.com>.
17658
17659 2005-09-12  Derek Price  <derek@ximbiot.com>
17660             Paul Eggert  <eggert@cs.ucla.edu>
17661
17662         * modules/glob (Files): Add glob-libc.h.
17663
17664 2005-09-12  Derek Price  <derek@ximbiot.com>
17665             Paul Eggert  <eggert@cs.ucla.edu>
17666
17667         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
17668         glob_.h, glob-libc.h.
17669         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
17670
17671 2005-09-12  Derek Price  <derek@ximbiot.com>
17672             Paul Eggert  <eggert@cs.ucla.edu>
17673
17674         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
17675         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
17676         protecting things that should be done only in gnulib contexts.
17677         * lib/glob_.h: New file, containing only the glob things needed for
17678         gnulib.
17679         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
17680         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
17681         (glob, globfree, glob_pattern_p): Now defined simply in terms of
17682         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
17683         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
17684         and to respect the namespace rules better.
17685
17686 2005-09-08  Simon Josefsson  <jas@extundo.com>
17687
17688         * modules/socklen: New file.
17689
17690 2005-09-08  Simon Josefsson  <jas@extundo.com>
17691
17692         * m4/socklen.m4: New file.
17693
17694 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17695
17696         * modules/utimens (Files): Add m4/utimbuf.m4, since
17697         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
17698         Reported by Sergey Poznyakoff.
17699
17700 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17701
17702         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
17703         definitions, since that's the preferred style in glibc.
17704         Fix a minor spacing issue, and update copyright notice to match
17705         glibc's.
17706
17707 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17708
17709         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
17710
17711 2005-09-06  Simon Josefsson  <jas@extundo.com>
17712
17713         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
17714         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
17715
17716 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
17717
17718         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
17719         warning.
17720
17721 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
17722
17723         * config/srclist.txt: Add glibc bug 1302.
17724
17725 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
17726
17727         Change bitset word type from unsigned int to unsigned long int,
17728         as this has better performance on typical 64-bit hosts.
17729         Port bitset code to hosts with unusual word sizes.
17730         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
17731         (build_collating_symbol):
17732         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
17733         argument is a bitset.  This is merely a style issue, but it makes
17734         it clearer that an entire array is expected.
17735         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
17736         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
17737         Port to the case where bitset_word is not the same as unsigned int.
17738         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
17739         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
17740         Likewise.
17741         * lib/regexec.c (check_dst_limits_calc_pos_1,
17742         check_subexp_matching_top):
17743         (build_trtable, group_nodes_into_DFAstates):
17744         Likewise.
17745         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
17746         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
17747         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
17748         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
17749         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
17750         * lib/regcomp.c (optimize_subexps, lower_subexp):
17751         Work even if bitset_word has holes in its bitwise representation.
17752         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
17753         * lib/regexec.c (check_dst_limits_calc_pos_1,
17754         check_subexp_matching_top):
17755         Likewise.
17756         * lib/regex_internal.c (re_string_reconstruct):
17757         Don't assume UCHAR_MAX == 255.
17758         * lib/regex_internal.h (bitset_set_all): Likewise.
17759         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
17760         All uses changed.
17761         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
17762         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
17763         All uses changed.
17764         (BITSET_WORD_MAX): New macro.
17765         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
17766         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
17767         (bitset_empty, bitset_copy):
17768         Prefer sizeof (bitset) to multiplying it out ourselves.
17769         (bitset_not_merge): Remove; unused.
17770         (bitset_contain): Return bool, not unsigned int with one bit on.
17771         All callers changed.
17772         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
17773         alignment than re_node_set; do this by defining a new internal
17774         type struct dests_alloc and using it to allocate memory.
17775
17776 2005-09-05  Bruno Haible  <bruno@clisp.org>
17777
17778         * gnulib-tool (func_import): Fix comparison in handling of symbolic
17779         links.
17780
17781 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
17782
17783         * modules/size_max (Makefile.am): Add size_max.h
17784
17785 2005-09-04  Derek Price  <derek@ximbiot.com>
17786
17787         * gnulib-tool (func_import): Fix reversed $symbolic logic.
17788
17789 2005-09-03  Simon Josefsson  <jas@extundo.com>
17790
17791         * gnulib-tool: Fix typo.
17792
17793 2005-09-03  Simon Josefsson  <jas@extundo.com>
17794
17795         * config/srclist.txt: Add glibc bug 1293.
17796
17797 2005-09-03  Derek Price  <derek@ximbiot.com>
17798
17799         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
17800         From Larry Jones <lawrence.jones@ugs.com>.
17801
17802 2005-09-02  Simon Josefsson  <jas@extundo.com>
17803
17804         * modules/socklen: New file.
17805
17806 2005-09-02  Simon Josefsson  <jas@extundo.com>
17807
17808         * modules/havelib: New module.
17809
17810         * modules/gettext, modules/iconv, modules/lock, modules/readline:
17811         Use havelib.
17812
17813 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17814
17815         Check for arithmetic overflow when calculating sizes, to prevent
17816         some buffer-overflow issues.  These patches are conservative, in the
17817         sense that when I couldn't determine whether an overflow was possible,
17818         I inserted a run-time check.
17819         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
17820         macros.
17821         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
17822         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
17823         (re_xnrealloc, re_x2nrealloc): New inline functions.
17824         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
17825         parse_bracket_exp):
17826         (build_equiv_class, build_charclass): Check for arithmetic overflow
17827         in size expression calculations.
17828         * lib/regex_internal.c (re_string_realloc_buffers):
17829         (build_wcs_upper_buffer, re_node_set_add_intersect):
17830         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
17831         (re_dfa_add_node, register_state): Likewise.
17832         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
17833         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
17834         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
17835         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
17836
17837 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17838
17839         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17840         m4/ulonglong.m4.  Problem reported by Martin Lambers.
17841
17842 2005-09-02  Bruno Haible  <bruno@clisp.org>
17843
17844         Support for lib vs. lib64 distinction on biarch platforms.
17845         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
17846         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
17847         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
17848
17849 2005-09-02  Bruno Haible  <bruno@clisp.org>
17850
17851         * gnulib-tool (import): In the other first-use case, provide defaults
17852         as well.
17853
17854 2005-09-02  Bruno Haible  <bruno@clisp.org>
17855
17856         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
17857         patches not yet found in the latest gettext release.
17858
17859 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17860
17861         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
17862         to avoid a collision with bits/local_lim.h in glibc.
17863         All uses changed.  Problem reported by Dmitry V. Levin in
17864         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
17865
17866         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
17867         bugs in int versus size_t comparisons.
17868         (re_string_context_at): Fix bug where the code assumed that
17869         Idx is signed.
17870
17871         Use bool where appropriate.
17872         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
17873         All callers changed.
17874         (calc_eclosure_iter): Likewise, for ROOT arg.
17875         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
17876         (build_charclass_op): Likewise, for NON_MATCH arg.
17877         * lib/regex_internal.c (re_string_allocate, re_string_construct):
17878         (re_string_construct_common): Likewise, for ICASE arg.
17879         * lib/regexec.c (re_search_2_stub, re_search_stub):
17880         Likewise, for RET_LEN arg.
17881         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
17882         (set_regs): Likewise, for FL_BACKTRACK arg.
17883         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
17884         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
17885         (calc_eclosure_iter, parse_bracket_exp):
17886         Use bool for internal variables that are booleans.
17887         * lib/regexec.c (re_search_internal, check_matching,
17888         proceed_next_node):
17889         (set_regs, build_sifted_states, sift_states_bkref):
17890         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
17891         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
17892         (find_collation_sequence_value):
17893         Likewise.
17894         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
17895         (re_node_set_compare):
17896         Return bool, not int. All callers changed.
17897         * lib/regexec.c (check_halt_node_context, check_dst_limits):
17898         (build_trtable, check_node_accept): Likewise.
17899         * lib/regex_internal.h: Include stdbool.h.
17900
17901         Fix bugs uncovered when converting to bool.
17902         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
17903         failure instead of charging ahead blindly.
17904         * lib/regex_internal.c (register_state): Likewise.
17905         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
17906         for freeing internal storage.
17907         (group_nodes_into_DFA_states): Use unsigned int, not int, for
17908         bitset pieces used as boolean, to avoid undefined behavior
17909         on hosts that do int overflow checking.
17910
17911 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17912
17913         * config/srclist.txt: Add glibc bugs 1285-1287.
17914
17915 2005-09-01  Jim Meyering  <jim@meyering.net>
17916
17917         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
17918         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
17919         Require gl_STAT_MACROS, too.
17920
17921 2005-09-01  Bruno Haible  <bruno@clisp.org>
17922
17923         * gnulib-tool (import): In the first-use case, provide defaults.
17924
17925 2005-09-01  Bruno Haible  <bruno@clisp.org>
17926
17927         * gnulib-tool (func_import): Remove the .tmp files.
17928
17929 2005-09-01  Bruno Haible  <bruno@clisp.org>
17930
17931         * gnulib-tool (func_import): Fix handling of symbolic links.
17932
17933 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17934
17935         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
17936         old glibc regex code mishandles strings longer than 2**31 bytes.
17937         This patch fixes this when the regex code is used in gnulib
17938         (i.e., outside glibc).
17939
17940         This patch should not affect the use of the regex code inside
17941         glibc.  No doubt this problem also needs to be handled for glibc
17942         as well, but the result will be an incompatible change to the
17943         glibc ABI, and the old ABI will have to be supported too.  That
17944         can be the the subject for another patch.
17945
17946         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
17947         governing whether the rest of this patch is active.  By default,
17948         the macro is disabled and the patch has no effect.
17949         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
17950         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
17951         (struct re_pattern_buffer, re_search, re_search_2, re_match):
17952         (re_match_2, re_set_registers): Use the new types.
17953         * lib/regex_internal.h (Idx, re_hashval_t): New types.
17954         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
17955         New macros.
17956         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
17957         (re_string_context_at, bin_tree_t, re_dfastate_t):
17958         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
17959         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
17960         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
17961         (re_string_char_size_at, re_string_wchar_at):
17962         (re_string_elem_size_at):
17963         Use the new types and macros to port to 64-bit hosts.
17964         Use unsigned types for internal values, so that the code
17965         mostly works even for arrays larger than SSIZE_MAX.
17966         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
17967         (search_duplicated_node, calc_eclosure_iter, fetch_number):
17968         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
17969         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
17970         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
17971         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
17972         (calc_inveclosure, parse_dup_op, build_range_exp):
17973         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
17974         (fetch_number, create_token_tree, mark_opt_subexp):
17975         Likewise.
17976         * lib/regex_internal.c (re_string_construct_common,
17977         create_ci_newstate):
17978         (create_cd_newstate, re_string_allocate, re_string_construct):
17979         (re_string_realloc_buffers, build_wcs_upper_buffer):
17980         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
17981         (re_string_reconstruct, re_string_peek_byte_case):
17982         (re_string_fetch_byte_case, re_string_context_at):
17983         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
17984         (re_node_set_init_copy, re_node_set_add_intersect):
17985         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
17986         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
17987         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
17988         (re_acquire_state, re_acquire_state_context, register_state):
17989         Likewise.
17990         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
17991         search_cur_bkref_entry):
17992         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
17993         (re_search_internal, re_search_2_stub, re_search_stub)
17994         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
17995         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
17996         (update_cur_sifted_state, check_dst_limits):
17997         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
17998         (check_subexp_limits, sift_states_bkref, merge_state_array):
17999         (check_subexp_matching_top, get_subexp, get_subexp_sub):
18000         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
18001         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
18002         (expand_bkref_cache, check_node_accept_bytes):
18003         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
18004         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
18005         (acquire_init_state_context, check_halt_node_context):
18006         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
18007         (sift_states_backward, clean_state_log_if_needed):
18008         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
18009         (find_recover_state, transit_state_sb, transit_state_mb):
18010         (transit_state_bkref, build_trtable, match_ctx_clean):
18011         Likewise.
18012         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
18013         to work around an assumption that REG_MISSING is negative.
18014
18015         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
18016         (seek_collating_symbol_entry) [defined _LIBC]:
18017         (lookup_collation_sequence_value) [defined _LIBC]:
18018         (build_range_exp, build_collating_symbol) [defined _LIBC]:
18019         Use prototypes rather than old-style function definitions.
18020         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
18021         (transit_state_sb) [0]:
18022         (find_collation_sequence_value) [defined _LIBC]: Likewise.
18023
18024         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
18025         rm_eo.
18026
18027         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
18028         (optimize_subexps, lower_subexp):
18029         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
18030         since the signed shift might overflow.  Use 1u<<31 instead.
18031         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
18032         Likewise.
18033         * lib/regexec.c (check_dst_limits_calc_pos_1,
18034         check_subexp_matching_top): Likewise.
18035
18036         * lib/regcomp.c (optimize_subexps, lower_subexp):
18037         Use CHAR_BIT rather than 8, for clarity.
18038         * lib/regexec.c (check_dst_limits_calc_pos_1):
18039         (check_subexp_matching_top): Likewise.
18040         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
18041         have to worry about portability issues when shifting it left.
18042         Remove no-longer-needed test for table_size > 0.
18043         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
18044         in a word, as the resulting behavior is undefined.
18045         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
18046         in one case, a <= should have been an <, and in another case the
18047         whole test was missing.
18048         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
18049         the standard name CHAR_BIT.
18050         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
18051         this is not true on one's complement and signed-magnitude hosts.
18052
18053         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
18054         next_last_offset.
18055         (struct re_dfa_t): Remove unused member states_alloc.
18056         * lib/regcomp.c (init_dfa): Don't initialize unused members.
18057
18058 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18059
18060         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
18061         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
18062         and large-file glibc and in 32-bit large-file Solaris.
18063
18064 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18065
18066         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
18067         lengths fit in regoff_t; this isn't true if regoff_t is the same
18068         width as size_t.
18069         * lib/regex.c (re_search_internal): 5th arg is LAST_START
18070         (= START + RANGE) instead of RANGE.  This avoids overflow
18071         problems when regoff_t is the same width as size_t.
18072         All callers changed.
18073         (re_search_2_stub): Check for overflow when adding the
18074         sizes of the two strings.
18075         (re_search_stub): Check for overflow when adding START
18076         to RANGE; if it occurs, substitute the extreme value.
18077
18078 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18079
18080         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
18081
18082 2005-08-31  Jim Meyering  <jim@meyering.net>
18083
18084         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
18085         a pointer-to-const.
18086         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
18087         (register_state): Likewise.
18088         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
18089         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
18090         (group_nodes_into_DFAstates): Likewise.
18091
18092 2005-08-31  Jim Meyering  <jim@meyering.net>
18093
18094         * check-module: Add a FIXME comment.
18095
18096 2005-08-31  Eric Blake  <ebb9@byu.net>
18097
18098         * modules/unistd-safer (Files): Add unistd--.h.
18099         * modules/stdio-safer (Files): Add stdio--.h.
18100
18101 2005-08-31  Derek Price  <derek@ximbiot.com>
18102
18103         * lib/getdelim.c (getdelim): Return EOF on EOF.
18104         Reported by Larry Jones <lawrence.jones@ugs.com>.
18105
18106 2005-08-31  Bruno Haible  <bruno@clisp.org>
18107
18108         Avoid unnecessary diffs in the generated lib/Makefile.am.
18109         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
18110         the generated files.
18111         (func_import): Don't set cmd.
18112
18113 2005-08-31  Bruno Haible  <bruno@clisp.org>
18114
18115         * lib/strstr.c: Include <stddef.h>, for NULL.
18116         * lib/strcasestr.c: Likewise.
18117         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18118
18119 2005-08-31  Bruno Haible  <bruno@clisp.org>
18120
18121         * gnulib-tool: New option --macro-prefix.
18122         (func_import): Use macro_prefix.
18123         (import): Handle option --macro-prefix.
18124
18125 2005-08-31  Bruno Haible  <bruno@clisp.org>
18126
18127         * gnulib-tool (import): Rename most ac_* variables to cached_*.
18128         Also use new variables cached_lgpl, cached_libtool.
18129
18130 2005-08-31  Bruno Haible  <bruno@clisp.org>
18131
18132         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
18133         always instantiating them.
18134
18135 2005-08-31  Bruno Haible  <bruno@clisp.org>
18136
18137         * gnulib-tool (func_import): Read the previous cached settings
18138         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
18139         earlier added by gnulib but are now dropped. Warn when a gnulib file
18140         overwrites a non-gnulib file.
18141
18142 2005-08-31  Bruno Haible  <bruno@clisp.org>
18143
18144         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
18145         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
18146         projects that don't keep autogenerated files in CVS. Put into
18147         actioncmd only the specified modules, not the transitive closure.
18148
18149 2005-08-31  Bruno Haible  <bruno@clisp.org>
18150
18151         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
18152         Create directories that shall be filled.
18153         (import): Don't look for gl_* macros in configure.ac. Recurse across
18154         all directories containing a gnulib-cache.m4 files, if meaningful.
18155
18156 2005-08-31  Bruno Haible  <bruno@clisp.org>
18157
18158         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
18159         (import): Set seen_libtool when we see gl_LIBTOOL.
18160
18161 2005-08-31  Bruno Haible  <bruno@clisp.org>
18162
18163         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
18164         declaration macro definitions from generated gnulib.m4.
18165
18166 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
18167
18168         * lib/iconvme.h: Add prototype for iconv_alloc.
18169
18170 2005-08-29  Simon Josefsson  <jas@extundo.com>
18171
18172         * lib/iconvme.c: Fix errno.
18173
18174 2005-08-29  Bruno Haible  <bruno@clisp.org>
18175
18176         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
18177         that it works when the directory contains spaces.
18178
18179 2005-08-29  Bruno Haible  <bruno@clisp.org>
18180
18181         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
18182
18183 2005-08-29  Bruno Haible  <bruno@clisp.org>
18184
18185         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
18186         Emit more advice.
18187
18188 2005-08-29  Bruno Haible  <bruno@clisp.org>
18189         and Stepan Kasal  <kasal@ucw.cz>
18190
18191         * check-module: If more parameters are given, check each of them
18192         separately; add more exceptions, as noted by Jim Meyering.
18193         (check_module): New procedure.
18194         (%exempt_header): Now contains all exceptions.
18195
18196 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
18197
18198         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
18199
18200 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
18201
18202         * lib/iconvme.c: Split iconv_string into iconv_alloc.
18203
18204 2005-08-28  Bruno Haible  <bruno@clisp.org>
18205
18206         * m4/gnulib-tool.m4: New file.
18207
18208 2005-08-27  Jim Meyering  <jim@meyering.net>
18209
18210         * modules/unistd-safer (Files): Add pipe-safer.c.
18211         * modules/fcntl-safer (Files): Add creat-safer.c.
18212
18213 2005-08-27  Jim Meyering  <jim@meyering.net>
18214
18215         * m4/stdlib-safer.m4: New file.  From coreutils.
18216         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
18217         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
18218         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
18219         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
18220         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
18221
18222 2005-08-27  Jim Meyering  <jim@meyering.net>
18223
18224         * lib/fopen-safer.c: Merge minor changes from coreutils.
18225         * lib/dup-safer.c: Likewise.
18226         * lib/fd-safer.c: Likewise.
18227
18228         Merge from coreutils.
18229         * lib/stdio--.h: New file.
18230         * lib/stdlib--.h: New file.
18231         * lib/mkstemp-safer.c: New file.
18232
18233         GNU tar needs these.
18234         * lib/pipe-safer.c: New file.
18235         * lib/creat-safer.c: New file.
18236         * lib/fcntl--.h (creat): Define to creat_safer.
18237         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
18238         * lib/unistd--.h (pipe): Define to pipe_safer.
18239         * lib/unistd-safer.h: Declare pipe_safer.
18240
18241 2005-08-26  Simon Josefsson  <jas@extundo.com>
18242
18243         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
18244         Haible <bruno@clisp.org>.
18245
18246 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
18247
18248         * lib/regex_internal.h: Remove all references to
18249         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
18250         or better.
18251         (bitset_not, bitset_merge, bitset_not_merge):
18252         (bitset_mask, re_string_allocate, re_string_construct):
18253         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
18254         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
18255         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
18256         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
18257         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
18258         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
18259         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
18260         (re_acquire_state_context):
18261         Remove unnecessary forward decls.
18262         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
18263         Put __attribute at function definition,
18264         now that the function decl has been removed.
18265         * lib/regex_internal.c (re_string_peek_byte_case):
18266         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
18267         Likewise.
18268
18269 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
18270
18271         * m4/regex.m4: Add AC_PREREQ(2.50).
18272         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
18273
18274 2005-08-25  Simon Josefsson  <jas@extundo.com>
18275
18276         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
18277         __fsetlocking.
18278
18279 2005-08-25  Simon Josefsson  <jas@extundo.com>
18280
18281         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
18282         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
18283         GLIBC specific code.
18284
18285 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18286
18287         Make regex safe for g++.  This fixes one real bug (an "err"
18288         that should have been "*err").  g++ problem reported by
18289         Sam Steingold.
18290         * lib/regex_internal.h (re_calloc): New macro, consistent with
18291         re_malloc etc.  All callers of calloc changed to use re_calloc.
18292         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
18293         not int.  All callers changed.
18294         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
18295         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
18296         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
18297         (find_recover_state): Change "err" to "*err"; this fixes what
18298         appears to be a real bug.
18299         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
18300         versus int.
18301
18302 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18303
18304         * modules/regex (Depends-on): Add malloc, since the code
18305         assumes that !malloc(0) means failure.
18306
18307 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18308
18309         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
18310
18311         alloca modernization/simplification for regex.
18312         * lib/regex.c: Remove portability cruft for alloca.  This no longer
18313         needs to be at the start of the file, and can be moved into
18314         regex_internal.h and simplified.
18315         * lib/regex_internal.h: Include <alloca.h>.
18316         (__libc_use_alloca) [!defined _LIBC]: New macro.
18317         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
18318         now works outside glibc.
18319
18320 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18321
18322         * config/srclist.txt: Add glibc bugs 1241, 1245.
18323
18324 2005-08-25  Jim Meyering  <jim@meyering.net>
18325
18326         * lib/open-safer.c: Include <config.h>.
18327         Otherwise, we'd lose LARGEFILE support in any file using
18328         e.g. "fcntl--.h"
18329
18330 2005-08-25  Bruno Haible  <bruno@clisp.org>
18331
18332         * m4/minmax.m4: Require autoconf 2.52.
18333         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
18334         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
18335         alternatives of translit over the alphabet.
18336         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
18337
18338 2005-08-24  Simon Josefsson  <jas@extundo.com>
18339
18340         * tests/test-getpass.c: New file.
18341
18342 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18343
18344         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
18345         for GNU regex features.
18346
18347 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18348
18349         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
18350         * lib/regex.h (regerror): Likewise.
18351
18352         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
18353         requires this.  (The code never needed it.)
18354
18355         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
18356         All uses of recently-renamed identifiers changed to use the new,
18357         POSIX-compliant names.  The code will build and run just fine
18358         without these changes, but it's better to eat our own dog food
18359         and use the standard-conforming names.
18360
18361         * lib/regex.h: Fix a multitude of POSIX name space violations.
18362         These changes have an effect only for programs that define
18363         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
18364         do not change anything for programs compiled in the normal way.
18365         Also, there is no effect on the ABI.
18366
18367         (_REGEX_SOURCE): New macro.
18368         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
18369         defined and _GNU_SOURCE is not; this fixes a name space violation.
18370
18371         Rename the following macros to obey POSIX requirements.
18372         The old names are still visible as macros if _REGEX_SOURCE is defined.
18373         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
18374         RE_BACKSLASH_ESCAPE_IN_LISTS.
18375         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
18376         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
18377         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
18378         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
18379         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
18380         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
18381         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
18382         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
18383         (REG_INTERVALS): renamed from RE_INTERVALS.
18384         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
18385         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
18386         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
18387         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
18388         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
18389         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
18390         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
18391         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
18392         RE_UNMATCHED_RIGHT_PAREN_ORD.
18393         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
18394         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
18395         (REG_DEBUG): renamed from RE_DEBUG.
18396         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
18397         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
18398         unusual, since we can't clash with the POSIX REG_ICASE.
18399         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
18400         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
18401         (REG_NO_SUB): renamed from RE_NO_SUB.
18402         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
18403         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
18404         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
18405         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
18406         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
18407         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
18408         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
18409         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
18410         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
18411         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
18412         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
18413         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
18414         RE_SYNTAX_POSIX_MINIMAL_BASIC.
18415         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
18416         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
18417         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
18418         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
18419         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
18420         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
18421         (REG_FIXED): Renamed from REGS_FIXED.
18422         (REG_NREGS): Renamed from RE_NREGS.
18423
18424         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
18425         of other REG_* macros, since POSIX says the user is allowed to
18426         #undef these macros selectively.
18427
18428         (reg_errcode_t): Update comment stating what other tables need
18429         to be consistent.
18430
18431         Rename the following enum values to obey POSIX requirements.
18432         The old names are still visible as macros.
18433         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
18434         is not defined, since GNU is supposed to be a superset of POSIX as
18435         much as possible, and since we want reg_errcode_t to be a signed
18436         type for implementation consistency.
18437         (_REG_NOERROR): Renamed from REG_NOERROR.
18438         (_REG_NOMATCH): Renamed from REG_NOMATCH.
18439         (_REG_BADPAT): Renamed from REG_BADPAT.
18440         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
18441         (_REG_ECTYPE): Renamed from REG_ECTYPE.
18442         (_REG_EESCAPE): Renamed from REG_EESCAPE.
18443         (_REG_ESUBREG): Renamed from REG_ESUBREG.
18444         (_REG_EBRACK): Renamed from REG_EBRACK.
18445         (_REG_EPAREN): Renamed from REG_EPAREN.
18446         (_REG_EBRACE): Renamed from REG_EBRACE.
18447         (_REG_BADBR): Renamed from REG_BADBR.
18448         (_REG_ERANGE): Renamed from REG_ERANGE.
18449         (_REG_ESPACE): Renamed from REG_ESPACE.
18450         (_REG_BADRPT): Renamed from REG_BADRPT.
18451         (_REG_EEND): Renamed from REG_EEND.
18452         (_REG_ESIZE): Renamed from REG_ESIZE.
18453         (_REG_ERPAREN): Renamed from REG_ERPAREN.
18454         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
18455         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
18456         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
18457         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
18458
18459         (_REG_RE_NAME, _REG_RM_NAME): New macros.
18460         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
18461         changed.  But support the old name if the new one is not defined
18462         and if _REGEX_SOURCE.
18463
18464         Change the following member names in struct re_pattern_buffer.
18465         The old names are still supported if !_REGEX_SOURCE.
18466         The new names are always supported, regardless of _REGEX_SOURCE.
18467         (re_buffer): Renamed from buffer.
18468         (re_allocated): Renamed from allocated.
18469         (re_used): Renamed from used.
18470         (re_syntax): Renamed from syntax.
18471         (re_fastmap): Renamed from fastmap.
18472         (re_translate): Renamed from translate.
18473         (re_can_be_null): Renamed from can_be_null.
18474         (re_regs_allocated): Renamed from regs_allocated.
18475         (re_fastmap_accurate): Renamed from fastmap_accurate.
18476         (re_no_sub): Renamed from no_sub.
18477         (re_not_bol): Renamed from not_bol.
18478         (re_not_eol): Renamed from not_eol.
18479         (re_newline_anchor): Renamed from newline_anchor.
18480
18481         Change the following member names in struct re_registers.
18482         The old names are still supported if !_REGEX_SOURCE.
18483         The new names are always supported, regardless of _REGEX_SOURCE.
18484         (rm_num_regs): Renamed from num_regs.
18485         (rm_start): Renamed from start.
18486         (rm_end): Renamed from end.
18487
18488         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
18489         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
18490         Prepend __ to parameter names.
18491
18492         Undo yesterday's changes.
18493
18494 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18495
18496         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
18497         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
18498         lib/regex.c.
18499
18500 2005-08-24  Jim Meyering  <jim@meyering.net>
18501
18502         Sync from coreutils.
18503         * m4/fcntl-safer.m4: New file.
18504
18505         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
18506         and object files for this module.
18507
18508 2005-08-24  Jim Meyering  <jim@meyering.net>
18509
18510         Sync from coreutils.
18511         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
18512
18513 2005-08-24  Jim Meyering  <jim@meyering.net>
18514
18515         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
18516         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
18517
18518 2005-08-24  Jim Meyering  <jim@meyering.net>
18519
18520         * modules/fcntl-safer: New module.
18521         * modules/fts (Depends-on): Add fcntl-safer.
18522         * MODULES.html.sh (File descriptor based Input/Output):
18523         Add fcntl-safer.
18524
18525 2005-08-24  Bruno Haible  <bruno@clisp.org>
18526
18527         Support for unit test modules.
18528         * modules/README: Mention tests modules.
18529         * modules/TEMPLATE-TESTS: New file.
18530         * gnulib-tool: New options --extract-tests-module, --with-tests and
18531         --tests-base (unused for the moment).
18532         (testsbase, inctests): New variables.
18533         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
18534         (func_verify_module): Exclude TEMPLATE-TESTS.
18535         (func_verify_nontests_module, func_verify_tests_module): New functions.
18536         (func_get_dependencies): Add implicit dependency for tests modules.
18537         (func_get_tests_module): New function.
18538         (func_modules_transitive_closure): When --with-tests was specified,
18539         include the unit tests as well, unless explicitly avoided.
18540         (func_emit_lib_Makefile_am): Ignore the tests modules here.
18541         (func_emit_tests_Makefile_am): New function.
18542         (func_create_testdir): When --with-tests was specified, emit a
18543         tests/ directory.
18544         * MODULES.html.sh (Future developments): Update.
18545
18546 2005-08-24  Bruno Haible  <bruno@clisp.org>
18547
18548         * modules/tls-tests: New file.
18549         * tests/test-tls.c: New file, from GNU gettext.
18550
18551 2005-08-24  Bruno Haible  <bruno@clisp.org>
18552
18553         * modules/lock-tests: New file.
18554         * tests/test-lock.c: New file, from GNU gettext.
18555
18556 2005-08-24  Bruno Haible  <bruno@clisp.org>
18557
18558         * lib/lock.h: Add multiple inclusion guard.
18559         * lib/tls.h: Add multiple inclusion guard.
18560
18561 2005-08-24  Bruno Haible  <bruno@clisp.org>
18562
18563         * gnulib-tool: Add support for the --aux-dir option to
18564         --create-testdir, --create-megatestdir, --test, --megatest.
18565         (func_create_testdir, func_create_megatestdir): Optionally emit a
18566         AC_CONFIG_AUX_DIR directive.
18567         (create-testdir, create-megatestdir, test, megatest): Provide a
18568         default value for $auxdir.
18569
18570 2005-08-24  Bruno Haible  <bruno@clisp.org>
18571
18572         * gnulib-tool (import): Use compound statement instead of subshell
18573         where possible.
18574
18575 2005-08-24  Bruno Haible  <bruno@clisp.org>
18576
18577         * gnulib-tool (import): Change --aux-dir default to "build-aux".
18578
18579 2005-08-24  Bruno Haible  <bruno@clisp.org>
18580
18581         * gnulib-tool (func_version): Update.
18582
18583 2005-08-24  Bruno Haible  <bruno@clisp.org>
18584
18585         * gnulib-tool (func_import, func_create_testdir,
18586         func_create_megatestdir): Quote all autoconf macro arguments.
18587
18588 2005-08-24  Bruno Haible  <bruno@clisp.org>
18589
18590         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
18591         option --force, because --force causes the aclocal.m4 of each
18592         subdirectory to be newer than the corresponding config.h.in.
18593
18594 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18595
18596         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
18597         All contents moved to gl_REGEX.
18598         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
18599         assume that it does.
18600
18601 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18602
18603         * lib/regex.h (REG_NOSYS)
18604         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
18605         Define, since POSIX requires it as of 2001.
18606         (_REG_ENOSYS)
18607         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
18608         New private symbol, used to keep the enum signed in all cases.
18609         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
18610         Youngman in
18611         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
18612
18613         * lib/regex_internal.c (re_string_skip_chars, register_state):
18614         (calc_state_hash):
18615         Remove forward decls; no longer needed now that we use prototypes.
18616         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
18617         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
18618         (clean_state_log_if_needed): Likewise.
18619
18620 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18621
18622         * config/srclist.txt: Add glibc bugs 1231-1233.
18623
18624 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18625
18626         Fix problems reported by Sam Steingold in
18627         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
18628         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
18629         assumed that reg_errcode_t is a signed type, which is not
18630         necessarily true if _XOPEN_SOURCE is not defined.
18631         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
18632         since some compilers warn about it otherwise.
18633
18634 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18635
18636         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
18637         (init_word_char, create_initial_state, duplicate_node_closure):
18638         (fetch_token, peek_token_bracket, build_range_exp):
18639         (build_collating_symbol): Remove forward decls; no longer needed
18640         now that we use prototypes.
18641
18642         * lib/regcomp.c:
18643         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
18644         (re_compile_fastmap_iter, regcomp, regerror, regfree):
18645         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
18646         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
18647         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
18648         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
18649         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
18650         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
18651         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
18652         (build_range_exp, build_collating_symbol, parse_bracket_exp):
18653         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
18654         (build_charclass, build_charclass_op, fetch_number, create_tree):
18655         (create_token_tree, mark_opt_subexp, duplicate_tree):
18656         Use prototypes rather than old-style definitions.
18657
18658         * lib/regex_internal.c:
18659         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
18660         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
18661         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
18662         (re_string_reconstruct, re_string_peek_byte_case):
18663         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
18664         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
18665         (re_node_set_init_copy, re_node_set_add_intersect):
18666         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
18667         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
18668         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
18669         (re_acquire_state, re_acquire_state_context, register_state):
18670         (create_ci_newstate, create_cd_newstate, free_state):
18671         Likewise.
18672         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
18673         re_search_2):
18674         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
18675         (re_search_internal, prune_impossible_nodes):
18676         (acquire_init_state_context, check_matching, static):
18677         (check_halt_node_context, check_halt_state_context, proceed_next_node):
18678         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
18679         (update_regs, sift_states_backward, build_sifted_states):
18680         (clean_state_log_if_needed, merge_state_array):
18681         (update_cur_sifted_state, add_epsilon_src_nodes):
18682         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
18683         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
18684         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
18685         (find_recover_state, check_subexp_matching_top, transit_state_mb):
18686         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
18687         (check_arrival, check_arrival_add_next_nodes):
18688         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
18689         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
18690         (check_node_accept_bytes, check_node_accept, extend_buffers):
18691         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
18692         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
18693         (sift_ctx_init):
18694         Likewise.
18695
18696         * lib/regex_internal.h:
18697         (re_string_allocate, re_string_construct, re_string_reconstruct):
18698         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
18699         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
18700         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
18701         (re_string_context_at, re_string_peek_byte_case):
18702         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
18703         is defined, since we now use prototypes always.
18704
18705         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
18706         C89 or better.  All uses removed.
18707
18708 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18709
18710         * config/srclist.txt: Add glibc bugs 1220-1227.
18711
18712 2005-08-20  Jim Meyering  <jim@meyering.net>
18713
18714         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
18715         of unused local, dfa.
18716
18717 2005-08-20  Bruno Haible  <bruno@clisp.org>
18718
18719         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
18720
18721 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18722
18723         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
18724         (re_node_set_insert_last, re_dfa_add_node):
18725         Rename local variables to avoid GCC shadowing warnings.
18726
18727 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18728
18729         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
18730         [defined lint]: Suppress bogus uninitialized-variable warnings.
18731
18732         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
18733         and let the caller return REG_ESPACE if out of space.  This
18734         removes an uninitialied-variable warning with GCC 4.0.1, and also
18735         avoids taking the address of a local variable.  All callers
18736         changed.
18737
18738 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18739
18740         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
18741         $LIBCSRC/posix/regexec.c.
18742         Add glibc bug 1217 for regcomp.c.
18743
18744 2005-08-19  Jim Meyering  <jim@meyering.net>
18745
18746         * lib/regexec.c (proceed_next_node): Redo local variables to
18747         avoid GCC shadowing warnings.
18748
18749 2005-08-18  Bruno Haible  <bruno@clisp.org>
18750
18751         * lib/strstr.c (strstr): Fix return value in multibyte case.
18752         * lib/strcasestr.c (strcasestr): Likewise.
18753
18754 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
18755
18756         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
18757
18758 2005-08-17  Jim Meyering  <jim@meyering.net>
18759
18760         Make the %s format (seconds since the epoch) work for a negative
18761         number and when used with a zero-padded field width, e.g. %015s.
18762
18763         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
18764         label so that it precedes the code to set `digits'.  Otherwise,
18765         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
18766         print `00-22'.  Now, it prints `-0022', as it should.
18767
18768 2005-08-17  Bruno Haible  <bruno@clisp.org>
18769
18770         * modules/strstr (Files): Add m4/mbrtowc.m4.
18771         (Depends-on): Add mbuiter.
18772
18773 2005-08-17  Bruno Haible  <bruno@clisp.org>
18774
18775         * modules/strcasestr: New file.
18776         * MODULES.html.sh (String handling, based on ANSI C 89): Add
18777         strcasestr.
18778
18779 2005-08-17  Bruno Haible  <bruno@clisp.org>
18780
18781         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
18782
18783 2005-08-17  Bruno Haible  <bruno@clisp.org>
18784
18785         * modules/mbuiter: New file.
18786         * MODULES.html.sh (Extended multibyte and wide character utilities):
18787         Add mbuiter.
18788
18789 2005-08-17  Bruno Haible  <bruno@clisp.org>
18790
18791         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
18792         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
18793
18794 2005-08-17  Bruno Haible  <bruno@clisp.org>
18795
18796         * m4/strcasestr.m4: New file.
18797
18798 2005-08-17  Bruno Haible  <bruno@clisp.org>
18799
18800         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
18801         * lib/strstr.c: Completely rewritten, with multibyte locale support.
18802
18803 2005-08-17  Bruno Haible  <bruno@clisp.org>
18804
18805         * lib/strcasestr.h: New file.
18806         * lib/strcasestr.c: New file.
18807
18808 2005-08-17  Bruno Haible  <bruno@clisp.org>
18809
18810         * lib/strcasecmp.c: Use mbuiter.h.
18811
18812 2005-08-17  Bruno Haible  <bruno@clisp.org>
18813
18814         * lib/mbuiter.h: New file.
18815
18816 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
18817
18818         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
18819         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
18820         and gl_GETOPT are both invoked via different paths (as happens
18821         with GNU tar CVS because it uses both argp and getopt), the former
18822         wins.
18823
18824 2005-08-16  Bruno Haible  <bruno@clisp.org>
18825
18826         * modules/tls: New file.
18827         * MODULES.html.sh (Multithreading): Add tls.
18828
18829 2005-08-16  Bruno Haible  <bruno@clisp.org>
18830
18831         * modules/strnlen1: New file.
18832         * MODULES.html.sh (String handling): Add strnlen1.
18833
18834 2005-08-16  Bruno Haible  <bruno@clisp.org>
18835
18836         * modules/strcase (Files): Add m4/mbrtowc.m4.
18837         (Depends-on): Add strnlen1, mbchar.
18838
18839 2005-08-16  Bruno Haible  <bruno@clisp.org>
18840
18841         * modules/mbiter: New file.
18842         * MODULES.html.sh (Extended multibyte and wide character utilities):
18843         Add mbiter.
18844
18845 2005-08-16  Bruno Haible  <bruno@clisp.org>
18846
18847         * modules/mbfile: New file.
18848         * MODULES.html.sh (Extended multibyte and wide character utilities):
18849         Add mbfile.
18850
18851 2005-08-16  Bruno Haible  <bruno@clisp.org>
18852
18853         * modules/mbchar: New file.
18854         * MODULES.html.sh (Extended multibyte and wide character utilities):
18855         New section.
18856
18857 2005-08-16  Bruno Haible  <bruno@clisp.org>
18858
18859         * m4/tls.m4: New file, from GNU gettext.
18860
18861 2005-08-16  Bruno Haible  <bruno@clisp.org>
18862
18863         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
18864         always.
18865         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
18866
18867 2005-08-16  Bruno Haible  <bruno@clisp.org>
18868
18869         * m4/mbiter.m4: New file.
18870
18871 2005-08-16  Bruno Haible  <bruno@clisp.org>
18872
18873         * m4/mbfile.m4: New file.
18874
18875 2005-08-16  Bruno Haible  <bruno@clisp.org>
18876
18877         * m4/mbchar.m4: New file.
18878
18879 2005-08-16  Bruno Haible  <bruno@clisp.org>
18880
18881         * lib/tls.h: New file, from GNU gettext.
18882         * lib/tls.c: New file, from GNU gettext.
18883
18884 2005-08-16  Bruno Haible  <bruno@clisp.org>
18885
18886         * lib/strnlen1.h: New file.
18887         * lib/strnlen1.c: New file.
18888
18889 2005-08-16  Bruno Haible  <bruno@clisp.org>
18890
18891         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
18892         (mbi_init): Update.
18893         (mbi_avail, mbi_advance): Let the iteration end before the terminating
18894         NUL byte, not after it.
18895
18896 2005-08-16  Bruno Haible  <bruno@clisp.org>
18897
18898         * lib/strcase.h (strcasecmp): Add note in comments.
18899         * lib/strncasecmp.c: Use code from strcasecmp.c.
18900         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
18901         (strcasecmp): Work correctly in multibyte locales.
18902
18903 2005-08-16  Bruno Haible  <bruno@clisp.org>
18904
18905         * lib/mbiter.h: New file.
18906
18907 2005-08-16  Bruno Haible  <bruno@clisp.org>
18908
18909         * lib/mbfile.h: New file.
18910
18911 2005-08-16  Bruno Haible  <bruno@clisp.org>
18912
18913         * lib/mbchar.h: New file.
18914         * lib/mbchar.c: New file.
18915
18916 2005-08-16  Bruno Haible  <bruno@clisp.org>
18917
18918         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
18919         the valid ones. Makes the comparison operations transitive:
18920         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
18921         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
18922
18923 2005-08-15  Simon Josefsson  <jas@extundo.com>
18924
18925         * modules/ssize_t (License): Change to 'unlimited'.
18926
18927         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
18928
18929 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18930
18931         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
18932         Add comments for each pending glibc patch.
18933
18934 2005-08-15  Bruno Haible  <bruno@clisp.org>
18935
18936         * lib/regex.h (__restrict_arr): Don't define to __restrict if
18937         __cplusplus is defined.
18938
18939 2005-08-14  Jim Meyering  <jim@meyering.net>
18940
18941         Sync from coreutils.
18942
18943         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
18944         Use the hash-table-based cycle-detection code not just when
18945         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
18946         Reported by James Youngman in
18947         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
18948         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
18949         FTS_TIGHT_CYCLE_CHECK.
18950         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
18951         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
18952         once again.
18953         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
18954         * lib/fts.c (fd_safer): Remove decl.
18955         Include fcntl--.h rather than unistd-safer.h
18956         (fts_safe_changedir): Don't call fd_safer; no longer needed
18957         now that we include fcntl--.h.
18958
18959 2005-08-12  Simon Josefsson  <jas@extundo.com>
18960
18961         * modules/getndelim2: Use ssize_t module.
18962         * modules/getnline: Likewise.
18963         * modules/safe-read: Likewise.
18964         * modules/xreadlink: Likewise.
18965
18966         * modules/ssize_t: New file.
18967
18968 2005-08-12  Simon Josefsson  <jas@extundo.com>
18969
18970         * m4/readline.m4: Look for termcap, curses or ncurses if required.
18971
18972 2005-08-12  Simon Josefsson  <jas@extundo.com>
18973
18974         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18975         ssize_t.
18976
18977 2005-08-12  Simon Josefsson  <jas@extundo.com>
18978
18979         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
18980         readline, getdelim and check_version.
18981         (Support for systems lacking ISO C 99: Sizes of integer types):
18982         Add size_max.
18983
18984 2005-08-12  Bruno Haible  <bruno@clisp.org>
18985
18986         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
18987
18988 2005-08-11  Simon Josefsson  <jas@extundo.com>
18989
18990         * modules/readline: New file.
18991
18992         * modules/strnlen (Files): Add strnlen.h.
18993
18994 2005-08-11  Simon Josefsson  <jas@extundo.com>
18995
18996         * m4/readline.m4: New file.
18997
18998 2005-08-11  Simon Josefsson  <jas@extundo.com>
18999
19000         * lib/readline.h, readline.c: New file.
19001
19002 2005-08-11  Simon Josefsson  <jas@extundo.com>
19003
19004         * doc/gnulib.texi (Initial import, Finishing touches): Mention
19005         gl_AVOID.
19006
19007 2005-08-11  Bruno Haible  <bruno@clisp.org>
19008
19009         * lib/strnlen.h (strnlen): Change parameter name to match comment.
19010
19011 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
19012
19013         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
19014
19015 2005-08-10  Simon Josefsson  <jas@extundo.com>
19016
19017         * tests/test-iconvme.c: New file.
19018
19019 2005-08-10  Simon Josefsson  <jas@extundo.com>
19020
19021         * m4/strnlen.m4: New file.
19022
19023         * m4/strndup.m4: Don't check for strnlen declaration, done in
19024         strnlen.m4.
19025
19026 2005-08-10  Simon Josefsson  <jas@extundo.com>
19027
19028         * lib/strndup.c: Use strnlen.h.
19029
19030         * lib/strnlen.h: New file.
19031
19032 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
19033
19034         * README: Typos.
19035
19036 2005-08-02  Simon Josefsson  <jas@extundo.com>
19037
19038         * modules/readline: New file.
19039
19040 2005-08-02  Simon Josefsson  <jas@extundo.com>
19041
19042         * modules/getdelim: New file.
19043
19044         * modules/getline: Rewrite, don't use getndelim2.
19045
19046 2005-08-02  Simon Josefsson  <jas@extundo.com>
19047
19048         * m4/getline.m4: Separate out getdelim stuff into separate module.
19049
19050         * m4/getdelim.m4: New file.
19051
19052 2005-08-02  Simon Josefsson  <jas@extundo.com>
19053
19054         * lib/getline.h, getline.c: Rewrite.
19055
19056         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
19057
19058 2005-07-31  Bruno Haible  <bruno@clisp.org>
19059
19060         * lib/lock.h (gl_lock_initializer): New macro.
19061         (gl_lock_define_initialized): Use it.
19062         (gl_rwlock_initializer): New macro.
19063         (gl_rwlock_define_initialized): Use it.
19064         (gl_recursive_lock_initializer): New macro.
19065         (gl_recursive_lock_define_initialized): Use it.
19066
19067 2005-07-30  Karl Berry  <karl@gnu.org>
19068
19069         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
19070         Report from Ben Pfaff, regarding getopt.
19071
19072 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
19073
19074         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
19075         normal way.
19076         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
19077         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
19078         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
19079         (gl_GETOPT): Use the new macros.  Most of the implementation
19080         is moved to the new macros.  This is for programs like Emacs
19081         that don't want all the functionality of gl_GETOPT.
19082
19083 2005-07-26  Bruno Haible  <bruno@clisp.org>
19084
19085         * m4/lock.m4: Update from GNU gettext.
19086
19087 2005-07-26  Bruno Haible  <bruno@clisp.org>
19088
19089         * lib/lock.h: Update from GNU gettext.
19090         * lib/lock.c: Update from GNU gettext.
19091
19092 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
19093
19094         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
19095         obsolescent AC_TRY_RUN.  Include the default includes files, for
19096         'exit'.
19097
19098 2005-07-24  Bruno Haible  <bruno@clisp.org>
19099
19100         * modules/visibility: New file.
19101         * MODULES.html.sh (Misc): Add visibility.
19102
19103 2005-07-24  Bruno Haible  <bruno@clisp.org>
19104
19105         * m4/visibility.m4: New file.
19106
19107 2005-07-24  Bruno Haible  <bruno@clisp.org>
19108
19109         * doc/visibility.texi: New file.
19110
19111 2005-07-22  Bruno Haible  <bruno@clisp.org>
19112
19113         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
19114         $(ALLOCA_H), redundant through BUILT_SOURCES.
19115         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
19116         redundant through BUILT_SOURCES.
19117         * modules/byteswap (Makefile.am): Remove explicit dependency on
19118         $(BYTESWAP_H), redundant through BUILT_SOURCES.
19119         * modules/fnmatch (Makefile.am): Remove explicit dependency on
19120         $(FNMATCH_H), redundant through BUILT_SOURCES.
19121         * modules/getopt (Makefile.am): Remove explicit dependency on
19122         $(GETOPT_H), redundant through BUILT_SOURCES.
19123         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
19124         redundant through BUILT_SOURCES.
19125         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
19126         redundant through BUILT_SOURCES.
19127         * modules/stdbool (Makefile.am): Remove explicit dependency on
19128         $(STDBOOL_H), redundant through BUILT_SOURCES.
19129         * modules/stdint (Makefile.am): Remove explicit dependency on
19130         $(STDINT_H), redundant through BUILT_SOURCES.
19131         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
19132         Remove explicit dependency on $(SYSEXITS_H).
19133         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
19134
19135 2005-07-18  Simon Josefsson  <jas@extundo.com>
19136
19137         * lib/check-version.c (check_version): Accept identical versions too.
19138
19139 2005-07-18  Bruno Haible  <bruno@clisp.org>
19140
19141         * modules/lock: New file.
19142         * MODULES.html.sh (Multithreading): New section.
19143
19144 2005-07-18  Bruno Haible  <bruno@clisp.org>
19145
19146         * m4/lock.m4: New file, from GNU gettext.
19147
19148 2005-07-18  Bruno Haible  <bruno@clisp.org>
19149
19150         * lib/lock.h: New file, from GNU gettext.
19151         * lib/lock.c: New file, from GNU gettext.
19152
19153 2005-07-18  Bruno Haible  <bruno@clisp.org>
19154
19155         * lib/lock.h (gl_once_t): New type.
19156         (gl_once_define, gl_once): New macros.
19157         * lib/lock.c (fresh_once): New variable.
19158         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
19159         functions.
19160
19161 2005-07-16  Simon Josefsson  <jas@extundo.com>
19162
19163         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
19164         workaround, suggested by Bruno.
19165
19166 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
19167
19168         * modules/xalloc (Depends-on): Add xalloc-die.
19169         * modules/xvasprintf (Depends-on): Add xalloc-die.
19170
19171 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
19172
19173         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
19174         with a minor change.
19175
19176 2005-07-15  Bruno Haible  <bruno@clisp.org>
19177
19178         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
19179         When using lib/poll.c, define poll as rpl_poll.
19180
19181 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
19182
19183         * modules/argp (Depends-on): Remove unlocked-io.
19184
19185 2005-07-14  Derek Price  <derek@ximbiot.com>
19186
19187         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
19188         for glob symlink bug.
19189
19190 2005-07-14  Bruno Haible  <bruno@clisp.org>
19191
19192         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
19193         Instead, test for *_unlocked function declarations directly.
19194
19195 2005-07-11  Simon Josefsson  <jas@extundo.com>
19196
19197         * modules/size_max: New file.
19198
19199         * modules/xsize: Depend on size_max module for size_max.m4.
19200
19201 2005-07-11  Simon Josefsson  <jas@extundo.com>
19202
19203         * lib/size_max.h: New file.
19204
19205 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
19206
19207         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
19208         copyright symbol and the year.
19209         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
19210         (version_etc_va): Use parameterized copyright notice.
19211         Reword to conform to the current GNU coding standards.
19212
19213 2005-07-11  Karl Berry  <karl@gnu.org>
19214
19215         * doc/gnulib.texi (Quoting): new node.
19216         (Initial import): more info, from Patrice.
19217
19218 2005-07-11  Bruno Haible  <bruno@clisp.org>
19219
19220         * gnulib-tool (func_usage): Document option --avoid.
19221         (Command line options): Handle --avoid.
19222         (func_acceptable): New function.
19223         (func_modules_transitive_closure): Use it.
19224
19225 2005-07-11  Bruno Haible  <bruno@clisp.org>
19226
19227         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
19228         Reported by Jim Meyering.
19229
19230 2005-07-10  Bruno Haible  <bruno@clisp.org>
19231
19232         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
19233         Needed when size_t is smaller than 'unsigned int'.
19234         Reported by Paul Eggert.
19235
19236 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
19237
19238         * modules/argp (Depends-on): Add unlocked-io
19239
19240 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
19241
19242         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
19243         block of defines.
19244
19245 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
19246
19247         * config/srclist.txt: Comment out regcomp.c, since we have a porting
19248         fix now.
19249
19250 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
19251         and Paul Eggert  <eggert@cs.ucla.edu>
19252
19253         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
19254         in wint_t, not wchar_t.  Remove now-unnecessary cast.
19255
19256 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
19257
19258         * modules/regex (Files): Add lib/regex_internal.c,
19259         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
19260         (Depends-on): Add extensions.
19261         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
19262
19263 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
19264
19265         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
19266         pathconf.
19267         * m4/same.m4 (gl_SAME): Likewise.
19268         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
19269
19270         * m4/regex.m4: Adjust to new libc regex implementation.
19271         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
19272         all the .c and .h parts of (the new) regex.
19273         Quote the m4 stuff better.
19274         Check for RE_ICASE bug of old gnulib.
19275         Check for REG_STARTEND of recent libc.
19276         Rename local variables from jm_* to gl_*.
19277         Quote operand of "test -f".
19278         Say "recent enough" version of libc, not "version 2".
19279         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
19280         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
19281         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
19282         Remove check for btowc, isascii.
19283         Require AM_LANGINFO_CODESET.
19284
19285 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
19286
19287         * lib/regex.c, regex.h: Sync from libc.
19288         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
19289         * lib/regexec.c:
19290         New files, synced from libc, except that regex_internal.h
19291         currently has a small porting fix.
19292
19293 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
19294
19295         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
19296         regex_internal.c, regexec.c.
19297         Add regex_internal.h too, but as a comment, since the libc version
19298         is currently broken in gnulib mode.
19299
19300 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19301
19302         Support programs like Emacs that use gnulib but not gettext.
19303         * MODULES.html.sh (Internationalization functions): Add gettext-h.
19304         * modules/gettext-h: New file.
19305         * modules/gettext (Files): Remove lib/gettext.h.
19306         (Depends-on): Add gettext-h.
19307         (Makefile.am): Remove lib_SOURCES.
19308         * modules/argmatch, modules/c-stack, modules/closeout:
19309         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
19310         * modules/execute, modules/file-type, modules/getaddrinfo:
19311         * modules/getopt, modules/human, modules/javacomp:
19312         * modules/javaexec, modules/mkdir-p, modules/obstack:
19313         * modules/openat, modules/pagealign_alloc, modules/pipe:
19314         * modules/quotearg, modules/regex, modules/rpmatch:
19315         * modules/unicodeio, modules/userspec, modules/version-etc:
19316         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
19317         * modules/xsetenv:
19318         Depend on gettext-h, not gettext.
19319
19320 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19321
19322         * gnulib-tool (func_import): Add support for 'public domain' license.
19323         * modules/alloca, modules/atexit, modules/memmove:
19324         Now public domain, not GPL.
19325         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
19326         * modules/realloc, modules/strerror, modules/strtod:
19327         Now LGPL, not GPL.
19328
19329 2005-07-05  Bruno Haible  <bruno@clisp.org>
19330
19331         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
19332         autoconf CVS. Needed for mingw.
19333
19334 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19335
19336         Remove the dependency of the strftime module on the tzset module.
19337         * modules/strftime (Depends-on): Remove dependency on tzset.
19338
19339 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19340
19341         Remove the dependency of the strftime module on the tzset module.
19342         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
19343         gl_FUNC_TZSET_CLOBBER.
19344
19345 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19346
19347         Remove the dependency of the strftime module on the tzset module.
19348         * lib/strftime.c (my_strftime)
19349         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
19350         Copy the input structure, to work around some of the bug with
19351         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
19352         Solaris releases, you should also use the tzset module, but we won't
19353         require it as a dependency any more since we don't want LGPLed code
19354         to depend on GPLed code.
19355
19356 2005-07-02  Jim Meyering  <jim@meyering.net>
19357
19358         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
19359         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
19360         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
19361         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
19362
19363 2005-07-02  Jim Meyering  <jim@meyering.net>
19364
19365         * lib/backupfile.c (backup_args): Change a `0' to NULL.
19366
19367 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19368
19369         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
19370         declares only 'struct timespec;' (!).
19371
19372 2005-07-01  Jim Meyering  <jim@meyering.net>
19373
19374         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
19375         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
19376         * lib/save-cwd.c, tempname.c:
19377         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
19378         and don't include <sys/file.h>).
19379
19380 2005-06-29  Jim Meyering  <jim@meyering.net>
19381
19382         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
19383         type name.  Use the variable name instead.
19384         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
19385         Likewise.
19386
19387 2005-06-28  Simon Josefsson  <jas@extundo.com>
19388
19389         * modules/check-version (Files): Add check-version.m4.
19390
19391 2005-06-28  Simon Josefsson  <jas@extundo.com>
19392
19393         * m4/check-version.m4: New file, suggested by Jim Meyering
19394         <jim@meyering.net>.
19395
19396 2005-06-28  Simon Josefsson  <jas@extundo.com>
19397
19398         * lib/check-version.h, lib/check-version.c: New files.
19399
19400 2005-06-28  Simon Josefsson  <jas@extundo.com>
19401
19402         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
19403         collision with global variable.  Better indentation.  Don't
19404         increment buffer pointer beyond buffer end.  Based on comments
19405         from Paul Eggert <eggert@cs.ucla.edu>.
19406
19407         * lib/base64.h: Indent.
19408
19409 2005-06-28  Simon Josefsson  <jas@extundo.com>
19410
19411         * doc/gnulib.texi (Library version handling): New section.
19412
19413 2005-06-28  Jim Meyering  <jim@meyering.net>
19414
19415         * check-module (find_included_lib_files): Hard-code another
19416         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
19417         but modules/fts-lgpl (correctly) does not list those files.
19418
19419         * modules/canonicalize (Files): Add lib/pathmax.h.
19420
19421 2005-06-25  Simon Josefsson  <jas@extundo.com>
19422
19423         * modules/check-version: New file.
19424
19425 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19426
19427         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
19428         initializer of struct addrinfo, as an indication that we don't
19429         care how many members the structure has.
19430
19431 2005-06-24  Derek Price  <derek@ximbiot.com>
19432         and Bruno Haible  <bruno@clisp.org>
19433
19434         Remove stat module & update lstat.
19435         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
19436         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
19437         * m4/stat.m4: Remove this file.
19438
19439 2005-06-24  Derek Price  <derek@ximbiot.com>
19440         and Bruno Haible  <bruno@clisp.org>
19441
19442         Remove stat module & update lstat.
19443         * lib/stat.c: Remove this file...
19444         (slash_aware_lstat): ...moving this content and its support...
19445         * lib/lstat.c (rpl_lstat): ...into here.
19446         * lib/lstat.h: New file.
19447
19448 2005-06-24  Derek Price  <derek@ximbiot.com>
19449         and Bruno Haible  <bruno@clisp.org>
19450
19451         Remove stat module & update lstat.
19452         * config/srclist.txt (libc sources): Remove stat.
19453
19454 2005-06-24  Derek Price  <derek@ximbiot.com>
19455         and Bruno Haible  <bruno@clisp.org>
19456
19457         Remove stat module & update lstat.
19458         * MODULES.html.sh (stat): Remove.
19459         * MODULES.html: Regenerated.
19460         * modules/lstat (Description): Correct function name.
19461         (Files): Add "lstat.h".
19462         (Depends-on): Remove stat, add xalloc, stat-macros.
19463         * modules/stat: Remove this file.
19464         (Include): Add "lstat.h", remove <sys/stat.h>.
19465
19466 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
19467
19468         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
19469         (ranged_convert): Don't save conversion in a temporary struct.
19470         This causes a warning with GCC 4.0.0, and anyway in the typical
19471         case it's not worth the extra 100 bytes or so of code.
19472         (ranged_convert, __mktime_internal): When calling a function via a
19473         pointer P, use P () rather than (*P) (), as we now assume C89 or
19474         better.
19475
19476 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19477
19478         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
19479         "who -r" failed to give output.  Problem reported by Tim Waugh.
19480
19481         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
19482         (xcalloc): Use it to avoid needless tests.
19483         Problem reported by Jim Meyering.
19484
19485 2005-06-20  Derek Price  <derek@ximbiot.com>
19486
19487         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
19488         unnecessary for Autoconfs > 2.59c.
19489
19490 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
19491
19492         * lib/argp.h (__option_is_short): Check upper limit of
19493         __key. Isprint() requires its argument to have the value
19494         of an unsigned char or EOF.
19495
19496 2005-06-16  Jim Meyering  <jim@meyering.net>
19497
19498         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
19499         when either N or S is zero.
19500
19501 2005-06-16  Derek Price  <derek@ximbiot.com>
19502
19503         * m4/bison.m4: Declare YACC & YFLAGS precious.
19504
19505 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
19506
19507         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
19508         multibyte string or pattern, fall back on unibyte matching.
19509         Problem reported by James Youngman.
19510
19511 2005-06-08  Bruno Haible  <bruno@clisp.org>
19512
19513         * modules/csharpcomp: New file.
19514         * MODULES.html.sh (C#): Add csharpcomp.
19515
19516 2005-06-08  Bruno Haible  <bruno@clisp.org>
19517
19518         * m4/csharpcomp.m4: New file, from GNU gettext.
19519
19520 2005-06-08  Bruno Haible  <bruno@clisp.org>
19521
19522         * lib/csharpcomp.h: New file, from GNU gettext.
19523         * lib/csharpcomp.c: New file, from GNU gettext.
19524         * lib/csharpcomp.sh.in: New file, from GNU gettext.
19525
19526 2005-06-08  Bruno Haible  <bruno@clisp.org>
19527
19528         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
19529         warning on mingw.
19530
19531 2005-06-07  Derek Price  <derek@ximbiot.com>
19532
19533         Sync from CVS.
19534         * lib/glob_.h: Indent nested #ifdef.
19535
19536 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19537
19538         Sync from coreutils.
19539         Use "file name" when talking about file names, instead of "filename"
19540         or "path", as per the GNU coding standards.
19541         * lib/mkdir-p.c: Renamed from makepath.c.
19542         (make_dir_parents): Renamed from make_path.  All callers changed.
19543         * lib/mkdir-p.h: Likewise.  All includers changed.
19544         * lib/filenamecat.c: Renamed from path-concat.c.
19545         (file_name_concat): Renamed from path_concat.  All callers changed.
19546         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
19547         * lib/filenamecat.h: Likewise.  All includers changed.
19548         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
19549         in comments or local variable names.
19550         * lib/basename.c: Likewise.
19551         * lib/canonicalize.c, canonicalize.h: Likewise.
19552         * lib/dirname.c, dirname.h: Likewise.
19553         * lib/euidaccess.c: Likewise.
19554         * lib/exclude.c: Likewise
19555         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
19556         * lib/fsusage.c, fsuage.h: Likewise.
19557         * lib/fts.c, fts_.h: Likewise.
19558         * lib/getcwd.c: Likewise.
19559         * lib/getloadavg.c: Likewise.
19560         * lib/mkstemp.c: Likewise.
19561         * lib/mountlist.c, mountlist.h: Likewise.
19562         * lib/openat.c, openat.h: Likewise.
19563         * lib/readlink-stub.c: Likewise.
19564         * lib/readutmp.c, readutmp.h: Likewise.
19565         * lib/rename.c: Likewise.
19566         * lib/rmdir.c: Likewise.
19567         * lib/same.c: Likewise.
19568         * lib/savedir.c: Likewise.
19569         * lib/stripslash.c: Likewise.
19570         * lib/tempname.c: Likewise.
19571         * lib/xreadlink.c: Likewise.
19572         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
19573         All uses changed.
19574         * lib/exclude.h: Likewise.
19575
19576         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
19577         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
19578         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
19579         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
19580         * lib/pathmax.h: Include <limits.h> unconditionally, since other
19581         files have been getting away with it for years (MORE/BSD 4.3
19582         is extinct now).
19583         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
19584         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
19585
19586         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
19587         Define to 256, not 255, as per modern POSIX.
19588
19589 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19590
19591         Sync from coreutils.
19592         Use "file name" when talking about file names, instead of "filename"
19593         or "path", as per the GNU coding standards.
19594         * MODULES.html.sh: mkdir-p renamed from makepath.
19595         filenamecat renamed from path-concat.
19596         * modules/filenamecat: Renamed from modules/path-concat.
19597         (Files): filenamecat.h and filenamecat.c renamed from
19598         path-concat.h and path-concat.c.
19599         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
19600         (Include): filenamecat.h, not path-concat.h.
19601         * modules/mkdir-p: Renamed from modules/makepath.
19602         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
19603         makepath.c.
19604         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
19605         (Include): mkdir-p.h, not makepath.h.
19606
19607 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19608
19609         Sync from coreutils.
19610         * m4/mkdir-p.m4: Renamed from makepath.m4.
19611         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
19612         Rename files from makepath.c to mkdir-p.c, and from
19613         makepath.h to mkdir-p.h.
19614         * m4/filenamecat.m4: Renamed from path-concat.m4.
19615         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
19616         Rename files from path-concat.c to filenamecat.c,
19617         and from path-concat.h to filenamecat.h.
19618         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
19619         "file name" in local variables or comments.
19620         * m4/rename.m4: Likewise.
19621
19622 2005-06-01  Bruno Haible  <bruno@clisp.org>
19623
19624         * modules/csharpexec: New file.
19625         * MODULES.html.sh (C#): New section.
19626
19627 2005-06-01  Bruno Haible  <bruno@clisp.org>
19628
19629         * m4/csharp.m4: New file, from GNU gettext.
19630         * m4/csharpexec.m4: New file, from GNU gettext.
19631
19632 2005-06-01  Bruno Haible  <bruno@clisp.org>
19633
19634         * lib/csharpexec.h: New file, from GNU gettext.
19635         * lib/csharpexec.c: New file, from GNU gettext.
19636         * lib/csharpexec.sh.in: New file, from GNU gettext.
19637
19638 2005-05-31  Derek Price  <derek@ximbiot.com>
19639             Paul Eggert  <eggert@cs.ucla.edu>
19640
19641         Sync from cvs.
19642         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
19643
19644 2005-05-31  Derek Price  <derek@ximbiot.com>
19645             Paul Eggert  <eggert@cs.ucla.edu>
19646
19647         Sync from cvs.
19648         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
19649
19650 2005-05-29  Derek Price  <derek@ximbiot.com>
19651
19652         * config/srclist.txt (glob_.h, glob.c): Add these files.
19653
19654 2005-05-29  Derek Price  <derek@ximbiot.com>
19655
19656         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
19657         * modules/glob: New file.
19658         * modules/getlogin_r: Add link to POSIX spec in description.
19659
19660 2005-05-29  Derek Price  <derek@ximbiot.com>
19661             Paul Eggert  <eggert@cs.ucla.edu>
19662
19663         * m4/glob.m4: New file.
19664
19665 2005-05-29  Derek Price  <derek@ximbiot.com>
19666             Paul Eggert  <eggert@cs.ucla.edu>
19667
19668         * lib/glob_.h, lib/glob.c: New files.
19669
19670 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
19671
19672         * modules/fts (Files): Remove m4/inttypes-pri.m4.
19673         * modules/fts-lgpl (Depends-on): Remove gettext.
19674
19675 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
19676
19677         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
19678         and don't require gt_INTTYPES_PRI.
19679
19680 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
19681
19682         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
19683
19684         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
19685         the configuration hassle isn't worth it.
19686         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
19687         (LONGEST_MODIFIER, PRIuMAX): Remove.
19688
19689 2005-05-27  Bruno Haible  <bruno@clisp.org>
19690
19691         * lib/getlogin_r.h: Remove second include of <stddef.h>.
19692
19693 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
19694
19695         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
19696         _POSIX_PTHREAD_SEMANTICS for Solaris.
19697
19698 2005-05-25  Derek Price  <derek@ximbiot.com>
19699
19700         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
19701
19702 2005-05-25  Derek Price  <derek@ximbiot.com>
19703             Paul Eggert  <eggert@cs.ucla.edu>
19704
19705         * modules/getlogin_r, m4/getlogin_r.m4: New files.
19706         * lib/getlogin_r.c, getlogin_r.h: New files.
19707
19708 2005-05-25  Bruno Haible  <bruno@clisp.org>
19709             Derek Price  <derek@ximbiot.com>
19710
19711         * lib/getlogin_r.h: Simplify API documentation.
19712
19713 2005-05-23  Derek Price  <derek@ximbiot.com>
19714
19715         * modules/minmax (Files): Add m4/minmax.m4.
19716         (configure.ac): Add gl_MINMAX.
19717
19718 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
19719
19720         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
19721         so that unistd-safer.h (GPL'ed code) need not be included.
19722
19723 2005-05-22  Bruno Haible  <bruno@clisp.org>
19724
19725         * m4/minmax.m4: New file.
19726         Based on a patch by Derek Price <derek@ximbiot.com>.
19727
19728 2005-05-22  Bruno Haible  <bruno@clisp.org>
19729
19730         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
19731         (INT64_MIN): Fix definition.
19732         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
19733
19734         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
19735         NEED_SIGNED_INT_TYPES.
19736
19737         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
19738         HAVE_SYSTEM_INTTYPES.
19739
19740 2005-05-22  Bruno Haible  <bruno@clisp.org>
19741
19742         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
19743         Also include <sys/param.h> if it defines MIN, MAX.
19744         Based on a patch by Derek Price <derek@ximbiot.com>.
19745
19746 2005-05-21  Jim Meyering  <jim@meyering.net>
19747
19748         * modules/fts (Files): Add m4/inttypes-pri.m4.
19749         (Depends-on): Add lstat and remove gettext.  Alphabetize.
19750
19751 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19752
19753         New fts module.
19754         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
19755         (setup_dir, free_dir): New functions.
19756         (enter_dir, leave_dir): Define trivial
19757         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
19758         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
19759         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
19760         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
19761         Move to fts-cycle.c.
19762         (fts_open): Use setup_dir.
19763         (fts_close): Use free_dir.
19764         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
19765         This adds a label and some gotos, but the alternatives were messier.
19766         Check for memory allocation failure when entering a dir.
19767         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
19768         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
19769         (FTS): New member fts_cycle, that is a union that contains the
19770         old active_dir_ht and cycle_state.  All uses changed to mention
19771         fts_cycle.ht and fts_cycle.state.
19772         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
19773         fts.c, with the following changes:
19774         (setup_dir, free_dir): New functions.
19775         (enter_dir): Now returns bool.  Return true if successful, false
19776         if memory exhausted.  All callers changed.
19777         Do not bother partly cleaning up on
19778         memory allocation failure; that is free_dir's job.
19779         However, free ad if hash_insert fails, to avoid memory leak.
19780         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
19781         fts->fts_options to see which union member to use.
19782
19783 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19784
19785         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
19786         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
19787
19788 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19789
19790         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
19791
19792 2005-05-20  Jim Meyering  <jim@meyering.net>
19793
19794         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
19795         Now a macro, to pacify GCC.
19796
19797 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
19798
19799         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
19800         of -1.
19801
19802 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
19803
19804         * lib/chown.c (rpl_chown): Return -1 on failure.
19805
19806 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
19807
19808         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
19809         Don't check for stddef.h.
19810         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
19811         don't use its results.
19812         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
19813         since we include them unconditionally.  Don't require
19814         AM_STDBOOL_H, since stdbool is a prerequisite.
19815         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
19816         since we assume C89 or better.
19817         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
19818         as we don't use their results.
19819         Don't check for fchdir, memmove, memset, strrchr, as we use
19820         them unconditionally.
19821         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
19822         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
19823
19824 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
19825
19826         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
19827         Include <stddef.h> unconditionally, since we assume C89 now.
19828         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
19829         * lib/fts.c: Include fts_.h first, to check interface.
19830         Do not include intprops.h; no longer needed.
19831         Include cycle-check.h and hash.h, since fts_.h no longer does.
19832         Remove unnecessary casts of closedir to void.
19833         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
19834         decide whether to decrement nlinks.
19835         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
19836         (FTS): Use struct hash_table * instead of Hash_table, so that
19837         we no longer need to include hash.h here.
19838
19839 2005-05-18  Jim Meyering  <jim@meyering.net>
19840
19841         * modules/dirfd (License): Change to LGPL.  Most of the code
19842         is already in the public domain.
19843
19844 2005-05-18  Jim Meyering  <jim@meyering.net>
19845
19846         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
19847         Reported by Yoann Vandoorselaere.
19848
19849 2005-05-17  Jim Meyering  <jim@meyering.net>
19850
19851         * m4/fts.m4: New file, from coreutils.
19852
19853 2005-05-17  Jim Meyering  <jim@meyering.net>
19854
19855         * lib/fts.c, lib/fts_.h: New files, from coreutils.
19856
19857 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19858
19859         Sync from coreutils.
19860         * m4/unlinkdir.m4: New file.
19861
19862 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19863
19864         Sync from coreutils.
19865         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
19866         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
19867         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
19868         White space changes only.
19869         * lib/makepath.c (make_path): Port to hosts where leading "//" is
19870         special.
19871         * lib/yesno.c: Include getline.h, not ctype.h.
19872         (yesno): Don't remove leading white space; POSIX doesn't allow it.
19873         Use getline to remove arbitrary restriction on response length.
19874
19875 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19876
19877         * config/srclist-update: Spell out "Street" in FSF postal
19878         mail address; this is the style the FSF seems to prefer.
19879
19880         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
19881         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
19882         this updates FSF postal mail address.
19883
19884         Sync from coreutils.
19885         * modules/unlinkdir: New file.
19886         * modules/yesno (Depends-on): Add getline.
19887         * MODULES.html.sh (File system functions): Add unlinkdir.
19888
19889 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19890
19891         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
19892         lib/strsep.h:
19893         Change the initial comment to refer to GPL, not LGPL.
19894         gnulib-tool will change it to LGPL as needed.
19895
19896         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
19897         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
19898         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
19899         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
19900         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
19901         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
19902         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
19903         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
19904         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
19905         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
19906         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
19907         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
19908         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
19909         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
19910         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
19911         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
19912         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
19913         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
19914         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
19915         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
19916         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
19917         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
19918         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
19919         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
19920         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
19921         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
19922         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
19923         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
19924         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
19925         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
19926         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
19927         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
19928         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
19929         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
19930         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
19931         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
19932         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
19933         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
19934         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
19935         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
19936         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
19937         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
19938         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
19939         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
19940         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
19941         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
19942         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
19943         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
19944         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
19945         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
19946         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
19947         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
19948         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
19949         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
19950         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
19951         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
19952         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
19953         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
19954         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
19955         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
19956         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
19957         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
19958         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
19959         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
19960         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
19961         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
19962         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
19963         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
19964         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
19965         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
19966         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
19967         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
19968         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
19969         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
19970         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
19971         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
19972         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
19973         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
19974         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
19975         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
19976         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
19977         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
19978         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
19979         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
19980         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
19981         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
19982         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
19983         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
19984         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
19985         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
19986         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
19987         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
19988         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
19989         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
19990         lib/yesno.c, lib/yesno.h:
19991         Update FSF postal mail address.
19992
19993 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19994
19995         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
19996         tests/test-memmem.c, tests/test-stpncpy.c:
19997         Update FSF postal mail address.
19998
19999 2005-05-13  Bruno Haible  <bruno@clisp.org>
20000
20001         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
20002         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
20003         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
20004         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
20005         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
20006         Add support for 64-bit integers in the MSVC compiler.
20007
20008 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20009
20010         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
20011
20012 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
20013
20014         * gnulib-tool (func_import): Sort and uniquify recommended includes.
20015
20016 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
20017
20018         * doc/getdate.texi (General date syntax): Don't say that date
20019         date --iso-8601=ns generates acceptable dates; it doesn't yet.
20020         Problem reported by Nic Ferrier.
20021
20022 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20023
20024         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
20025         specified in ai_socktype. Fix invalid ai_protocol
20026         check. ai_protocol is usually set to 0 or depending on
20027         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
20028         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
20029         ai_socktype / ai_protocol in the returned addrinfo structure.
20030
20031 2005-05-10  Simon Josefsson  <jas@extundo.com>
20032
20033         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
20034         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20035
20036 2005-05-10  Karl Berry  <karl@gnu.org>
20037
20038         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
20039         (from http://www.gnu.org/licenses).
20040         * doc/COPYING.LIB: also rename to COPYING.LESSER.
20041         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
20042         fdl.texi suffices.
20043
20044 2005-05-10  Karl Berry  <karl@gnu.org>
20045
20046         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
20047         (COPYING.DOC): remove.
20048
20049         * config/srclist-update: new FSF address.
20050
20051 2005-05-10  Derek Price  <derek@ximbiot.com>
20052
20053         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
20054         possible.
20055
20056 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20057             Bruno Haible  <bruno@clisp.org>
20058
20059         * modules/inet_ntop: New file.
20060         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
20061         inet_ntop.
20062
20063 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20064             Bruno Haible  <bruno@clisp.org>
20065
20066         * m4/inet_ntop.m4: New file.
20067
20068 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20069             Bruno Haible  <bruno@clisp.org>
20070
20071         * lib/inet_ntop.h: New file.
20072         * lib/inet_ntop.c: New file, from glibc with modifications.
20073
20074 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
20075
20076         * modules/time_r (License): Change to LGPL.
20077         * modules/extensions (License): Change to LGPL.  Actually,
20078         the license is more permissive than that, but currently gnulib-tool
20079         doesn't know how to handle more-permissive licenses.
20080
20081         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
20082         Problem reported by Dave Love.
20083
20084 2005-05-08  Jim Meyering  <jim@meyering.net>
20085
20086         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
20087         blank.
20088
20089 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
20090
20091         * modules/argmatch (Depends-on): Add stdbool.
20092         * modules/backupfile (Depends-on): Likewise.
20093         * modules/chdir-long (Depends-on): Likewise.
20094         * modules/closeout (Depends-on): Likewise.
20095         * modules/cycle-check (Depends-on): Likewise.
20096         * modules/dirname (Depends-on): Likewise.
20097         * modules/fnmatch (Depends-on): Likewise.
20098         * modules/fsusage (Depends-on): Likewise.
20099         * modules/fwriteerror (Depends-on): Likewise.
20100         * modules/getcwd (Depends-on): Likewise.
20101         * modules/getloadavg (Depends-on): Likewise.
20102         * modules/hard-locale (Depends-on): Likewise.
20103         * modules/makepath (Depends-on): Likewise.
20104         * modules/mountlist (Depends-on): Likewise.
20105         * modules/nanosleep (Depends-on): Likewise.
20106         * modules/posixtm (Depends-on): Likewise.
20107         * modules/quotearg (Depends-on): Likewise.
20108         * modules/readtokens (Depends-on): Likewise.
20109         * modules/readtokens0 (Depends-on): Likewise.
20110         * modules/readutmp (Depends-on): Likewise.
20111         * modules/save-cwd (Depends-on): Likewise.
20112         * modules/strftime (Depends-on): Likewise.
20113         * modules/userspec (Depends-on): Likewise.
20114         * modules/utimecmp (Depends-on): Likewise.
20115         * modules/xgetcwd (Depends-on): Likewise.
20116         * modules/xnanosleep (Depends-on): Likewise.
20117         * modules/xstrtod (Depends-on): Likewise.
20118         * modules/yesno (Depends-on): Likewise.
20119
20120 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20121
20122         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
20123         needless checks.
20124
20125 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20126
20127         Merge from coreutils.  Among other things,
20128         add bulletproofing for cases where stdin, stdout, or stderr are closed.
20129         * lib/fd-safer.c: New file.
20130         * lib/fcntl-safer.h, open-safer.c: Remove.
20131         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
20132         * lib/dup-safer.c: Include unistd-safer.h first.
20133         Don't include errno.h.
20134         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
20135         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
20136         * lib/file-type.c: Rely on file-type.h change.
20137         * lib/getloadavg.c: Include unistd-safer.h.
20138         (getloadavg): Use safer open.
20139         * lib/getusershell.c: Include "stdio-safer.h".
20140         (getusershell): Use safer fopen.
20141         * lib/long-options.c (long_options): Use NULL rather than 0.
20142         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
20143         'free'.
20144         * lib/modechange.c: Likewise.
20145         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
20146         (MODE_DONE): New constant.
20147         (struct mode_change): Remove 'next' member.
20148         (make_node_op_equals): New function; like the old one of the
20149         same name, except it allocates an array.
20150         (mode_compile, mode_create_from_ref): Use it.
20151         (mode_compile): Allocate result as an array, not a linked list.
20152         Parse octal string ourself, so that we catch mistakes like "+0".
20153         (mode_adjust): Arg is an array, not a linked list.
20154         * lib/modechange.c: Include stat-macros.h, xalloc.h.
20155         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
20156         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
20157         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
20158         Remove.  This is now stat-macros.h's job.
20159         (talloc): Remove.  All callers replaced by xalloc, so that
20160         our invokers don't have to worry about reporting memory failures.
20161         (make_node_op_equals): Remove.
20162         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
20163         New constants.
20164         (struct mode_change): Moved here from modechange.h.
20165         (mode_append_entry): Remove.
20166         (mode_compile): Remove MASKED_OPS arg, since it encouraged
20167         apps to have incorrect behavior.  Use simpler algorithm for head
20168         and tail.  Don't futz with umask; that's now the job of mode_adjust.
20169         Detect more invalid usages rather than having somewhat-random behavior.
20170         Don't insert an "a=" action, as that leads to incorrect behavior.
20171         (mode_compile, mode_create_from_ref): Return NULL on error instead
20172         of an enum, since now there's only one way to have an error.  All
20173         callers changed.
20174         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
20175         at the correct time.  Simplify calculation of "+u" and its ilk.
20176         Don't mishandle "+X".
20177         (mode_free): Remove "register" and localize decls.
20178         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
20179         (struct mode_change): Move to modechange.c; callers don't
20180         need to see this stuff.
20181         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
20182         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
20183         (mode_change, mode_adjust): Reflect the new signatures noted above.
20184         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
20185         that might redefine system include files.
20186         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
20187         (my_usleep): Use NULL rather than (void *) 0.
20188         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
20189         Use siginterrupt to specify that system calls should be interrupted.
20190         (rpl_nanosleep): Move initialization of suspended closer to call of
20191         my_usleep.
20192         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
20193         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
20194         (desirable_utmp_entry): New function.
20195         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
20196         using x2nrealloc, to simplify logic.
20197         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
20198         size calculation.  Do not assume utmp file is a regular file.
20199         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
20200         (READ_UTMP_CHECK_PIDS): New constant.
20201         * lib/save-cwd.c: Include unistd-safer.h.
20202         (save_cwd): Use fd_safer.
20203         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
20204         [!_LIBC] Include "stat-macros.h" instead.
20205         * lib/unistd-safer.h (fd_safer): New decl.
20206
20207 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20208
20209         * modules/getloadavg (Depends-on): Add unistd-safer.
20210         * modules/getusershell (Depends-on): Add stdio-safer.
20211         * modules/lstat (Depends-on): Remove xalloc.
20212         * modules/mkstemp (Depends-on): Add stat-macros.
20213         * modules/modechange (Depends-on): Remove xstrtol.
20214         Add stat-macros, xalloc.
20215         * modules/save-cwd (Depends-on): Add unistd-safer.
20216         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
20217         * modules/unistd-safer (Files): Add lib/fd-safer.c
20218         (Makefile.am): Remove lib_SOURCES.
20219
20220         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
20221         Remove fcntl-safer; unistd-safer supersedes it.
20222
20223 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20224
20225         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
20226         AC_HEADER_STAT.
20227         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
20228         (gl_PREREQ_CHOWN): Remove.
20229         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
20230         it.  Don't require AC_HEADER_STAT.
20231         (gl_PREREQ_LSTAT): Remove.
20232         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
20233         Don't require AC_HEADER_STAT.
20234         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
20235         (gl_PREREQ_RMDIR): Remove.
20236         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
20237         mention stat-macros.h or AC_HEADER_STAT, since we'll make
20238         the stat-macros module a prerequisite.
20239         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
20240         * m4/filemode.m4 (gl_FILEMODE): Likewise.
20241         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
20242         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
20243         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
20244         variable names.
20245         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
20246         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
20247         variable prefixes.
20248         * m4/fcntl-safer.m4: Remove.
20249         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
20250         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
20251         Invoke gl_PREREQ_FD_SAFER.
20252         (gl_PREREQ_FD_SAFER): New macro.
20253         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
20254         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
20255         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
20256         Remove duplicate call to AC_LIBOBJ(readutmp).
20257         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
20258
20259         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
20260         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
20261
20262 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20263
20264         * MODULES.html.sh (Misc): Add byteswap.
20265
20266 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
20267
20268         * modules/getcwd (Depends-on): Add extensions.
20269         * modules/openat (Depends-on): Likewise.
20270
20271 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
20272
20273         * modules/byteswap: New file.
20274
20275 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
20276
20277         * m4/byteswap.m4: New file.
20278
20279 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
20280
20281         * lib/byteswap_.h: New file.
20282
20283 2005-04-25  Karl Berry  <karl@gnu.org>
20284
20285         * m4/gettext.m4: Update from GNU gettext 0.14.4.
20286
20287 2005-04-25  Albert Chin  <china@thewrittenword.com>
20288
20289         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
20290         Toolkit C bug.
20291
20292 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
20293
20294         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
20295         (func_ln_if_changed) Remove forcibly for no error message
20296         in case file does not exist.
20297
20298 2005-04-19  Simon Josefsson  <jas@extundo.com>
20299
20300         * gnulib-tool (Options): Make --symlink mean --symbolic.
20301
20302 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
20303
20304         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
20305
20306 2005-04-16  Simon Josefsson  <jas@extundo.com>
20307
20308         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
20309
20310 2005-04-15  Simon Josefsson  <jas@extundo.com>
20311
20312         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
20313
20314 2005-04-15  Simon Josefsson  <jas@extundo.com>
20315
20316         * gnulib-tool: Rename --symlink to --symbolic.
20317
20318 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
20319
20320         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
20321         symbolic links to files instead of copying/moving.  Add --aux-dir,
20322         specifying directory relative --dir where auxiliary build tools
20323         are placed.
20324
20325 2005-04-14  Bruno Haible  <bruno@clisp.org>
20326
20327         * modules/allocsa (License): Change to LGPL.
20328         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
20329
20330 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
20331
20332         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
20333         that "UTC +1 second" continues to work.  Problem reported
20334         by Dmitry V. Levin.
20335         (relunit_snumber): New rule.
20336         (relunit): Use it.
20337
20338 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
20339
20340         * lib/getdate.y (universal_time_zone_table): New constant.
20341         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
20342         universal_time_zone_table.
20343         (lookup_zone): Prefer universal_time_zone_table to
20344         local_time_zone_table, so that "GMT" time stamps are allowed in
20345         London during the summer.  Problem reported by Ian Abbott.
20346
20347 2005-04-12  Jim Meyering  <jim@meyering.net>
20348
20349         * lib/human.c (humblock): Set *options even when returning due to
20350         xstrtoumax conversion failure.  Thanks to a used-uninitialized
20351         warning from gcc-4.
20352
20353 2005-04-09  Jim Meyering  <jim@meyering.net>
20354
20355         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
20356         -Wuninitialized: initialize tm0.tm_year.
20357
20358 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
20359
20360         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
20361         count, since there's no maximum.  All uses changed.
20362         Add member dsts_seen.
20363         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
20364         not being INT_MAX.
20365         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
20366         Use pc_rels_seen to decide whther a date is absolute.
20367
20368         * lib/getdate.y (number): Don't overwrite year.
20369         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
20370         check.
20371
20372 2005-04-02  Simon Josefsson  <jas@extundo.com>
20373
20374         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
20375         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
20376
20377 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
20378
20379         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
20380         where no absolute path name can be longer than PATH_MAX.
20381
20382 2005-03-27  Jim Meyering  <jim@meyering.net>
20383
20384         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
20385
20386 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
20387
20388         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
20389         "one's complement" -> "ones' complement" in comment, as per Knuth.
20390         "value of type" -> "type or expression" in comment.
20391         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
20392
20393 2005-03-26  Jim Meyering  <jim@meyering.net>
20394
20395         Comment nits.
20396         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
20397         Correct typos: s/or/of/.
20398
20399 2005-03-26  Jim Meyering  <jim@meyering.net>
20400
20401         * modules/check-include-files: Move to ../ and rename to...
20402         * check-module: ...this.
20403
20404 2005-03-25  Jim Meyering  <jim@meyering.net>
20405
20406         * modules/xvasprintf (Files): Add xalloc.h.
20407
20408 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
20409
20410         * modules/gettext (Files): config/config.rpath ->
20411         build-aux/config.rpath
20412         * modules/iconv (Files): Likewise.
20413         Problem reported by Oskar Liljeblad.
20414
20415 2005-03-23  Jim Meyering  <jim@meyering.net>
20416
20417         * modules/check-include-files: New script to check for
20418         missing dependencies, multiple includes, etc.
20419
20420         * modules/c-strtold (Depends-on): Add xalloc.
20421         * modules/c-strtod (Depends-on): Add xalloc.
20422         * modules/hash (Depends-on): Add xalloc.
20423         (Files): Remove lib/xalloc.h.
20424
20425         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
20426         * modules/userspec (Files): Add lib/inttostr.h.
20427
20428 2005-03-23  Jim Meyering  <jim@meyering.net>
20429
20430         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
20431
20432 2005-03-22  Jim Meyering  <jim@meyering.net>
20433
20434         * modules/stat-macros: New module.
20435         * modules/canonicalize, modules/euidaccess, modules/file-type,
20436         * modules/filemode, modules/lchown, modules/makepath,
20437         * modules/rmdir, modules/stat: Depend on new stat-macros module
20438         rather than listing lib/stat-macros.h manually.
20439         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
20440
20441 2005-03-22  Jim Meyering  <jim@meyering.net>
20442
20443         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
20444
20445 2005-03-22  Bruno Haible  <bruno@clisp.org>
20446
20447         * config/srclist.txt: Replace target directory 'config' with
20448         'build-aux'.
20449         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
20450         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
20451         ../build-aux/.
20452
20453 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
20454
20455         * modules/chdir-long (Depends-on): Add mempcpy.
20456
20457         * modules/acl, modules/backupfile, modules/c-strtod,
20458         modules/c-strtold, modules/canon-host, modules/canonicalize,
20459         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
20460         modules/exclude, modules/exitfail, modules/file-type,
20461         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
20462         modules/getdate, modules/getline, modules/getpagesize,
20463         modules/getpass, modules/getugroups, modules/group-member,
20464         modules/hard-locale, modules/hash, modules/human, modules/idcache,
20465         modules/inttostr, modules/long-options, modules/makepath,
20466         modules/md5, modules/memcasecmp, modules/memcoll,
20467         modules/modechange, modules/mountlist, modules/path-concat,
20468         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
20469         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
20470         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
20471         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
20472         modules/strftime, modules/strndup, modules/strverscmp,
20473         modules/timespec, modules/unlocked-io, modules/userspec,
20474         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
20475         modules/yesno:
20476         Remove lib_SOURCES line from Makefile.am section, as this is now
20477         done automatically by the corresponding Autoconf macro.
20478
20479 2005-03-21  Jim Meyering  <jim@meyering.net>
20480
20481         Changes imported from coreutils.
20482
20483         * lib/cycle-check.c: Don't include xalloc.h.
20484
20485         * lib/path-concat.c: Don't include assert.h.
20486         (path_concat): Remove assertion that would have triggered
20487         for ABASE starting with more than one slash.
20488         Reported by Andreas Schwab.
20489
20490         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
20491         properly when ABASE is an absolute file name.
20492         Correct the description of this function.
20493         Include <assert.h>.
20494         Add an assertion and a test driver.
20495         This fixes a bug introduced on 2004-07-02.
20496         Andreas Schwab reported the resulting failure of cp --parents:
20497         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
20498
20499 2005-03-21  Jim Meyering  <jim@meyering.net>
20500
20501         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
20502         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
20503
20504 2005-03-21  Jim Meyering  <jim@meyering.net>
20505         and  Paul Eggert  <eggert@cs.ucla.edu>
20506
20507         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
20508         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
20509         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
20510         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
20511         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
20512         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
20513         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
20514         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
20515         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
20516         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
20517         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
20518         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
20519         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
20520         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
20521         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
20522         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
20523         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
20524         for these modules.
20525
20526 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
20527
20528         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
20529         (which shouldn't happen), generate nothing instead of returning 0
20530         immediately, so that nstrftime (NULL, ...) doesn't return 0.
20531
20532 2005-03-16  Bruno Haible  <bruno@clisp.org>
20533
20534         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
20535         HAVE_LONGLONG_64BIT.
20536
20537 2005-03-16  Bruno Haible  <bruno@clisp.org>
20538
20539         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
20540         HAVE_LONGLONG_64BIT.
20541
20542 2005-03-16  Bruno Haible  <bruno@clisp.org>
20543
20544         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
20545         HAVE_LONGLONG_64BIT.
20546
20547 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
20548
20549         * lib/strftime.c (my_strftime): Prepend space to format so that we can
20550         reliably distinguish strftime failure from empty output on POSIX
20551         hosts.
20552
20553 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
20554
20555         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
20556         (iconv_string): Don't guess a size-zero buffer, as that might cause
20557         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
20558         result would be 'too large', where 'too large' is (heuristically)
20559         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
20560         overflow concerns.  This will prevent some unwanted malloc failures
20561         when the inputs are very large.
20562
20563 2005-03-15  Karl Berry  <karl@gnu.org>
20564
20565         * config/srclist.txt (config.rpath): from gettext.
20566         * config/config.rpath: update.
20567
20568 2005-03-15  Bruno Haible  <bruno@clisp.org>
20569
20570         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
20571         to 'negate'.
20572
20573         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
20574         variable.
20575
20576         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
20577         results.
20578
20579 2005-03-14  Simon Josefsson  <jas@extundo.com>
20580
20581         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
20582         <fx@gnu.org>.
20583
20584 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
20585
20586         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
20587         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
20588         intprops.h.
20589         * lib/strtol.c: Likewise.
20590
20591 2005-03-14  Jim Meyering  <jim@meyering.net>
20592
20593         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
20594         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
20595         to be nonzero so that we (and caller) can detect the difference
20596         between a valid zero-length expansion and an error return, even
20597         when the underlying strftime fails before writing anything into
20598         that location.
20599
20600 2005-03-14  Bruno Haible  <bruno@clisp.org>
20601
20602         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
20603         Update from GNU gettext 0.14.3.
20604
20605 2005-03-10  Jim Meyering  <jim@meyering.net>
20606
20607         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
20608
20609 2005-03-10  Jim Meyering  <jim@meyering.net>
20610
20611         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
20612         so that this module works on systems without fchdir.
20613
20614 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
20615
20616         Factor int-properties macros into a single file, except for
20617         glibc-related files.
20618         * lib/intprops.h: New file.
20619         * lib/getloadavg.c: Include it instead of limits.h.
20620         (INT_STRLEN_BOUND): Remove.
20621         * lib/human.c: Include intprops.h.
20622         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
20623         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
20624         302/1000.
20625         * lib/inttostr.h: Include intprops.h instead of limits.h.
20626         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
20627         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
20628         for consistency with intprops.h.
20629         (time_t_is_integer, twos_complement_arithmetic): Use them.
20630         * lib/sig2str.h: Include <signal.h>, intprops.h.
20631         (INT_STRLEN_BOUND): Remove.
20632         * lib/strftime.c (TYPE_SIGNED): Remove.
20633         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
20634         * lib/strtol.c: Adjust comments to match intprops.h.
20635         * lib/userspec.c: Include intprops.h.
20636         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
20637         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
20638         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
20639         instead of rolling our own expressions.
20640         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
20641
20642         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
20643         instead of int.
20644         (my_strftime): Do not mishandle years close to INT_MAX, by doing
20645         the right thing even if adding 1900 would overflow.  Similarly
20646         for tm_mon + 1 and tm_yday + 1.
20647         Make %Y always equivalent to %C%y, and similarly for %G and %g.
20648         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
20649         (DO_SIGNED_NUMBER): New macro.
20650         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
20651
20652 2005-03-07  Bruno Haible  <bruno@clisp.org>
20653
20654         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
20655
20656 2005-03-07  Bruno Haible  <bruno@clisp.org>
20657
20658         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
20659
20660 2005-03-04  Derek R. Price  <derek@ximbiot.com>
20661
20662         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
20663         (func_import): Only replace files via --import when they have actually
20664         changed.
20665
20666 2005-03-03  Derek R. Price  <derek@ximbiot.com>
20667
20668         * m4/mmap-anon.m4: New file.
20669         * m4/pagealign_alloc.m4: New file.
20670
20671 2005-03-03  Derek R. Price  <derek@ximbiot.com>
20672             Bruno Haible  <bruno@clisp.org>
20673
20674         * modules/pagealign_alloc: New file.
20675         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
20676
20677 2005-03-03  Derek R. Price  <derek@ximbiot.com>
20678             Bruno Haible  <bruno@clisp.org>
20679
20680         * lib/pagealign_alloc.h: New file.
20681         * lib/pagealign_alloc.c: New file.
20682
20683 2005-03-03  Bruno Haible  <bruno@clisp.org>
20684
20685         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
20686         Use an all-permissive copyright notice, recommended by RMS.
20687
20688 2005-03-02  Bruno Haible  <bruno@clisp.org>
20689
20690         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
20691         of AIX, the replacement has to be done only after <string.h> is
20692         included, therefore not in config.h. stpncpy.h does the replacement,
20693         and stpncpy.c uses it.
20694
20695 2005-03-02  Bruno Haible  <bruno@clisp.org>
20696
20697         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
20698         stpncpy.c uses it.
20699
20700 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20701
20702         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
20703         The workaround isn't strictly needed for POSIX conformance, and
20704         it's too much of a pain to configure and maintain.  We'll ask
20705         people to fix their kernels instead.
20706         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
20707         (NANOSLEEP_BUG_WORKAROUND): Remove.
20708         (xnanosleep): Remove the workaround.
20709
20710 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20711
20712         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
20713         Reported by Derek Price.
20714         (Include): Add "timespec.h".
20715
20716         * modules/xnanosleep (Depends-on): Remove gethrxtime.
20717
20718 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20719
20720         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
20721         to detect nanosleep bug.
20722
20723 2005-03-01  Bruno Haible  <bruno@clisp.org>
20724
20725         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
20726
20727 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
20728
20729         * modules/gethrxtime: New file.
20730         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
20731         (Depends-on): Add gethrxtime.
20732         (configure.ac): Add gl_XNANOSLEEP.
20733         (Makefile.am): Remove lib_SOURCES line.
20734
20735 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20736
20737         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
20738         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
20739
20740 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20741
20742         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
20743         * lib/timespec.h (gettime): Return void, since it always
20744         succeeds now.  All uses changed.
20745         * lib/gettime.c (gettime) Likewise.
20746         [HAVE_NANOTIME]: Prefer nanotime.
20747         Assume gettimeofday succeeds, as POSIX requires.
20748         Assime time () succeeds, since other code already does.
20749         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
20750         (timespec_subtract): Remove.
20751         (NANOSLEEP_BUG_WORKAROUND): New constant.
20752         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
20753         things considerably.  Use it only on GNU/Linux hosts, since the
20754         workaround shouldn't be needed elsewhere.
20755
20756 2005-02-24  Bruno Haible  <bruno@clisp.org>
20757
20758         * modules/gettext (Files): Add m4/glibc2.m4.
20759
20760 2005-02-24  Bruno Haible  <bruno@clisp.org>
20761
20762         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
20763         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
20764         * m4/progtest.m4:
20765         Update from GNU gettext 0.14.2.
20766         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
20767
20768 2005-02-24  Bruno Haible  <bruno@clisp.org>
20769
20770         * lib/localcharset.c: Update from GNU gettext 0.14.2.
20771         * lib/config.charset: Update from GNU gettext 0.14.2.
20772
20773 2005-02-24  Bruno Haible  <bruno@clisp.org>
20774
20775         * lib/gettext.h: Update from GNU gettext 0.14.2.
20776
20777 2005-02-23  Simon Josefsson  <jas@extundo.com>
20778
20779         * m4/iconvme.m4: New file.
20780
20781 2005-02-23  Jim Meyering  <jim@meyering.net>
20782
20783         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
20784         change.
20785         Thanks to Bruno Haible for catching it.
20786
20787 2005-02-22  Simon Josefsson  <jas@extundo.com>
20788
20789         * modules/iconvme: New file.
20790
20791         * MODULES.html.sh: Add iconvme.
20792
20793 2005-02-22  Simon Josefsson  <jas@extundo.com>
20794
20795         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
20796
20797 2005-02-22  Simon Josefsson  <jas@extundo.com>
20798
20799         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
20800
20801 2005-02-22  Jim Meyering  <jim@meyering.net>
20802
20803         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
20804         s/ifndef/ifdef/.
20805
20806 2005-02-20  Neil Conway  <neilc@samurai.com>
20807
20808         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
20809         returned by OSX/Darwin if the specified buffer is not large
20810         enough for the hostname.
20811
20812 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20813
20814         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
20815         pass it to _help, otherwise the latter coredumps trying to
20816         dereference state.root_argp.
20817
20818 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
20819
20820         * modules/chdir-long (Depends-on): Add memrchr.
20821         * modules/memrchr (Files): Add lib/memrchr.h.
20822         (Include): "memrchr.h".
20823
20824 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
20825
20826         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
20827
20828 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
20829
20830         * lib/memrchr.h: New file.
20831         * lib/chdir-long.c: Include it.
20832         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
20833         Don't bother including stddef.h.
20834
20835 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
20836
20837         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
20838         inclusion.
20839         Include <sys/types.h>, for dev_t.
20840         (ME_DUMMY, ME_REMOTE): Move from here....
20841         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
20842         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
20843         Dmitry V. Levin.
20844         Include mountlist.h first, to test the interface.
20845
20846 2005-01-29  Bruno Haible  <bruno@clisp.org>
20847
20848         * lib/progname.c (program_name): Initialize.
20849         Needed when linking statically on MacOS X.
20850
20851 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20852
20853         Sync from coreutils.
20854         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
20855         (Depends-on): Add c-strtod.
20856         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
20857
20858 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20859
20860         Sync from coreutils.
20861         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
20862
20863         Remove files that are specific to coreutils.
20864         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
20865
20866 2005-01-28  Bruno Haible  <bruno@clisp.org>
20867
20868         * modules/javacomp: New file.
20869         * MODULES.html.sh (Java): Add javacomp.
20870
20871 2005-01-28  Bruno Haible  <bruno@clisp.org>
20872
20873         * m4/javacomp.m4: New file, from GNU gettext.
20874
20875 2005-01-28  Bruno Haible  <bruno@clisp.org>
20876
20877         * lib/javacomp.sh.in: New file, from GNU gettext.
20878         * lib/javacomp.h: New file, from GNU gettext.
20879         * lib/javacomp.c: New file, from GNU gettext.
20880
20881 2005-01-26  Simon Josefsson  <jas@extundo.com>
20882
20883         * lib/gai_strerror.c: Use GPL in header.
20884
20885 2005-01-26  Bruno Haible  <bruno@clisp.org>
20886
20887         * modules/javaexec: New file.
20888         * MODULES.html.sh (Java): Add javaexec.
20889
20890 2005-01-26  Bruno Haible  <bruno@clisp.org>
20891
20892         * m4/javaexec.m4: New file, from GNU gettext.
20893
20894 2005-01-26  Bruno Haible  <bruno@clisp.org>
20895
20896         * lib/javaexec.sh.in: New file, from GNU gettext.
20897         * lib/javaexec.h: New file, from GNU gettext.
20898         * lib/javaexec.c: New file, from GNU gettext.
20899
20900 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20901
20902         * modules/lchown (Depends-on): Remove lchown.h
20903
20904 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20905
20906         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
20907         must be defined if the header file was not found, in order
20908         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
20909
20910 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20911
20912         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
20913         initializers for struct pentry_state.
20914         (__argp_error): Check return value of __asprintf
20915         (__argp_failure): Translate error message
20916
20917         * lib/argp-parse.c: Removed braces around the expansion of N_()
20918
20919 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20920
20921         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
20922         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
20923         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
20924         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
20925         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
20926         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
20927         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
20928         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
20929         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
20930         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
20931         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
20932         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
20933         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
20934         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
20935         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
20936         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
20937         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
20938         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
20939         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
20940         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
20941         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
20942         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
20943         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
20944         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
20945         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
20946         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
20947         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
20948         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
20949         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
20950         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
20951         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
20952         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
20953         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
20954         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
20955         xstrtol.m4, xstrtoumax.m4, yesno.m4:
20956         Use an all-permissive copyright notice, recommended by RMS.
20957
20958 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
20959
20960         * modules/chdir-long (Depends-on): Remove mempcpy.
20961
20962 2005-01-21  Jim Meyering  <jim@meyering.net>
20963
20964         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
20965         same value as for Solaris 9.
20966
20967         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
20968         component length.  This included changing the parameter to be
20969         of type `char *' rather than `char const *'.
20970         * lib/chdir-long.h (chdir_long): Update prototype.
20971
20972         * lib/openat.c (fdopendir, fstatat): New functions.
20973         * lib/openat.h: Include headers required for use of DIR and struct
20974         stat.
20975         [AT_SYMLINK_NOFOLLOW]: Define.
20976         (fdopendir, fstatat): Add prototypes.
20977
20978 2005-01-21  Bruno Haible  <bruno@clisp.org>
20979
20980         * modules/classpath: New file.
20981         * MODULES.html.sh (Java): Add classpath.
20982
20983 2005-01-21  Bruno Haible  <bruno@clisp.org>
20984
20985         * lib/classpath.h: New file, from GNU gettext.
20986         * lib/classpath.c: New file, from GNU gettext.
20987
20988 2005-01-20  Simon Josefsson  <jas@extundo.com>
20989
20990         * modules/version-etc-fsf: New file.
20991
20992 2005-01-20  Simon Josefsson  <jas@extundo.com>
20993
20994         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
20995         * lib/version-etc.c: Remove version_etc_copyright.
20996         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
20997         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
20998
20999 2005-01-20  Simon Josefsson  <jas@extundo.com>
21000
21001         * lib/base64.h (isbase64): Add.
21002
21003         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
21004         using a unsigned prototype, don't inline.
21005         (base64_decode): Use it.
21006
21007 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
21008
21009         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
21010         it.
21011
21012 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
21013
21014         * lib/save-cwd.c (save_cwd): Remove code to support the case
21015         where fchdir is missing or flaky.
21016
21017 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
21018
21019         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
21020
21021 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
21022
21023         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
21024         AC_LIBSOURCES now does this.
21025         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
21026         with new ullong_max module.
21027
21028 2005-01-19  Bruno Haible  <bruno@clisp.org>
21029
21030         * modules/sh-quote: New file.
21031         * MODULES.html.sh (Executing programs): Add sh-quote.
21032
21033 2005-01-19  Bruno Haible  <bruno@clisp.org>
21034
21035         * lib/sh-quote.h: New file, from GNU gettext.
21036         * lib/sh-quote.c: New file, from GNU gettext.
21037
21038 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21039
21040         Merge from coreutils.
21041         * m4/ullong_max.m4: New file.
21042         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
21043         (gl_MACROS): Assume localeconv exists.
21044
21045 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21046
21047         Merge changes from coreutils, as described below in several
21048         changelogs dated today.
21049
21050         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
21051         (O_DIRECTORY): Remove; not needed here, since "." must be
21052         a directory.  All uses removed.
21053         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
21054         universal on Suns, and we also need to test for IRIX.
21055         Revamp code to use 'if' rather than '#if'.
21056         Avoid unnecessary comparison of cwd->desc to 0.
21057
21058         * lib/utimens.c (futimens): Robustify the previous patch, by checking
21059         for known valid error numbers rather than observed invalid ones.
21060
21061 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21062
21063         * modules/ullong_max: New file.
21064
21065         * modules/chdir-long, modules/openat: New files.
21066         * modules/save-cwd (Depends-on): Depend on chdir-long.
21067         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
21068
21069 2005-01-18  Jim Meyering  <jim@meyering.net>
21070
21071         Merge from coreutils.
21072         * m4/chdir-long.m4, m4/openat.m4: New files.
21073         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
21074         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
21075         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
21076         is sane and DOES follow symlinks.  Besides, testing 20 different
21077         systems found no broken chown implementations.
21078         Prompted by a change in rsync's copy of this macro.
21079         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
21080
21081         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
21082
21083         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
21084         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
21085         NULL-means-set-to-current-time semantics.
21086         Remove temporary file immediately, rather than waiting
21087         for configure's at-exit trap code to do it.
21088
21089 2005-01-18  Jim Meyering  <jim@meyering.net>
21090
21091         * lib/version-etc.c (version_etc_copyright): Update copyright date.
21092
21093         * lib/utimens.c (futimens): Account for the fact that futimes
21094         can also fail with errno == ENOSYS or errno == ENOENT.
21095         Patch from Dmitry V. Levin.
21096
21097         Change the name of the robust chdir function from chdir to chdir_long.
21098         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
21099         (restore_cwd): Use chdir_long, not chdir.
21100         * lib/chdir-long.c: Renamed from chdir.c.
21101         * lib/chdir-long.h: Renamed from chdir.h.
21102         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
21103         Hurd.
21104
21105 2005-01-18  Bruno Haible  <bruno@clisp.org>
21106
21107         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
21108         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
21109         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
21110         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
21111         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
21112         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
21113         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
21114         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
21115         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
21116         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
21117         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
21118         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
21119         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
21120         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
21121         Use an all-permissive copyright notice, recommended by RMS.
21122
21123 2005-01-18  Bob Proulx  <bob@proulx.com>
21124
21125         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
21126         simplify offsetof() macro construct to avoid compile failure with
21127         native HP-UX 11.0 ANSI C compiler.
21128
21129 2005-01-17  Bruno Haible  <bruno@clisp.org>
21130
21131         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
21132         redundant because stpncpy.m4 takes care of it.
21133
21134 2005-01-17  Bruno Haible  <bruno@clisp.org>
21135
21136         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
21137
21138 2005-01-17  Bruno Haible  <bruno@clisp.org>
21139
21140         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
21141         used.
21142
21143 2005-01-17  Bruno Haible  <bruno@clisp.org>
21144
21145         * lib/fwriteerror.h (fwriteerror): Change specification to include
21146         fclose.
21147         * lib/fwriteerror.c: Include <stdbool.h>.
21148         (fwriteerror): At the end, close the file stream. Record whether
21149         stdout was already closed.
21150
21151 2005-01-17  Bruno Haible  <bruno@clisp.org>
21152
21153         * lib/execute.c (environ): Declare if needed.
21154         * lib/pipe.c (environ): Likewise.
21155         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
21156
21157 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21158
21159         * modules/argp: Depend on vsnprintf
21160
21161 2005-01-10  Jim Meyering  <jim@meyering.net>
21162
21163         * modules/closeout (Depends-on): Add atexit.
21164
21165 2005-01-06  Bruno Haible  <bruno@clisp.org>
21166
21167         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
21168
21169 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
21170
21171         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
21172         definitions to be after all include files, to avoid collisions.
21173         Problem reported by Bob Proulx.
21174
21175 2005-01-04  Jim Meyering  <jim@meyering.net>
21176
21177         Changes imported from coreutils.
21178         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
21179         as the mkstemp template, use a temporary directory and an
21180         8.3-friendly template to avoid trouble on systems like DJGPP.
21181         Reported by Juan M. Guerrero via Stepan Kasal.
21182         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
21183         close. Remove the temporary directory right away, rather than waiting
21184         for configure's at-exit trap code to do it.
21185         Suggestion from Stepan Kasal.
21186
21187 2005-01-01  Simon Josefsson  <jas@extundo.com>
21188
21189         * gnulib-tool: Print #include directives when --import'ing.
21190
21191 2004-12-28  Simon Josefsson  <jas@extundo.com>
21192
21193         * tests/test-base64.c: Include required header files.  Remove
21194         unused variables.
21195
21196 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21197
21198         * modules/error (Depends-on): Remove gettext.
21199
21200 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21201
21202         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
21203         not needed.  This removes a dependency on the gettext module.
21204         [defined _LIBC]: Do not include <libintl.h>; not needed.
21205
21206 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
21207
21208         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
21209         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
21210
21211 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
21212
21213         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
21214         HAVE_DECL_STRTOLD.
21215
21216 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21217
21218         * modules/getdate (Depends-on): Remove alloca-opt.
21219
21220 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21221
21222         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
21223
21224 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21225
21226         * lib/argp-parse.c: Include <stddef.h>.
21227         (alignof, alignto): New macros.
21228         (parser_init): Don't assume that void * is aligned sufficiently
21229         for struct option.
21230
21231         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
21232         need to extend the stack.
21233         (YYINITDEPTH): New macro, so that the initial stack isn't overly
21234         large.
21235
21236 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21237
21238         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
21239
21240 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21241
21242         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
21243         (2004-10-24) change.  Apparently this was a false alarm.
21244
21245         * modules/getdate: Depend on alloca-opt, not alloca.
21246
21247 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21248
21249         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
21250         Remove now-obsolete comment about AIX.
21251         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
21252         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
21253         (YYMAXDEPTH): New macro.
21254
21255 2004-12-18  Simon Josefsson  <jas@extundo.com>
21256
21257         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
21258
21259 2004-12-18  Bruno Haible  <bruno@clisp.org>
21260
21261         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
21262
21263 2004-12-18  Bruno Haible  <bruno@clisp.org>
21264
21265         * lib/fatal-signal.c (fatal_signals): Make non-const.
21266         (init_fatal_signals): New function.
21267         (uninstall_handlers, install_handlers): Ignore signals that were set to
21268         SIG_IGN.
21269         (at_fatal_signal): Call init_fatal_signals.
21270         (init_fatal_signal_set): Likewise. Ignore signals that were set to
21271         SIG_IGN.
21272         Reported by Paul Eggert.
21273
21274 2004-12-18  Bruno Haible  <bruno@clisp.org>
21275
21276         * doc/alloca.texi: New file.
21277         * doc/alloca-opt.texi: New file.
21278
21279 2004-12-17  Jim Meyering  <jim@meyering.net>
21280
21281         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
21282         Otherwise, install-sh could exit with improper exit status when
21283         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
21284
21285 2004-12-16  Simon Josefsson  <jas@extundo.com>
21286
21287         * tests/test-base64.c: Add license.
21288
21289 2004-12-15  Stepan Kasal  <address@hidden>
21290
21291         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
21292
21293 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
21294
21295         * modules/getcwd (Files): Add m4/d-ino.m4.
21296         Suggested by Mark D. Baushke.
21297
21298 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
21299
21300         * lib/getdate.y (textint): New member "negative".
21301         (time_zone_hhmm): New function.
21302         Expect 14 shift-reduce conflicts, not 13.
21303         (o_colon_minutes): New rule.
21304         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
21305         (yylex): Set the "negative" member of signed numbers.
21306
21307 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
21308
21309         * doc/getdate.texi (Time of day items, Time zone items):
21310         Describe new formats +00:00, UTC+00:00.
21311
21312 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
21313
21314         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
21315         spurious "-l"s.  Problem reported by Stepan Kasal.
21316
21317 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
21318
21319         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
21320         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
21321
21322 2004-12-04  Simon Josefsson  <jas@extundo.com>
21323
21324         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
21325         Vandoorselaere <yoann@prelude-ids.org>.
21326
21327 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
21328
21329         Changes imported from coreutils.
21330         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
21331         exist.
21332         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
21333
21334 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
21335
21336         Changes imported from coreutils.
21337         * lib/hard-locale.c: Assume <locale.h> exists.
21338         Include "strdup.h".
21339         (GLIBC_VERSION): New macro.
21340         (hard_locale): Assume setlocale exists.
21341         Rewrite to avoid #ifdef.
21342         Use strdup rather than malloc + strcpy.
21343         * lib/human.c: Assume <locale.h> exists.
21344         (human_readable): Assume localeconv exists.
21345
21346 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
21347
21348         * modules/hard-locale (Depends-on): Add strdup.
21349
21350 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
21351
21352         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
21353         convert T2, not T.  (Imported from libc.)
21354
21355 2004-11-30  Simon Josefsson  <jas@extundo.com>
21356
21357         * modules/restrict (License): Change to LGPL.
21358
21359 2004-11-30  Simon Josefsson  <jas@extundo.com>
21360
21361         * m4/restrict.m4: Add copyright and copying conditions.
21362
21363 2004-11-30  Simon Josefsson  <jas@extundo.com>
21364
21365         * m4/base64.m4: New file.
21366
21367 2004-11-30  Simon Josefsson  <jas@extundo.com>
21368
21369         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
21370         base64.
21371
21372         * tests/test-base64.c: New file.
21373
21374         * modules/base64: New file.
21375
21376 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
21377
21378         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
21379         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
21380
21381         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
21382
21383 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
21384
21385         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
21386         (__getcwd.c): Don't restore errno; glibc doesn't.
21387         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
21388         first, falling back to our code only if its results look suspicious.
21389         Ensure that the resulting buffer is only as large as necessary.
21390
21391         * lib/readutmp.c: Include readutmp.h first.
21392         Include <errno.h>, since readutmp.h no longer does that.
21393         * lib/readutmp.h: Don't include <errno.h>,
21394         <sys/param.h>, <time.h>; not needed to establish interface.
21395         (errno): Remove decl.
21396         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
21397         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
21398         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
21399
21400 2004-11-28  Simon Josefsson  <jas@extundo.com>
21401
21402         * lib/base64.h, base64.c: New file.
21403
21404 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
21405
21406         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
21407
21408 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
21409
21410         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
21411         (Depends-on): Remove pathmax, same.  Add mempcpy.
21412         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
21413         (Makefile.am): Append getcwd.h to lib_SOURCES.
21414         (Include): Add getcwd.h.
21415         (Maintainer): Change from Jim Meyering to "all, glibc",
21416         since getdate now uses intended-for-glibc code.
21417         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
21418         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
21419
21420 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
21421
21422         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
21423         HP's ANSI C compiler.
21424         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
21425         Declaring int functions causes warnings on some modern systems and
21426         shouldn't be needed to compile on ancient ones.
21427         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
21428         defined.
21429
21430         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
21431         with the following changes.
21432         (__set_errno): Parenthesize properly.
21433         Include <stdbool.h>.
21434         (MIN, MAX, MATCHING_INO): New macros.
21435         (__getcwd): Define with prototype, not K&R form.
21436         Use heuristics to allocate default buffer on stack if possible.
21437         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
21438         behavior, and to avoid the PATH_MAX limit when computing
21439         ../../../../...
21440         Use MATCHING_INO to compare inode number to file.
21441         Check for arithmetic overflow in size calculations.
21442         Fix bug in reallocation of dot array that caused getcwd to fail
21443         on directories nested deeper than 75.
21444         Be more careful about saving errno on error.
21445         Do not use realloc; use only free+malloc, as this is a bit
21446         more flexible and avoids a needless copy operation.
21447         Do not inspect st_dev and st_ino for symbolic links; POSIX
21448         doesn't specify the latter.
21449         Check for closedir errors.
21450         Avoid needless casts.
21451         Use "#ifdef weak_alias" around weak_alias, to be like other
21452         glibc code.
21453         The following changes to getcwd.c have effect only when used in
21454         gnulib; they have no effect inside glibc proper.
21455         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
21456         as alloca isn't used.
21457         (alloca, __alloca): Likewise.
21458         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
21459         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
21460         unconditionally, as gnulib assumes C89 or better.
21461         Do not include <sys/param.h>.
21462         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
21463         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
21464         better.
21465         (NULL) [!defined NULL]: Remove; we assume C89 or better.
21466         Include <dirent.h> in a way that is compatible with modern Autoconf.
21467         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
21468         New macros, if not already defined.
21469         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
21470         Use "_LIBC", not "defined _LIBC", for consistency.
21471         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
21472         a mempcpy module.
21473         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
21474         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
21475         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
21476         credit only to Jim Meyering and adjust the copyright dates.
21477         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
21478         <stdlib.h>, <unistd.h>, "pathmax.h".
21479         Instead, include "xgetcwd.h" (first) and "getcwd.h".
21480         (INITIAL_BUFFER_SIZE): Remove.
21481         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
21482
21483 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
21484
21485         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
21486         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
21487         Use the _ONCE methods, for efficiency.
21488         Check for fcntl.h.  In test program, include <errno.h>
21489         and <fcntl.h> if available.  Remove old K&R cruft from
21490         test program.  Check for common errors in GNU/Linux,
21491         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
21492         don't do AC_LIBOBJ, as that's getcwd.m4's job.
21493         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
21494         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
21495         name accordingly.
21496         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
21497         accommodate new getcwd.c.
21498         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
21499         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
21500         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
21501         that's all we need now.
21502
21503 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21504
21505         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
21506         argp-parse.c depends on getopt internals, that means we should
21507         always use our getopt, to be on the safe side.
21508         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
21509         order not to spoil the result of an eventual previous invocation
21510         of gl_GETOPT_SUBSTITUTE.
21511
21512 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21513
21514         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
21515         redefinition warnings. To avoid them, include the defines
21516         in `#if !defined __need_getopt ... #endif'. The only place
21517         where __getopt_argv_const is used is in definitions
21518         of getopt_long and getopt_long_only below, which are as well
21519         protected by `#ifndef __need_getopt'.
21520         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
21521         __need_getopt after including <stdio.h> and <unistd.h> These
21522         headers might have defined it.
21523
21524 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21525
21526         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
21527
21528 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21529
21530         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
21531         (futimens): New function, which uses futimes if available.
21532         (futimens, utimens): Support timespec==NULL, with same semantics
21533         as utime and utimens.
21534         * lib/utimens.h (futimens): New decl.
21535
21536 2004-11-23  Jim Meyering  <jim@meyering.net>
21537
21538         * lib/getopt_.h: Remove trailing blanks.
21539
21540 2004-11-23  Jim Meyering  <jim@meyering.net>
21541
21542         * lib/__fpending.c: Add comment.
21543
21544 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
21545
21546         * modules/canonicalize (Depends-on): Add xreadlink.
21547         Problem reported by James Youngman.
21548
21549 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
21550
21551         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
21552         New macros.
21553         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
21554         optopt): Use them instead of invoking ## directly; otherwise, the
21555         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
21556
21557 2004-11-19  Bruno Haible  <bruno@clisp.org>
21558
21559         * lib/strtok_r.c: Move comments from here...
21560         * lib/strtok_r.h: ... to here.
21561
21562 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21563
21564         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
21565         implementations that mishandle size_t overflow.
21566
21567 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21568
21569         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
21570         might fail.  Problem reported by Yoann Vandoorselaere.
21571         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
21572         implementations that mishandle size_t overflow.
21573
21574 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21575
21576         * modules/canon-host (Depends-on): Add strdup.
21577
21578 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21579
21580         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
21581
21582 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21583
21584         * lib/canon-host.c: Include "strdup.h".
21585         (canon_host): Use getaddrinfo if available, so that IPv6 works.
21586         Use strdup instead of malloc/strcpy to duplicate strings.
21587
21588         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
21589         (human_space_before_unit): New constant.
21590         * lib/human.c (human_readable): Support it.
21591
21592         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
21593         (xgetcwd): Set errno correctly when failing.
21594         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
21595         the failure is actually due to a PATH_MAX problem.
21596
21597         Further getopt changes to make it more likely that glibc will
21598         buy the changes back.
21599         * lib/getopt.c (POSIXLY_CORRECT): New constant.
21600         (getopt): Use it, so to preserve glibc semantic
21601         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
21602         when compiling for libc.
21603         * lib/getopt_.h (__getopt_argv_const): Bring it back.
21604         (getopt_long, getopt_long_only): Use it.
21605
21606         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
21607         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
21608         (getopt): Argv is now char * const *, as per standard.
21609         (_getopt_internal_r, _getopt_internal): Argv is now char **,
21610         not char *__getopt_argv_const *.
21611         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
21612         _getopt_long_only_r): Likewise.
21613         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
21614         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
21615         _getopt_long_r, _getopt_long_only_r): Likewise.
21616         * lib/getopt_.h (__getopt_argv_const): Remove.
21617         (getopt): Argv is now char * const *, as per standard.
21618
21619         * lib/getdate.y (tORDINAL): New token.
21620         (day, relunit): Allow it for relative times.
21621         (relative_time_table): Use tORDINAL for ordinals.
21622
21623 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21624
21625         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
21626         Document that "second" isn't allowed as an ordinal number.
21627
21628 2004-11-16  Jim Meyering  <jim@meyering.net>
21629
21630         * modules/closeout (Depends-on): Add fpending.
21631
21632 2004-11-15  Jim Meyering  <jim@meyering.net>
21633
21634         * lib/closeout.c: Include "__fpending.h" once again.
21635         Include <stdbool.h>.
21636         (close_stdout): Don't fail just because stdout was closed initially,
21637         since some programs don't write to stdout in the normal course of
21638         operation (other than --version and --help), and we don't want this
21639         function to make e.g. `touch file >&-' fail.
21640         But do fail if it was closed and someone has tried to write to it.
21641         E.g., `printf foo >&-' must fail.
21642
21643 2004-11-13  Jim Meyering  <jim@meyering.net>
21644
21645         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
21646
21647 2004-11-12  Simon Josefsson  <jas@extundo.com>
21648
21649         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
21650         small doc fix is still pending.
21651
21652 2004-11-11  Simon Josefsson  <jas@extundo.com>
21653
21654         * modules/strtok_r: New file.
21655
21656         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21657         strtok_r.
21658
21659 2004-11-11  Simon Josefsson  <jas@extundo.com>
21660
21661         * m4/strtok_r.m4: New file.
21662
21663         * m4/getopt.m4: Replace opterr.
21664
21665 2004-11-11  Simon Josefsson  <jas@extundo.com>
21666
21667         * lib/strtok_r.h, strtok_r.c: New file.
21668
21669 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21670
21671         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
21672         of replacing opterr, getopt, etc.  This should handle the
21673         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
21674
21675 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21676
21677         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
21678         we can stop lying to compilers about the constness of argv when we
21679         are compiled outside glibc.
21680         (getopt, getopt_long, getopt_long_only): Use it.
21681         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
21682         _getopt_internal, getopt): Likewise.
21683         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
21684         _getopt_long_only_r): Likewise.
21685         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
21686         _getopt_long_r, _getopt_long_only_r): Likewise.
21687
21688         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
21689         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
21690         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
21691         the other external symbols.
21692         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
21693         declaration, since the above renaming now works around collisions.
21694
21695 2004-11-11  Jim Meyering  <jim@meyering.net>
21696
21697         * lib/linebreak.c: Remove trailing blanks.
21698         * lib/alloca_.h: Likewise.
21699         * lib/acosl.c: Likewise.
21700         * lib/euidaccess.c: Likewise.
21701         * lib/allocsa.h: Likewise.
21702
21703 2004-11-10  Simon Josefsson  <jas@extundo.com>
21704
21705         * m4/getaddrinfo.m4: New file.
21706
21707 2004-11-10  Simon Josefsson  <jas@extundo.com>
21708
21709         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
21710
21711 2004-11-10  Simon Josefsson  <jas@extundo.com>
21712
21713         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21714         getaddrinfo.
21715
21716         * modules/getaddrinfo: New file.
21717
21718 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
21719
21720         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
21721
21722 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
21723
21724         * lib/mktime.c (SHR): New macro, which is a portable
21725         substitute for >> that should work even on Crays.
21726         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
21727         Problem reported by Mark D. Baushke in
21728         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
21729         * lib/getdate.y (SHR): Likewise.
21730         (tm_diff): Use it.
21731         * lib/strftime.c (SHR): Likewise.
21732         (tm_diff): Use it.
21733         * lib/quotearg.c (struct quoting_options): Use unsigned int for
21734         quote_these_too, so that right shifts are well defined.  All uses
21735         changed.
21736
21737 2004-11-10  Jim Meyering  <jim@meyering.net>
21738
21739         Ensure that no close failure goes unreported.
21740         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
21741         return early when it seems there's nothing to flush.
21742         Don't include __fpending.h.
21743
21744 2004-11-10  Jim Meyering  <jim@meyering.net>
21745
21746         * modules/closeout (Depends-on): Remove fpending.
21747
21748 2004-11-10  Jim Meyering  <jim@meyering.net>
21749
21750         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
21751
21752 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
21753
21754         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
21755         gl_FUNC_STRFTIME.
21756         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
21757         and AC_REQUIRE when possible, to avoid duplicate checks.
21758         Check for <wchar.h>.
21759
21760 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
21761
21762         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
21763
21764 2004-11-09  Bruno Haible  <bruno@clisp.org>
21765
21766         * m4/sockpfaf.m4: New file.
21767
21768 2004-11-05  Bruno Haible  <bruno@clisp.org>
21769
21770         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
21771         Reported by Mark D. Baushke <mdb@cvshome.org>.
21772
21773 2004-11-04  Bruno Haible  <bruno@clisp.org>
21774
21775         2004-09-11  Bruno Haible  <bruno@clisp.org>
21776                 * allocsa.valgrind: New file.
21777         2004-02-06  Bruno Haible  <bruno@clisp.org>
21778                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
21779                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
21780                 Reported by Christopher Seip <chris.seip@hp.com>.
21781
21782 2004-11-04  Bruno Haible  <bruno@clisp.org>
21783
21784         * modules/allocsa (Files): Add lib/allocsa.valgrind.
21785         (Makefile.am): Distribute it.
21786
21787 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
21788
21789         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
21790         with errno == ERANGE if the buffer is too small.
21791         Problem reported by Mark D. Baushke.
21792
21793 2004-11-03  Albert Chin  <china@thewrittenword.com>
21794             Paul Eggert  <eggert@cs.ucla.edu>
21795
21796         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
21797         equivalent, substitute $ac_type for equivalent type rather than
21798         blindly using uint32_t *always* which won't work if uint32_t is not
21799         available.  Define _UINT32_T to work around typedef of uint32_t if
21800         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
21801         2.5.1.
21802
21803 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21804
21805         * m4/jm-macros.m4: Sync from coreutils.
21806         (gl_MACROS): Check for mbrlen, for pathchk.
21807         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
21808
21809 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21810
21811         * lib/xreadlink.c (MAXSIZE): New macro.
21812         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
21813         size does not exceed MAXSIZE.  Avoid cast.
21814         As suggested by Mark D. Baushke in
21815         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
21816         if readlink fails with buffer size just under MAXSIZE, try again
21817         with MAXSIZE.
21818
21819 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21820
21821         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
21822
21823 2004-11-02  Derek R. Price  <derek@ximbiot.com>
21824         and  Paul Eggert  <eggert@cs.ucla.edu>
21825
21826         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
21827         (get_date): Overparenthesize to avoid GCC warning.
21828
21829 2004-11-02  Bruno Haible  <bruno@clisp.org>
21830
21831         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
21832         returns void.
21833
21834 2004-11-02  Bruno Haible  <bruno@clisp.org>
21835
21836         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
21837         function returns void.
21838
21839 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
21840
21841         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
21842         fflush_unlocked, flockfile, funlockfile, funlockfile,
21843         fputs_unlocked, putc_unlocked.
21844
21845 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
21846
21847         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
21848         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
21849         already declared.
21850
21851 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21852
21853         * modules/getdate (Files): Add doc/getdate.texi.
21854         (Depends-on): Add setenv, xalloc.
21855
21856 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21857
21858         * lib/getdate.y: Add support for TZ="foo" within a date string.
21859         Fix some bugs near time_t boundaries.  Reject dates with
21860         out-of-range components, e.g., "Sept 31".
21861         Include <stdlib.h>, "setenv.h", "xalloc.h".
21862         (ISDIGIT_LOCALE): Remove; unused.
21863         Note that the TZ and time functions used here are not reentrant.
21864         (mktime_ok, get_tz): New functions.
21865         (TZBUFSIZE): New constant.
21866         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
21867         This requires that we sometimes generate our own TZ="XXX..." setting.
21868
21869 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21870
21871         * doc/getdate.texi: New file, from coreutils with modifications for
21872         the new TZ parsing.
21873
21874 2004-10-27  Derek R. Price  <derek@ximbiot.com>
21875
21876         * lib/mktime.c (not_equal_tm): Remove redundant check.
21877
21878 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
21879
21880         * modules/regex (lib_SOURCES): Add regex.c.
21881         Reported by James Youngman in
21882         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
21883
21884 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
21885
21886         * lib/getdate.y: Use Bison 1.875 features, and some minor
21887         code cleanups.  This change does not affect semantics.
21888         Don't include <stdlib.h>; no longer needed.
21889         Don't include unlocked-io.h; only the "#if TEST" code uses
21890         stdio, and performance isn't crucial there.
21891         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
21892         Bison 1.875 features as described below.
21893         All uses of "PC." replaced by "pc->".
21894         (YYSTYPE): Add a forward declaration.
21895         (yylex, yyerror): Use full prototypes in forward decls.
21896         Use "%pure-parser" rather than obsolescent "%pure_parser".
21897         Use %parse-param and %lex-param instead of obsolescent
21898         YYPARSE_PARAM and YYLEX_PARAM.
21899         (meridian_table, month_and_day_table, time_units_table,
21900         relative_time_table, time_zone_table, military_table,
21901         lookup_zone, lookup_word, get_date):
21902         Use NULL instead of 0 where appropriate.
21903         (to_hour): Avoid abort (), to avoid a dependency on
21904         stdlib.h.
21905         (yyerror, yylex): Now accepts parser_control * arg.
21906         (main) [TEST]: Use '\0' rather than 0 for char.
21907
21908 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21909
21910         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
21911
21912 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21913
21914         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
21915         It's now the caller's responsibility to handle the case where
21916         !HAVE_GETPAGESIZE && !defined getpagesize.
21917
21918         * lib/mktime.c (leapyear): Arg is long int, not int.
21919
21920 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
21921
21922         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
21923
21924 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
21925
21926         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
21927         missing.  Problem reported by James Youngman.
21928
21929 2004-10-16  Simon Josefsson  <jas@extundo.com>
21930
21931         * gnulib-tool: Fix comments.  Fix parse problem.
21932         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
21933
21934 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
21935
21936         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
21937         implementation of getopt_long.  Problem reported by Alexander Taler in:
21938         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
21939
21940 2004-10-15  Bruno Haible  <bruno@clisp.org>
21941
21942         * gnulib-tool: Untabify. Initialize supplied_libname.
21943         (func_usage): More homogenous output.
21944         (func_modules_transitive_closure, func_modules_to_filelist,
21945         func_emit_lib_Makefile_am): New functions.
21946         (func_import): New function, extracted from big case statement. Use
21947         func_get_license, func_modules_transitive_closure,
21948         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
21949         opt_lgpl. Don't use test -a, as it's not portable.
21950         (func_create_testdir): Use func_modules_transitive_closure,
21951         func_modules_to_filelist, func_emit_lib_Makefile_am.
21952
21953 2004-10-15  Bruno Haible  <bruno@clisp.org>
21954
21955         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
21956
21957 2004-10-15  Bruno Haible  <bruno@clisp.org>
21958
21959         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
21960         the portions belonging to each module.
21961         Suggested by Derek Robert Price <derek@ximbiot.com>.
21962
21963 2004-10-12  Simon Josefsson  <jas@extundo.com>
21964
21965         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
21966         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
21967         to real functions.
21968
21969 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21970
21971         * modules/vsnprintf: New file.
21972
21973 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21974
21975         * m4/vsnprintf.m4: New file.
21976
21977 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21978
21979         * lib/vsnprintf.h: New file.
21980         * lib/vsnprintf.c: New file.
21981
21982 2004-10-11  Bruno Haible  <bruno@clisp.org>
21983
21984         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
21985         vsnprintf.
21986
21987 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21988
21989         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
21990
21991 2004-10-07  Bruno Haible  <bruno@clisp.org>
21992
21993         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
21994         fits into the provided buffer.
21995
21996 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
21997
21998         * lib/diacrit.c, diacrit.h: Add GPL notice.
21999
22000         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
22001         notice.
22002         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
22003         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
22004         This avoids a potential constant-folding bug.
22005
22006 2004-10-05  Bruno Haible  <bruno@clisp.org>
22007
22008         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
22009         for the declaration of strsep.
22010
22011 2004-10-05  Bruno Haible  <bruno@clisp.org>
22012
22013         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
22014
22015 2004-10-04  Simon Josefsson  <jas@extundo.com>
22016
22017         * modules/memmem: New file.
22018         * tests/test-memmem.c: New file.
22019         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
22020
22021 2004-10-04  Simon Josefsson  <jas@extundo.com>
22022
22023         * m4/memmem.m4: New file.
22024
22025 2004-10-04  Simon Josefsson  <jas@extundo.com>
22026
22027         * lib/memmem.h: New file.
22028         * lib/memmem.c: New file, taken from glibc.
22029
22030 2004-10-04  Simon Josefsson  <jas@extundo.com>
22031
22032         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
22033         '#ifdef USE_UNLOCKED_IO'.
22034
22035 2004-10-04  Simon Josefsson  <jas@extundo.com>
22036
22037         * config/srclist.txt: Add memmem from glibc.
22038
22039 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
22040
22041         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
22042
22043         * modules/argmatch, modules/argp, modules/closeout, modules/error,
22044         modules/exclude, modules/getdate, modules/getline,
22045         modules/getndelim2, modules/getpass, modules/getpass-gnu,
22046         modules/getusershell, modules/linebuffer, modules/md5,
22047         modules/mountlist, modules/posixtm, modules/readtokens,
22048         modules/readutmp, modules/regex, modules/sha1,
22049         modules/version-etc, modules/yesno:
22050         Remove dependency on unlocked-io.
22051
22052 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
22053
22054         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
22055
22056         * m4/unlocked-io.m4: Add copyright notice.
22057         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
22058
22059 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
22060
22061         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
22062         * lib/xmalloc.c (xmemdup): Likewise.
22063         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
22064         XFREE): Remove these long-obsolescent macros.
22065         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
22066         * lib/xstrdup.c: Remove.
22067
22068         * lib/regex.c (re_comp): Cast gettext return value to char *,
22069         Problem reported by Martin Neitzel via Mark D. Baushke.
22070
22071 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
22072
22073         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
22074         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
22075         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
22076         regex.c, sha1.c, version-etc.c, yesno.c:
22077         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
22078         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
22079         the includer's responsibility.
22080
22081         Sync from coreutils.
22082
22083         * lib/modechange.c (mode_compile): Don't decrement a pointer that
22084         points to the start of a string, as the C Standard says the
22085         resulting behavior is undefined.
22086
22087         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
22088         simple -> simple_backups, numbered_existing ->
22089         numbered_existing_backups, numbered -> numbered_backups
22090         to avoid shadowing problems.  All uses changed.
22091         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
22092         * lib/backupfile.c (check_extension, numbered_backup):
22093         Rename locals to avoid shadowing 'basename'.
22094         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
22095         once.
22096
22097         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
22098         * lib/.cvsignore: Add getopt.h.
22099
22100 2004-10-04  Bruno Haible  <bruno@clisp.org>
22101
22102         * modules/README: New file.
22103         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
22104         not a module.
22105
22106 2004-10-02  Jim Meyering  <jim@meyering.net>
22107
22108         * lib/dirfd.h, getpagesize.h: Add copyright notice.
22109
22110 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22111
22112         * modules/strsep: New file.
22113
22114 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22115
22116         * m4/strsep.m4: New file.
22117
22118 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22119
22120         * lib/strsep.h: New file.
22121         * lib/strsep.c: New file.
22122
22123 2004-10-01  Simon Josefsson  <jas@extundo.com>
22124
22125         * lib/snprintf.c (snprintf): Handle size==0.
22126
22127 2004-10-01  Simon Josefsson  <jas@extundo.com>
22128             Bruno Haible  <bruno@clisp.org>
22129
22130         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
22131         (snprintf): Declare 'args'.
22132
22133 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
22134
22135         * lib/snprintf.c: Remove comments as to why each header is needed.
22136
22137 2004-10-01  Bruno Haible  <bruno@clisp.org>
22138
22139         * MODULES.html.sh: Add strsep.
22140
22141 2004-09-30  Simon Josefsson  <jas@extundo.com>
22142
22143         * modules/snprintf: New file.
22144
22145 2004-09-30  Simon Josefsson  <jas@extundo.com>
22146
22147         * m4/snprintf.m4: New file.
22148
22149 2004-09-30  Simon Josefsson  <jas@extundo.com>
22150
22151         * lib/snprintf.h, lib/snprintf.c: New files.
22152
22153 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
22154
22155         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
22156         (hol_entry_help): Never translate an empty string.
22157         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
22158         * lib/argp.h (OPTION_NO_TRANS): New option.
22159
22160 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
22161
22162         * modules/argp (Maintainer): Replace Simon Josefsson
22163         by Sergey Poznyakoff.
22164
22165 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
22166
22167         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
22168         changes merged back into glibc.
22169
22170 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
22171
22172         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
22173
22174 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
22175
22176         * lib/xvasprintf.c: Include xalloc.h.
22177         (xvasprintf): Use xalloc_die, not xmalloc_die.
22178
22179 2004-09-29  Bruno Haible  <bruno@clisp.org>
22180
22181         * modules/alloca-opt: New file, derived from modules/alloca.
22182         * modules/allocsa: Depend on alloca-opt instead of alloca.
22183         * modules/setenv: Likewise.
22184         * modules/vasnprintf: Likewise.
22185         * MODULES.html.sh: Add alloca-opt.
22186
22187 2004-09-28  Simon Josefsson  <jas@extundo.com>
22188
22189         * gnulib-tool: New parameter --lgpl, to asseert that modules are
22190         LGPL, and to replace license template from GPL to LGPL.
22191
22192 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
22193
22194         * modules/dummy: Change license to LGPL.
22195
22196 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
22197
22198         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
22199
22200 2004-09-24  Simon Josefsson  <jas@extundo.com>
22201
22202         * modules/minmax (License): Change from GPL to LGPL.
22203
22204 2004-09-23  Simon Josefsson  <jas@extundo.com>
22205
22206         * gnulib-tool (--import): Typo.
22207
22208 2004-09-23  Simon Josefsson  <jas@extundo.com>
22209
22210         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
22211
22212 2004-09-22  Bruno Haible  <bruno@clisp.org>
22213
22214         * modules/*: Add 'License' field.
22215         * gnulib-tool: Accept --extract-license option.
22216         (func_get_license): New function.
22217
22218 2004-09-21  Bruno Haible  <bruno@clisp.org>
22219
22220         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
22221         Reported by Simon Josefsson.
22222
22223 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22224
22225         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
22226         gl_AC_TYPE_LONG_LONG.
22227
22228 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22229
22230         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
22231
22232 2004-09-18  Simon Josefsson  <jas@extundo.com>
22233         and  Paul Eggert  <eggert@cs.ucla.edu>
22234
22235         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
22236         calls with autoreconf.  Define GL_LIB.
22237
22238 2004-09-14  Karl Berry  <karl@gnu.org>
22239
22240         * config/srclist.txt: unsync setenv.c, sigh.
22241
22242 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22243
22244         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
22245         Problem reported by Bruno Haible in:
22246         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
22247
22248 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22249
22250         * config/srclist.txt: Comment out argp-pvh.c.
22251
22252 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
22253
22254         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
22255         in case some system header has #define'd it.  Problem reported by
22256         Soeren D. Schulze in
22257         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
22258
22259 2004-09-09  Karl Berry  <karl@gnu.org>
22260
22261         * regex.[ch]: delete from the root.  These were supposed to be
22262                 synced with emacs cvs, but this has not happened for about
22263                 a year, and anyway nothing else uses emacs regex.[ch].
22264                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
22265                 lib/regex[.ch] is untouched.
22266
22267 2004-09-09  Bruno Haible  <bruno@clisp.org>
22268
22269         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
22270
22271 2004-09-09  Bruno Haible  <bruno@clisp.org>
22272
22273         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
22274         modifications.
22275         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
22276
22277 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
22278
22279         * modules/xvasprintf: New file.
22280         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
22281
22282 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
22283
22284         * lib/xvasprintf.h: New file.
22285         * lib/xvasprintf.c: New file.
22286         * lib/xasprintf.c: New file.
22287
22288 2004-09-08  Bruno Haible  <bruno@clisp.org>
22289
22290         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
22291
22292 2004-09-08  Bruno Haible  <bruno@clisp.org>
22293
22294         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
22295         length is > INT_MAX.
22296         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
22297         more.
22298
22299 2004-09-08  Bruno Haible  <bruno@clisp.org>
22300
22301         * lib/stdint_.h: New file, taken from GNU clisp.
22302
22303 2004-09-08  Bruno Haible  <bruno@clisp.org>
22304             Oskar Liljeblad  <oskar@osk.mine.nu>
22305
22306         * modules/stdint: New file.
22307         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
22308
22309 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
22310
22311         Import from coreutils.
22312         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
22313         strings on unbounded length.  alloca's performance benefits aren't
22314         that important here.
22315         (V_STRDUP): Remove.
22316         (parse_with_separator): New function, with most of the internals
22317         of the old parse_user_spec.  Allow user to omit both user and group,
22318         for compatibility with FreeBSD.
22319         Clone only the user name, not the entire spec.
22320         Do not set *uid, *gid unless entirely successful.
22321         Avoid memory leak in some failing cases.
22322         Fix regression for USER.GROUP reported by Dmitry V. Levin in
22323         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
22324         (parse_user_spec): Rewrite to use parse_with_separator.
22325
22326 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
22327
22328         * modules/userspec: Don't depend on alloca.
22329
22330 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
22331
22332         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
22333
22334 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
22335
22336         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
22337         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
22338         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
22339
22340 2004-08-16  Simon Josefsson  <jas@extundo.com>
22341
22342         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
22343         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
22344         Add --dry-run for --import.
22345         Let user provided command line parameters override configure.ac
22346         settings.
22347
22348 2004-08-12  Simon Josefsson  <jas@extundo.com>
22349
22350         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
22351         as discussed with Paul Eggert in threads rooted at
22352         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
22353         and
22354         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
22355         Before, the test was empty, and relied on ELIDE_CODE in source
22356         code.)
22357         (gl_PREREQ_GETOPT): New macro.
22358         (gl_GETOPT): Use them.
22359
22360 2004-08-12  Simon Josefsson  <jas@extundo.com>
22361
22362         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
22363         * lib/getopt_.h: Renamed from getopt.h.
22364
22365 2004-08-12  Simon Josefsson  <jas@extundo.com>
22366
22367         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
22368         Change default library name from libfoo to libgnu.
22369         Now, if you have a configure.ac that says:
22370                 gl_SOURCE_BASE(gl)
22371                 gl_M4_BASE(gl/m4)
22372                 gl_MODULES(error getopt etcetera)
22373                 gl_INIT
22374         you can import all you need by running:
22375                 ../gnulib/gnulib-tool --import
22376
22377         * modules/getopt (Files): Rename getopt.h to getopt_.h.
22378         (Makefile.am): Rewrite, use logic from argz.
22379         (Include): Use <getopt.h> instead of "getopt.h".
22380
22381 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22382
22383         * modules/argp (Files): Add m4/unlocked-io.m4.
22384         (Depends-on): Add extensions.
22385
22386 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22387
22388         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
22389         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
22390         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
22391         Check for program_invocation_name, program_invocation_short_name,
22392         flockfile, funlockfile, features.h, _getopt_long_only_r.
22393
22394 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22395
22396         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
22397         its complicated substitute.
22398         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
22399         and program_invocation_name.
22400         (__argp_basename) [!_LIBC]: Remove; the only use was
22401         replaced by its body.
22402         (__argp_short_program_name): Change condition from
22403         !defined __argp_short_program_name to
22404         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
22405         to match argp-namefrob.h.
22406         (__argp_failure): Don't assume strerror_r returns char *.
22407         * lib/argp-parse.c (N_): Define unconditionally.
22408         (argp_default_options): Fill out initializers with 0 to avoid
22409         gcc warnings.
22410
22411 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22412
22413         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
22414         getopt1.c.
22415
22416 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
22417
22418         Merge from coreutils.
22419
22420         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
22421
22422         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
22423         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
22424
22425 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
22426
22427         Merge from coreutils.
22428
22429         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
22430         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
22431         for Reliant Unix 5.43.
22432
22433         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
22434         (union fooround): Use uintmax_t, not long int.
22435         The rest is a merge from libc:
22436         [defined _LIBC]: Include <shlib-compat.h>.
22437         (_obstack) [defined _LIBC]: Remove after 2.3.4.
22438
22439         * lib/settime.c (settime): Recode to avoid warning with
22440         Sun Forte C 6U2.
22441
22442         * lib/strverscmp.c: Convert to UTF-8.
22443
22444 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
22445
22446         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
22447         m4/uintmax_t.m4.
22448
22449 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
22450
22451         * modules/xalloc-die: New file.
22452         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
22453
22454         * modules/md5 (Files): Add m4/uint32_t.m4.
22455         * modules/sha1: Renamed from modules/sha.
22456         (Files):
22457         Rename lib/sha.h to lib/sha1.h.
22458         Rename lib/sha.c to lib/sha1.c.
22459         Rename m4/sha.m4 to m4/sha1.m4.
22460         (lib_SOURCES): Likewise.
22461         (configure.ac): Rename gl_SHA to gl_SHA1.
22462         (Include): sha.h -> sha1.h.
22463
22464 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
22465
22466         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
22467         * m4/sha1.m4: Renamed from sha.m4.
22468         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
22469
22470 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
22471
22472         * lib/obstack.h (obstack_empty_p):
22473         Don't assume that chunk->contents is suitably aligned.
22474         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
22475         Likewise. Problem reported by Benno in
22476         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
22477
22478         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
22479         readable.  This could be improved further but it'd take some work.
22480
22481 2004-08-08  Simon Josefsson  <jas@extundo.com>
22482
22483         * modules/xgethostname (Depends-on): Remove exit and error (not
22484         used).
22485
22486         * modules/getpass-gnu: Add getpass.h.
22487         (Depends-on): Add stdbool.
22488         * modules/getpass: Add getpass.h.
22489
22490 2004-08-08  Simon Josefsson  <jas@extundo.com>
22491
22492         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
22493         Check getpass declaration.
22494
22495 2004-08-08  Simon Josefsson  <jas@extundo.com>
22496
22497         * lib/xgethostname.c: Don't include error.h (not used).
22498
22499         * lib/getpass.h: Add.
22500         * lib/getpass.c: Include getpass.h first.
22501
22502 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
22503
22504         * lib/xalloc-die.c: New file.
22505         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
22506         All uses removed.
22507         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
22508         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
22509         xalloc-die.c.
22510         (_, N_, xalloc_die): Move to xalloc-die.c.
22511         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
22512         so that we needn't mess with xalloc_msg_memory_exhausted.
22513
22514         * lib/sha1.h: Renamed from sha.h.
22515         (SHA1_H): Renamed from _SHA_H.
22516         (sha1_ctx): Renamed from sha_ctx.
22517         (sha1_init_ctx): Renamed from sha_init_ctx.
22518         (sha1_process_block): Renamed from sha_process_block.
22519         (sha1_process_bytes): Renamed from sha_process_bytes.
22520         (sha1_finish_ctx): Renamed from sha_finish_ctx.
22521         (sha1_read_ctx): Renamed from sha_read_ctx.
22522         (sha1_stream): Renamed from sha_stream.
22523         (sha1_buffer): Renamed from sha_buffer.
22524         * lib/sha1.c: Likewise; renamed from sha.c.
22525         Do not include <sys/types.h>.
22526         Include <stddef.h> rather than <stdlib.h>.
22527
22528 2004-08-08  Bruno Haible  <bruno@clisp.org>
22529
22530         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
22531         FILESYSTEM_PREFIX_LEN.
22532         * lib/progreloc.c: Likewise.
22533         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
22534
22535 2004-08-06  Simon Josefsson  <jas@extundo.com>
22536
22537         * modules/progname (Depends-on): Don't depend on stdbool.
22538
22539 2004-08-06  Simon Josefsson  <jas@extundo.com>
22540
22541         * modules/getsubopt: New file.
22542         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22543         getsubopt.
22544
22545 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22546
22547         More merge from coreutils.
22548
22549         * m4/utimens.m4, m4/utimecmp.m4: New files.
22550         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
22551         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
22552         prereq.m4, sha.m4: Import changes from coreutils.
22553
22554 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22555
22556         More merge from coreutils.
22557         * modules/raise, modules/readtokens0, modules/utimens:
22558         * modules/utimecmp, module/xnanosleep: New files.
22559         * modules/strftime: Add lib/strftime.h.
22560         Change include from <time.h> to "strftime.h".
22561         * modules/yesno: Add lib/yesno.h.
22562         * modules/backupfile: Remove lib/addext.c.
22563         * modules/euidaccess: Add stat-macros.h.
22564         * modules/canonicalize, modules/euidaccess,
22565         modules/filemode, modules/lchown, modules/makepath,
22566         modules/rmdir, modules/stat: Likewise.
22567
22568 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22569
22570         Merge from tar.
22571         * lib/argp-help.c (make_hol, hol_append): Don't assume that
22572         SIZE_MAX is a valid preprocessor constant.
22573         (__argp_basename): Change from "#ifndef _LIBC"
22574         to "#ifndef __argp_short_program_name", so that
22575         we don't compile these functions for tar.
22576
22577         More merges from coreutils.
22578         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
22579         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
22580         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
22581         * lib/addext.c: Remove; no longer needed.
22582         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
22583         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
22584         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
22585         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
22586         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
22587         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
22588         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
22589         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
22590         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
22591         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
22592         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
22593         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
22594         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
22595         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
22596         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
22597         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
22598         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
22599         Import changes from coreutils.
22600
22601 2004-08-05  Simon Josefsson  <jas@extundo.com>
22602
22603         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
22604
22605 2004-08-05  Simon Josefsson  <jas@extundo.com>
22606
22607         * m4/getsubopt.m4: New file.
22608
22609 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22610
22611         Merge from coreutils.
22612
22613         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
22614         * m4/getcwd-path-max.m4: New files.
22615
22616         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
22617         FILESYSTEM_PREFIX_LEN ->
22618         FILE_SYSTEM_PREFIX_LEN.
22619         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
22620         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
22621         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
22622         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
22623
22624         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
22625         prerequisite modules now handle the DOS stuff.
22626         Don't check for unistd.h.
22627
22628 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22629
22630         Merge from coreutils.
22631
22632         * lib/.gdb-history: Remove; this doesn't belong here.
22633
22634         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
22635         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
22636         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
22637         * lib/getcwd.c: New files.
22638
22639         * lib/dirname.h: Include <stdbool.h>.
22640         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
22641         for consistency with POSIX terminology.  All uses changed.
22642         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
22643         (strip_trailing_slashes): Use bool for booleans.
22644         * lib/stripslash.c (strip_trailing_slashes): Likewise.
22645
22646         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
22647         sometimes returns a positive errno value even when it succeeds.
22648         (print_errno_message) [!LIBC]: Fall back on strerror if
22649         __strerror_r fails.
22650
22651         * lib/path-concat.c (mempcpy): Don't define if a system header defines
22652         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
22653         (longest_relative_suffix): New function.
22654         (path_concat): Use it.  Assume first argument is not NULL.
22655         Port to DOS.  Omit redundant separators.
22656         Report an error instead of returning NULL.
22657         Use mempcpy instead of memcpy.
22658         (xpath_concat): Remove: not declared or used.
22659
22660         * lib/same.h: Include <stdbool.h>
22661         (same_name): Return bool, not int.
22662         * lib/same.c (same_name): Likewise.
22663         (errno): Don't declare; we assume C89 or better now.
22664
22665         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
22666         if not already defined.
22667
22668         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
22669         * lib/dup-safer.c (errno): Likewise.
22670
22671 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22672
22673         Merge from coreutils.
22674         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
22675         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
22676         * modules/path-concat: Don't depend on strdup.
22677
22678 2004-08-03  Simon Josefsson  <jas@extundo.com>
22679
22680         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
22681         * lib/progname.h: Don't include stdbool.h.
22682
22683 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22684
22685         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
22686         * MODULES.html.sh (func_all_modules): Remove fatal.
22687
22688 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22689
22690         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
22691
22692 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22693
22694         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
22695         working.
22696
22697 2004-08-02  Simon Josefsson  <jas@extundo.com>
22698
22699         * lib/getsubopt.h: New file, with comments from Bruno Haible.
22700         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
22701         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
22702
22703 2004-08-01  Simon Josefsson  <jas@extundo.com>
22704
22705         * lib/xgetdomainname.c: Include stdlib.h, for free().
22706
22707 2004-07-19  Bruno Haible  <bruno@clisp.org>
22708
22709         * MODULES.html.sh (func_all_modules): Add dummy.
22710
22711 2004-07-16  Simon Josefsson  <jas@extundo.com>
22712
22713         * modules/dummy: New file.
22714
22715 2004-07-16  Simon Josefsson  <jas@extundo.com>
22716
22717         * lib/dummy.c: New file.
22718
22719 2004-07-16  Bruno Haible  <bruno@clisp.org>
22720
22721         * lib/backupfile.h: Add extern "C" for C++.
22722         * lib/closeout.h: Likewise.
22723         * lib/copy-file.h: Likewise.
22724         * lib/findprog.h: Likewise.
22725         * lib/full-write.h: Likewise.
22726         * lib/pathname.h: Likewise.
22727         * lib/progname.h: Likewise.
22728         * lib/stpcpy.h: Likewise.
22729         * lib/stpncpy.h: Likewise.
22730         * lib/strcase.h: Likewise.
22731         * lib/strstr.h: Likewise.
22732         * lib/xalloc.h: Likewise.
22733
22734         * lib/mbswidth.h: Add extern "C" for C++.
22735         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
22736
22737 2004-07-13  Robert Millan  <robertmh@gnu.org>
22738
22739         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
22740
22741 2004-07-09  Simon Josefsson  <jas@extundo.com>
22742
22743         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
22744         failed without this.)
22745
22746 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
22747
22748         * modules/chown (Files): Add lib/fchown-stub.c, since
22749         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
22750
22751 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
22752
22753         * lib/fchown-stub.c: New file.
22754
22755 2004-06-24  Jim Meyering  <jim@meyering.net>
22756
22757         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
22758
22759 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22760
22761         * modules/argz: Omit "#include".
22762
22763         * MODULES.html.sh (func_all_modules): Add calloc, to match
22764         2004-06-01 addition of calloc module.
22765
22766 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22767
22768         * m4/argz.m4: New file, which is autoupdated from libtool.
22769
22770 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22771
22772         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
22773         libtool.
22774
22775 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22776
22777         * config/srclist-update: Don't insist on "USA." before the
22778         close-comment, as libtool omits the period and puts the */ on a
22779         separate line.
22780         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
22781         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
22782
22783 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
22784
22785         * modules/argz: New file.
22786         * MODULES.html.sh (func_all_modules): Add argz.
22787
22788 2004-06-12  Jim Meyering  <jim@meyering.net>
22789         and  Paul Eggert  <eggert@cs.ucla.edu>
22790
22791         * modules/hash (Files): Add lib/xalloc.h.
22792         * modules/pipe (Depends-on): Add wait-process.
22793         * modules/stat (Depends-on): Add xalloc.
22794         * modules/userspec (Files): Add lib/userspec.h.
22795         * modules/xstrto
22796
22797         Upgrade from gettext-0.13.
22798         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
22799         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
22800         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
22801
22802 2004-06-10  Jim Meyering  <jim@meyering.net>
22803
22804         * lib/calloc.c: New file.
22805
22806 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
22807
22808         * lib/getdate.y (yylex): Allow space between sign and number.
22809         Problem reported by Dan Jacobson.
22810
22811 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22812
22813         Merge from coreutils CVS.
22814
22815         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
22816         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
22817         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
22818         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
22819         xstrtol.m4: Fix copyright date and/or serial number.
22820
22821         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
22822         See if we need an fchown replacement.
22823         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
22824         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
22825         and use the replacement function if we detect either defect.
22826
22827         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
22828         gl_UTIMECMP.
22829
22830 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22831         and  Jim Meyering  <jim@meyering.net>
22832
22833         Merge from coreutils CVS.
22834
22835         * lib/stat-macros.h: New file, with contents from file-type.h
22836         and coreutils' system.h.
22837         * lib/file-type.c: Include "stat-macros.h".
22838         * lib/file-type.h (file_type): Move all macro definitions to new file,
22839         stat-macros.h.
22840
22841         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
22842         Wrap old code with this conditional.
22843         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
22844         function that does not dereference symlinks.
22845         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
22846
22847         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
22848         dependency problems.
22849         (xreadlink): Accept new arg SIZE, for efficiency.
22850         All decls and uses changed.
22851         * lib/xreadlink.h: Include <stddef.h>, for size_t.
22852
22853         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
22854         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
22855
22856         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
22857         sysexits.h.
22858
22859 2004-06-01  Jim Meyering  <jim@meyering.net>
22860
22861         * m4/calloc.m4: New file.
22862
22863 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
22864
22865         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
22866         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
22867         Also, fix a typo in a diagnostic.
22868
22869 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22870
22871         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
22872         or AC_FUNC_REALLOC.
22873
22874 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22875
22876         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
22877         macros to be defined.
22878         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
22879         the allocator returns NULL because the requested size is zero.
22880
22881 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22882
22883         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
22884         var.  Add comment explaining why libc still defines it.  This
22885         merges the following patch from glibc:
22886         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
22887
22888 2004-05-20  Andreas Schwab  <schwab@suse.de>
22889
22890         * m4/free.m4: Replace free if it not known to work, not the other
22891         way round.
22892
22893 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22894
22895         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
22896         present in glibc since revision 1.1 of this file.
22897         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
22898         obstack_alignment_mask, obstack_alloc, obstack_base,
22899         obstack_blank, obstack_blank_fast, obstack_chunk_size,
22900         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
22901         obstack_grow0, obstack_init, obstack_int_grow,
22902         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
22903         obstack_next_free, obstack_object_size, obstack_ptr_grow,
22904         obstack_ptr_grow_fast, obstack_room): Remove declarations of
22905         nonexistent functions.
22906
22907 2004-05-18  Karl Berry  <karl@gnu.org>
22908
22909         * config/srclist.txt: break link for vasnprintf.c.
22910
22911 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22912
22913         Port obstack to the AS/400, where pointers are 16 bytes wide and
22914         you cannot cast an integer to a valid pointer.  This patch is
22915         currently waiting to be integrated into glibc; see
22916         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
22917
22918         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
22919         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
22920         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
22921         (struct obstack): temp member is now a union of a pointer and
22922         an integer, instead of an integer.  All integer uses changed.
22923         This does not affect the physical layout of struct obstack,
22924         except on hosts (like the AS/400) where the size or alignment of
22925         void * is greater than that of ptrdiff_t.
22926         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
22927         __STDC__)]: Store temporary in pointer member of union, not
22928         integer member.
22929         * lib/obstack.c: Include <stddef.h>, for offsetof.
22930         (struct fooalign): Remove; it doesn't need a name.
22931         (union fooround): Change double to long double, and add void *.
22932         (DEFAULT_ALIGNMENT): Use offsetof to compute.
22933         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
22934         not a macro.  Hence the values are always int; so remove all
22935         casts-to-int in uses.
22936
22937 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22938
22939         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
22940         we can get this patch merged into glibc.
22941
22942 2004-05-17  Derek R. Price  <derek@ximbiot.com>
22943             Paul Eggert  <eggert@cs.ucla.edu>
22944
22945         * m4/argp: Depend on alloca.
22946
22947 2004-05-17  Derek R. Price  <derek@ximbiot.com>
22948             Paul Eggert  <eggert@cs.ucla.edu>
22949
22950         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
22951         freecoding.
22952
22953 2004-05-17  Bruno Haible  <bruno@clisp.org>
22954
22955         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
22956         precision that consists of a '.' followed by an empty digit string.
22957         Patch by Tor Lillqvist <tml@iki.fi>.
22958
22959 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22960
22961         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
22962         for backward compatibility with older code.  We need our own
22963         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
22964         it under some other name, and our alloca.h will define it.
22965
22966 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22967             Derek Price  <derek@ximbiot.com>
22968
22969         * lib/alloca.c: Include <alloca.h>, to get our interface.
22970         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
22971         include <alloca.h> first.  Use C89 prototype for alloca; this
22972         requires including <stddef.h> for size_t.  Use extern "C" if C++.
22973         Use #elif for simplicity, since we can assume C89 now.
22974         Don't try to source the system alloca.h since it will not be found
22975         and to prevent recursively including its replacement.
22976         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
22977         * lib/regex.c: Likewise.
22978
22979 2004-05-16  Derek Price  <derek@ximbiot.com>
22980             Paul Eggert  <eggert@cs.ucla.edu>
22981
22982         getline cleanup.  This changes the getndelim2 API: both order of
22983         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
22984         no delimiter).
22985
22986         * lib/getline.c: Don't include stddef.h or stdio.h, since our
22987         interface does that.
22988         (getline): Always use getdelim, so that we don't have two
22989         copies of this code.
22990         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
22991         if available.
22992         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
22993         (GETNDELIM2_MAXIMUM): New macro.
22994         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
22995         instead of the old practice of delim2==0.  All callers changed.
22996         Return -1 on overflow, instead of returning junk.
22997         Do not set *linesize unless allocation succeeds.
22998         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
22999         that we include sys/types.h.
23000         * lib/getnline.h: Likewise.
23001         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
23002         (getndelim2): Reorder arguments.
23003         * lib/getnline.c (getnline, getndelim):
23004         Don't discard the NMAX argument.
23005         (getnline): Invoke getndelim, to avoid code duplication.
23006         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
23007         of (size_t) -1 by callers of the getnline family.
23008
23009 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
23010
23011         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
23012         Check for gettimeofday.
23013         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
23014         Check for settimeofday, stime.
23015
23016 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
23017
23018         * lib/nanosleep.c (suspended): Change its type from int to
23019         sig_atomic_t volatile.
23020         (first_call): Make it private to rpl_nanosleep, and have it
23021         be zero initially as that's a bit faster.
23022         (my_usleep): Round up fractional times instead of truncating them,
23023         as this is the usual meaning for 'sleep'.
23024
23025         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
23026         doesn't work.
23027         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
23028         (ENOSYS): Define if not defined.
23029         (settime): Fall back on stime if it exists and settimeofday fails.
23030         But don't bother with fallbacks if a method fails with errno == EPERM.
23031
23032 2004-05-11  Jim Meyering  <jim@meyering.net>
23033
23034         Prior to this change, the save_cwd caller required read access to the
23035         current directory on most systems (ones with the fchdir function).
23036
23037         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
23038         fails, try write-only, and finally, resort to using xgetcwd.
23039
23040 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23041
23042         * lib/obstack.c, obstack.h: Import changes from libc.
23043
23044 2004-04-28  Bruno Haible  <bruno@clisp.org>
23045
23046         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
23047         also implicitly appends .exe to executables.
23048         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
23049         accepts Windows pathnames.
23050         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
23051         Treat Cygwin like Windows, since it now accepts Windows pathnames.
23052         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
23053         Treat Cygwin like Windows, since it now accepts Windows pathnames.
23054         Reported by Derek Robert Price <derek@ximbiot.com>.
23055
23056 2004-04-21  Karl Berry  <karl@gnu.org>
23057
23058         * config/srclist.txt (localcharset.c): break sync.
23059
23060 2004-04-20  Paul Eggert  <eggert@twinsun.com>
23061
23062         * m4/host-os.m4: Add a copyright notice.
23063
23064 2004-04-20  Jim Meyering  <jim@meyering.net>
23065
23066         Change UTILS_ to gl_ in AC_DEFINE'd names.
23067         Change utils_- and jm_-prefixed variables, too.
23068         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
23069         UTILS_FUNC_MKDIR_TRAILING_SLASH.
23070         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
23071
23072         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
23073         Don't emit trailing blanks.
23074         Also rename jm_-prefixed variables to have gl_ prefix.
23075
23076         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
23077         Also rename jm_-prefixed variables to have gl_ prefix.
23078
23079         * m4/jm-macros.m4: Reflect the renamings.
23080         * m4/prereq.m4: Likewise.
23081
23082 2004-04-20  Jim Meyering  <jim@meyering.net>
23083
23084         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
23085         memory.
23086
23087 2004-04-20  Jim Meyering  <jim@meyering.net>
23088             Bruno Haible  <bruno@clisp.org>
23089
23090         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
23091         memory when realloc fails.
23092
23093 2004-04-19  Jim Meyering  <jim@meyering.net>
23094
23095         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
23096         now that readutmp.c may call `free (0)'.
23097
23098 2004-04-19  Bruno Haible  <bruno@clisp.org>
23099
23100         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
23101         * m4/inttypes_h.m4: Likewise.
23102         * m4/stdint_h.m4: Likewise.
23103         * m4/intmax_t.m4: Likewise.
23104         * m4/uintmax_t.m4: Likewise.
23105
23106 2004-04-18  Jim Meyering  <jim@meyering.net>
23107
23108         * m4/prereq.m4: Don't forbid jm_ prefix.
23109
23110         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
23111         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
23112         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
23113         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
23114         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
23115         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
23116         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
23117         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
23118         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
23119         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
23120         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
23121         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
23122         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
23123         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
23124         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
23125         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
23126         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
23127         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
23128         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
23129
23130 2004-04-18  Jim Meyering  <jim@meyering.net>
23131
23132         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
23133         failure, don't leak memory and do call END_UTMP_ENT.
23134
23135 2004-04-16  Jim Meyering  <jim@meyering.net>
23136
23137         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
23138         coreutils' stat program.
23139         (gl_PREREQ): Don't require jm_PREREQ_STAT.
23140
23141 2004-04-11  Paul Eggert  <eggert@twinsun.com>
23142
23143         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
23144         C89.
23145         (CHAR_BIT): Remove, since we assume C89.
23146         Include <stdint.h> if available, as per current Autoconf CVS advice.
23147
23148 2004-03-31  Jim Meyering  <jim@meyering.net>
23149
23150         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
23151         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
23152         * m4/xalloc.m4: Likewise.
23153
23154 2004-03-30  Paul Eggert  <eggert@twinsun.com>
23155
23156         Merge from coreutils.
23157
23158         * m4/inttostr.m4: New file.
23159         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
23160         Require AM_STDBOOL_H and gl_TIMESPEC instead.
23161         Require gl_CLOCK_TIME.
23162         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
23163
23164 2004-03-30  Paul Eggert  <eggert@twinsun.com>
23165
23166         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
23167         not bool, to be more consistent with Unix conventions.
23168         Suggested by Bruno Haible.
23169
23170         Merge from coreutils.
23171
23172         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
23173         * lib/umaxtostr.c: New files.
23174
23175         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
23176         the usual <time.h> dance.
23177         (get_date): Change signature to support fractional time stamps.
23178         All callers changed.
23179         * lib/getdate.y: Include "getdate.h" first, as we can now
23180         assume C89 and don't need to worry about 'const'.
23181         Similarly, include "unlocked-io.h" near start, not in middle.
23182         Include <limits.h>.
23183         (textint.value): Use long int rather than int.
23184         (textint.digits): Use size_t rather than int.
23185         (BILLION, LOG10_BILLION): New constants.
23186         (parser_control): New member rel_ns.  Members day_ordinal,
23187         time_zone, month, day, hour, minutes, rel_year, rel_month,
23188         rel_day, rel_hour, rel_minutes, rel_seconds
23189         are now long int, not int.  Member seconds is now struct timespec,
23190         not int.  New member timespec_seen.  Members dates_seen, days_seen,
23191         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
23192         not int.
23193         (%union.intval): Now long int, not int.
23194         New member timespec.
23195         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
23196         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
23197         (spec): Now is a timespec or an item list.
23198         (timespec, items): New nonterminals.
23199         (time, rel, relunit, number, get_date):
23200         Add support for fractional seconds.
23201         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
23202         (gmtime, localtime, mktime): Remove decls; not needed with C89.
23203         (to_hour): First arg is now long int, not int.
23204         (to_year): Returns long int, not int.
23205         Don't treat year -70 like 70.
23206         (tm_diff): Returns long int, not int.
23207         (lookup_word): Use bool instead of int when appropriate.
23208         (yylex): Use size_t for count, not int.
23209         Detect overflow when parsing large integer constants.
23210         Add support for fractions.
23211         (get_date): Make pointers 'const' if possible.
23212         Use more-portable code to detect integer overflow.
23213         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
23214         Don't use ctime; it's not reliable if the year has >4 digits.
23215
23216         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
23217         This is for compatibility with BSD.
23218
23219         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
23220         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
23221         From coreutils' system.h.
23222
23223         * lib/userspec.c: Don't include "posixver.h".
23224         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
23225         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
23226         compatible extension.  Simplify code by removing a boolean int
23227         that was always nonzero if a string was nonnull.
23228
23229 2004-03-30  Jim Meyering  <jim@meyering.net>
23230
23231         Merge from coreutils.
23232
23233         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
23234         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
23235         on some systems one must include <grp.h> before it.
23236         Reported by Christian Krackowizer.
23237
23238 2004-03-30  Jim Meyering  <jim@meyering.net>
23239
23240         Merge from coreutils.
23241
23242         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
23243
23244         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
23245         an empty input stream.
23246
23247         * lib/readtokens.c: Include <stdbool.h>.
23248         (readtoken): Use `size_t' rather than int/long.
23249         All callers adjusted.
23250         Use `bool' rather than `int' where appropriate.
23251         Use memset rather than an explicit loop.
23252         Use x2nrealloc rather than xrealloc.
23253         Allow the use of `\0' as a delimiter.
23254         (readtokens): Likewise.
23255         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
23256
23257 2004-03-30  Jim Meyering  <jim@meyering.net>
23258
23259         * m4/realloc.m4: Remove file, since now it does no more than
23260         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
23261         the `configure.ac' section of module/realloc.
23262         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
23263
23264 2004-03-30  Bruno Haible  <bruno@clisp.org>
23265
23266         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
23267         nonnull.
23268
23269 2004-03-29  Paul Eggert  <eggert@twinsun.com>
23270
23271         Merge changes to getloadavg.c from coreutils and Emacs.
23272
23273         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
23274         Define to an expression, not to the empty string.
23275         Include cloexec.h and xalloc.h.
23276         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
23277         Use set_cloexec_flag rather than rolling our own.
23278         * lib/cloexec.c, lib/cloexec.h: New files.
23279
23280 2004-03-29  Paul Eggert  <eggert@twinsun.com>
23281
23282         * m4/cloexec.m4: New file.
23283
23284 2004-03-18  Paul Eggert  <eggert@twinsun.com>
23285
23286         * lib/getopt.h: Sync with libc CVS.
23287
23288 2004-03-18  Paul Eggert  <eggert@twinsun.com>
23289             Bruno Haible  <bruno@clisp.org>
23290
23291         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
23292         mbswidth.
23293
23294 2004-03-18  Paul Eggert  <eggert@twinsun.com>
23295             Bruno Haible  <bruno@clisp.org>
23296
23297         * lib/mbswidth.h: Include <wchar.h> only if
23298         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
23299         <wchar.h>.
23300         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
23301
23302 2004-03-09  Paul Eggert  <eggert@twinsun.com>
23303
23304         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
23305         Sync with libc CVS.
23306         * lib/getopt_int.h: New file, also synced from libc.
23307
23308 2004-03-09  Paul Eggert  <eggert@twinsun.com>
23309
23310         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
23311         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
23312         Bring back getopt.c, getopt.h, getopt1.c.
23313
23314 2004-03-07  Paul Eggert  <eggert@twinsun.com>
23315
23316         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
23317         All uses changed.  Check for sa_sigaction member; this fixes
23318         a bug first reported by Jason Andrade in
23319         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
23320
23321 2004-03-07  Paul Eggert  <eggert@twinsun.com>
23322
23323         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
23324         '#if' expressions.  Unlike the code it replaces, it does not
23325         depend on (defined _SC_PAGESIZE).  However, it does depend on
23326         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
23327         first reported by Jason Andrade in
23328         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
23329
23330 2004-02-25  Simon Josefsson  <jas@extundo.com>
23331
23332         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
23333
23334 2004-02-25  Simon Josefsson  <jas@extundo.com>
23335
23336         * lib/strdup.h: New file.
23337         * lib/strdup.c: Include it.
23338         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
23339         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
23340
23341 2004-02-23  Karl Berry  <karl@gnu.org>
23342
23343         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
23344         (from fencepost.gnu.org:/gd/gnuorg).
23345
23346 2004-02-23  Karl Berry  <karl@gnu.org>
23347
23348         * config/srclistvars.sh (GNUORG) [karl]: redefine.
23349         * config/srclist.txt: add maintain/standards documents.
23350
23351 2004-02-18  Bruno Haible  <bruno@clisp.org>
23352
23353         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
23354         Reported by Derek Robert Price <derek@ximbiot.com>.
23355
23356 2004-02-16  Karl Berry  <karl@gnu.org>
23357
23358         * config/mkinstalldirs, install-sh: update from automake.
23359
23360 2004-02-06  Karl Berry  <karl@gnu.org>
23361
23362         * m4/po.m4: update from gettext 0.14.1.
23363
23364 2004-02-06  Karl Berry  <karl@gnu.org>
23365
23366         * lib/config.charset: update from gettext 0.14.1.
23367
23368 2004-02-05  Paul Eggert  <eggert@twinsun.com>
23369
23370         Add comments and code, prompted by suggestions from Bruno Haible
23371         for sh-quote.
23372         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
23373         describing the enum quoting_style values.
23374         * lib/quotearg.c (quotearg_alloc): New function.
23375         (quotearg_buffer_restyled): Treat lone { and } as special.
23376         Treat = as special.  Work around bug with older shells
23377         that "see" a '\' that is really the 2nd byte of a multibyte char.
23378         Quote empty string with shell_quoting_style.
23379
23380 2004-02-03  Bruno Haible  <bruno@clisp.org>
23381
23382         * m4/pipe.m4: New file, from GNU gettext.
23383
23384 2004-02-03  Bruno Haible  <bruno@clisp.org>
23385
23386         * lib/pipe.h: New file, from GNU gettext.
23387         * lib/pipe.c: New file, from GNU gettext.
23388
23389 2004-01-27  Bruno Haible  <bruno@clisp.org>
23390
23391         * m4/execute.m4: New file, from GNU gettext.
23392
23393 2004-01-27  Bruno Haible  <bruno@clisp.org>
23394
23395         * lib/execute.h: New file, from GNU gettext.
23396         * lib/execute.c: New file, from GNU gettext.
23397         * lib/w32spawn.h: New file, from GNU gettext.
23398
23399 2004-01-24  Paul Eggert  <eggert@twinsun.com>
23400
23401         Merge from diffutils.
23402
23403         * lib/file-type.c (file_type): Add typed memory objects.
23404         * lib/file-type.h (S_TYPEISTMO): New macro.
23405
23406         * lib/c-stack.h (c_stack_action): Remove argv argument.
23407         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
23408         (die): Don't calculate message unless segv_action returns.
23409         (get_stack_location, min_address_from_argv, max_address_from_argv,
23410         volatile stack_base, volatile_stack_size): Remove.
23411         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
23412         that every segmentation violation is a stack overflow.  (Ouch!)
23413         See Debian bug 136249 (still outstanding) for more info about why
23414         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
23415
23416 2004-01-24  Paul Eggert  <eggert@twinsun.com>
23417
23418         Exit-status fix from coreutils.
23419
23420         Use exit_failure consistently in place of EXIT_FAILURE,
23421         so that program exit statuses are consistent on failure.
23422
23423         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
23424         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
23425         * lib/argmatch.h: Comment fix to match the above.
23426         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
23427         Now a macro referring to exit_failure, instead of a separate
23428         variable.  Include "exitfail.h" to get it.
23429         * lib/xstrtol.h: Include "exitfail.h".
23430         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
23431
23432         * lib/long-options.c (parse_long_options): Use prototype
23433         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
23434         for clarity.
23435
23436 2004-01-21  Jim Meyering  <jim@meyering.net>
23437
23438         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
23439         so as not to conflict with a different-sized __mktime_internal
23440         function in GNU libc.
23441         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
23442         Problem building statically-linked `ls' reported by Michael Brunnbauer.
23443
23444 2004-01-20  Karl Berry  <karl@gnu.org>
23445
23446         * config/config.guess: update from config.
23447
23448         * config/srclistvars.sh: GNUWWWLICENSES for karl.
23449
23450 2004-01-20  Bruno Haible  <bruno@clisp.org>
23451
23452         Safer stack allocation.
23453         * lib/setenv.c: Include allocsa.h.
23454         (alloca): Remove fallback definition.
23455         (freea): Remove macro.
23456         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
23457         instead of freea.
23458
23459 2004-01-20  Bruno Haible  <bruno@clisp.org>
23460
23461         * m4/eealloc.m4: New file, from GNU gettext.
23462
23463 2004-01-20  Bruno Haible  <bruno@clisp.org>
23464
23465         * m4/allocsa.m4: New file, from GNU gettext.
23466
23467 2004-01-20  Bruno Haible  <bruno@clisp.org>
23468
23469         * lib/xallocsa.h: New file, from GNU gettext.
23470         * lib/xallocsa.c: New file, from GNU gettext.
23471
23472 2004-01-20  Bruno Haible  <bruno@clisp.org>
23473
23474         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
23475
23476 2004-01-20  Bruno Haible  <bruno@clisp.org>
23477
23478         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
23479         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
23480         specially.
23481
23482 2004-01-20  Bruno Haible  <bruno@clisp.org>
23483
23484         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
23485         patch.
23486
23487 2004-01-20  Bruno Haible  <bruno@clisp.org>
23488
23489         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
23490
23491 2004-01-20  Bruno Haible  <bruno@clisp.org>
23492
23493         * lib/eealloc.h: New file.
23494
23495 2004-01-20  Bruno Haible  <bruno@clisp.org>
23496
23497         * lib/binary-io.h: Avoid warnings on Cygwin.
23498
23499 2004-01-20  Bruno Haible  <bruno@clisp.org>
23500
23501         * lib/allocsa.h: New file, from GNU gettext.
23502         * lib/allocsa.c: New file, from GNU gettext.
23503
23504 2004-01-18  Karl Berry  <karl@gnu.org>
23505
23506         * doc/gpl.texi, doc/lgpl.texi: new files.
23507
23508 2004-01-18  Karl Berry  <karl@gnu.org>
23509
23510         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
23511         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
23512
23513 2004-01-15  Paul Eggert  <eggert@twinsun.com>
23514
23515         Merge from coreutils.
23516
23517         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
23518         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
23519         (gl_DEFAULT_POSIX2_VERSION): Move
23520         the documentation from 'configure' into 'config.hin',
23521         so that 'configure --help' isn't burdened by it and
23522         we don't have to worry about its formatting there.
23523         Reword the documentation so that it's more succinct
23524         and can be run together into a single paragraph.
23525         * m4/same.m4 (gl_SAME): Check for pathconf.
23526
23527 2004-01-15  Paul Eggert  <eggert@twinsun.com>
23528
23529         Merge from coreutils.
23530
23531         * lib/posixver.c: Include posixver.h.
23532
23533         * lib/same.c: Include <stdbool.h>, <limits.h>.
23534         (_POSIX_NAME_MAX): Define if not defined.
23535         (MIN): New macro.
23536         (same_name): If file names are silently truncated, report
23537         that the file names are the same if they are the same after
23538         the silent truncation.
23539
23540         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
23541         conversion function.
23542         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
23543         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
23544         longer needed.
23545
23546 2004-01-15  Jim Meyering  <jim@meyering.net>
23547
23548         Merge from coreutils.
23549
23550         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
23551         if no library is required.
23552         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
23553         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
23554         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
23555         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
23556         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
23557         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
23558         value, $ac_cv_search_crypt, if it's "none required".
23559         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
23560         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
23561         not gl_FUNC_GETLOADAVG.
23562         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
23563         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
23564
23565 2004-01-15  Jim Meyering  <jim@meyering.net>
23566
23567         Merge from coreutils.
23568
23569         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
23570         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
23571         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
23572
23573         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
23574         optional configure-time default.
23575
23576         * lib/version-etc.c (version_etc_copyright): Update copyright date.
23577
23578         * lib/xreadlink.c (xreadlink): Correct outdated comment.
23579
23580 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
23581
23582         Merge from coreutils.
23583
23584         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
23585         value, $ac_cv_search_nanosleep, if it's "none required".
23586
23587 2004-01-14  Paul Eggert  <eggert@twinsun.com>
23588
23589         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
23590         with like-named macro in fnmatch.c.
23591         (EXT): Use an internal constant instead.
23592
23593         Merge fnmatch patches from glibc.
23594         * lib/fnmatch.c (mbsinit): Remove define.
23595         Add libc_hidden_ver (__fnmatch, fnmatch).
23596         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
23597         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
23598
23599 2004-01-14  Karl Berry  <karl@gnu.org>
23600
23601         * config/install-sh: update from automake.
23602
23603 2004-01-13  Karl Berry  <karl@gnu.org>
23604
23605         * config/install-sh: update from automake.
23606
23607 2004-01-09  Karl Berry  <karl@gnu.org>
23608
23609         * config/install-sh: update from automake.
23610
23611 2004-01-05  Karl Berry  <karl@gnu.org>
23612
23613         * config/config.{sub,guess}: update from config.
23614
23615 2003-12-31  Karl Berry  <karl@gnu.org>
23616
23617         * config/depcomp: update from automake.
23618
23619 2003-12-14  Karl Berry  <karl@gnu.org>
23620
23621         * lib/config.charset: update from gettext-runtime.
23622
23623 2003-12-03  Paul Eggert  <eggert@twinsun.com>
23624
23625         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
23626         Bug reported by Alfred M. Szmidt.
23627
23628 2003-12-03  Bruno Haible  <bruno@clisp.org>
23629
23630         * m4/gettext.m4: Upgrade from gettext-0.13.
23631         * m4/po.m4: Upgrade from gettext-0.13.
23632         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
23633         * m4/intmax.m4: New file, from gettext-0.13.
23634         * m4/printf-posix.m4: New file, from gettext-0.13.
23635
23636 2003-11-29  Karl Berry  <karl@gnu.org>
23637
23638         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
23639
23640 2003-11-25  Paul Eggert  <eggert@twinsun.com>
23641             Bruno Haible  <bruno@clisp.org>
23642
23643         * lib/printf-parse.h: Don't include sys/types.h.
23644         (ARG_NONE): New macro.
23645         (char_directive): Change type of *arg_index fields to size_t.
23646         * lib/printf-parse.c: Don't include sys/types.h.
23647         (SSIZE_MAX): Remove macro.
23648         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
23649         Remove unnecessary overflow check.
23650         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
23651         fields.
23652
23653 2003-11-25  Bruno Haible  <bruno@clisp.org>
23654
23655         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
23656
23657 2003-11-25  Bruno Haible  <bruno@clisp.org>
23658
23659         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
23660         gt_TYPE_SSIZE_T.
23661
23662 2003-11-24  Paul Eggert  <eggert@twinsun.com>
23663
23664         * modules/alloca: Remove dependency on xalloc.
23665
23666 2003-11-24  Paul Eggert  <eggert@twinsun.com>
23667
23668         * lib/alloca.c: Remove dependency on xalloc module.
23669         (xalloc_die): Remove.
23670         (memory_full) [!defined emacs]: New macro.
23671         [!defined emacs]: Don't include xalloc.h.
23672         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
23673         address arithmetic overflows.  Change datatypes a bit to avoid
23674         unnecessary casts.
23675
23676 2003-11-22  Jim Meyering  <jim@meyering.net>
23677
23678         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
23679         s/size/size_t/.
23680
23681 2003-11-21  Karl Berry  <karl@gnu.org>
23682
23683         * config/config.{sub,guess}: update from config.
23684
23685 2003-11-18  Karl Berry  <karl@gnu.org>
23686
23687         * config/config.{sub,guess}: update from config.
23688
23689         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
23690
23691 2003-11-17  Paul Eggert  <eggert@twinsun.com>
23692
23693         * README: Mention that S+T cannot overflow if S is the size of
23694         an existing object and T is sufficiently small.
23695
23696 2003-11-17  Jim Meyering  <jim@meyering.net>
23697
23698         On systems without utime and without a utimes function capable of
23699         dealing with a NULL struct utimbuf* argument, this utime replacement
23700         could -- in unusual circumstances -- leak a file descriptor.
23701         * lib/utime.c: Include <unistd.h> and <errno.h>.
23702         (utime_null): Be sure to close `fd' and to preserve errno.
23703         Reported by Geoff Collyer via Arnold Robbins.
23704
23705 2003-11-17  Bruno Haible  <bruno@clisp.org>
23706
23707         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
23708         (Depends-on): Add xsize.
23709
23710 2003-11-17  Bruno Haible  <bruno@clisp.org>
23711
23712         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
23713
23714 2003-11-17  Bruno Haible  <bruno@clisp.org>
23715
23716         * lib/vasnprintf.c (alloca): Remove fallback definition.
23717         (freea): Remove definition.
23718         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
23719         Reported by Paul Eggert.
23720
23721 2003-11-16  Paul Eggert  <eggert@twinsun.com>
23722             Bruno Haible  <bruno@clisp.org>
23723
23724         Protect against address arithmetic overflow.
23725         * lib/printf-args.h: Include stddef.h.
23726         (arguments): Change type of field 'count' to size_t.
23727         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
23728         'unsigned int' where appropriate.
23729         * lib/printf-parse.h: Include sys/types.h.
23730         (char_directive): Change type of *arg_index fields to ssize_t.
23731         (char_directives): Change type of fields 'count', max_*_length to
23732         size_t.
23733         * lib/printf-parse.c: Include sys/types.h and xsize.h.
23734         (SSIZE_MAX): Define fallback value.
23735         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
23736         instead of 'int' where appropriate. Check a_allocated, d_allocated
23737         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
23738         * lib/vasnprintf.c: Include xsize.h.
23739         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
23740         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
23741         overflow. Avoid wraparound when converting a width or precision from
23742         decimal to binary.
23743
23744 2003-11-16  Bruno Haible  <bruno@clisp.org>
23745
23746         Update from GNU gettext.
23747         * lib/printf-parse.c: Generalize to it can be compiled for wide
23748         strings.
23749         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
23750         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
23751         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
23752         SNPRINTF): New macros.
23753         Don't include <alloca.h> if the file is used inside libintl.
23754         (local_wcslen): New function, for Solaris 2.5.1.
23755         (VASNPRINTF): Use it instead of wcslen.
23756
23757 2003-11-16  Bruno Haible  <bruno@clisp.org>
23758
23759         * lib/xsize.h (xmax): New function.
23760         (xsum, xsum3, xsum4): Declare as "pure" functions.
23761
23762 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23763
23764         * modules/xalloc (Files): Undo latest change, since xalloc.h
23765         no longer needs SIZE_MAX or PTRDIFF_MAX.
23766
23767 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23768
23769         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
23770         gl_PTRDIFF_MAX.
23771
23772 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23773
23774         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
23775         "return", to pacify some unknown compiler.  Problem reported
23776         by Joerg Schilling.
23777
23778 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23779
23780         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
23781         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
23782         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
23783         heuristic is just as accurate as far as we know, and it removes a
23784         dependency on size_max.m4 and ptrdiff_max.m4.
23785
23786 2003-11-11  Bruno Haible  <bruno@clisp.org>
23787
23788         * modules/xsize (Files): Add m4/size_max.m4.
23789         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
23790
23791 2003-11-11  Bruno Haible  <bruno@clisp.org>
23792
23793         * m4/size_max.m4: New file.
23794         * m4/ptrdiff_max.m4: New file.
23795         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
23796         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
23797         (gl_XALLOC): Invoke it.
23798
23799 2003-11-11  Bruno Haible  <bruno@clisp.org>
23800
23801         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
23802         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
23803         defined.
23804
23805 2003-11-10  Paul Eggert  <eggert@twinsun.com>
23806
23807         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
23808         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
23809         rejected some allocations of exactly SIZE_MAX - 2 bytes.
23810         From Bruno Haible.
23811         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
23812         not (size_t) -1, since it's defined here.
23813
23814 2003-11-09  Karl Berry  <karl@gnu.org>
23815
23816         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
23817
23818 2003-11-06  Paul Eggert  <eggert@twinsun.com>
23819
23820         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
23821         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
23822         Reject sizes of exactly SIZE_MAX bytes.
23823         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
23824         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
23825
23826 2003-11-05  Bruno Haible  <bruno@clisp.org>
23827
23828         * lib/xsize.h: Include limits.h, to avoid a possible collision with
23829         SIZE_MAX defined in <limits.h> on Solaris.
23830
23831 2003-11-04  Jim Meyering  <jim@meyering.net>
23832
23833         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
23834         variable names, rather than @VAR@.
23835         * modules/poll: Likewise.
23836
23837 2003-11-04  Bruno Haible  <bruno@clisp.org>
23838
23839         * modules/xsize: New file.
23840         * modules/linebreak: Depend on xsize.
23841         * MODULES.html.sh (func_all_modules): Add xsize.
23842
23843 2003-11-04  Bruno Haible  <bruno@clisp.org>
23844
23845         * m4/xsize.m4: New file.
23846
23847 2003-11-04  Bruno Haible  <bruno@clisp.org>
23848
23849         * lib/xsize.h: New file.
23850         * lib/linebreak.c: Include xsize.h.
23851         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
23852         argument for overflow.
23853         Suggested by Paul Eggert.
23854
23855 2003-11-03  Karl Berry  <karl@gnu.org>
23856
23857         * config/config.{guess,sub}: update from config.
23858
23859 2003-11-03  Jim Meyering  <jim@meyering.net>
23860
23861         * modules/userspec (lib_SOURCES): Add userspec.h.
23862         (Include): Add "userspec.h".
23863         Improve description.
23864
23865 2003-11-03  Jim Meyering  <jim@meyering.net>
23866
23867         * lib/userspec.c: Include "userspec.h".
23868         * lib/userspec.h: New file.
23869
23870 2003-11-03  Bruno Haible  <bruno@clisp.org>
23871
23872         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
23873
23874 2003-11-03  Bruno Haible  <bruno@clisp.org>
23875
23876         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
23877         available, to avoid (extremely rare) race condition.
23878         Suggested by Paul Eggert.
23879
23880 2003-11-02  Karl Berry  <karl@gnu.org>
23881
23882         * config/srclist.txt (vasprintf.c): sync broken, sigh.
23883
23884 2003-10-31  Paul Eggert  <eggert@twinsun.com>
23885
23886         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
23887         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
23888         (read_filesystem_list): Set and use me_type_malloced.
23889         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
23890         whatever the type happens to be), for brevity and consistency.
23891         Check for size calculation overflow on Alphas running OSF/1.
23892
23893 2003-10-31  Jim Meyering  <jim@meyering.net>
23894
23895         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
23896
23897         * lib/linebuffer.c: Include <string.h> for declaration of memset.
23898
23899 2003-10-30  Paul Eggert  <eggert@twinsun.com>
23900             Bruno Haible  <bruno@clisp.org>
23901
23902         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
23903         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
23904
23905 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
23906
23907         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
23908         netbsd*-gnu*.  Suggested by Robert Millan.
23909
23910 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23911
23912         * modules/group-member: Depend on stdbool.
23913
23914 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23915
23916         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
23917
23918 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23919
23920         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
23921         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
23922         after the 'gnu' in these cases.  This fixes some bugs in the
23923         previous change, and is based on suggestions by Robert Millan.
23924
23925 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23926
23927         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
23928         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
23929         no longer needed.
23930         * lib/quotearg.c (quotearg_n_options): Use it.
23931         * lib/group-member.c: Include <stdbool.h>.
23932         (free_group_info): Arg is now const *; don't free arg.
23933         (get_group_info): Now returns bool and accepts struct group_info *,
23934         rather than returning a malloc'ed struct group_info *.
23935         All uses changed.  Check for overflow in internal size calculation.
23936
23937         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
23938         rather than xmalloc/xrealloc.
23939         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
23940         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
23941         conformance bug: the old code used a pointer after freeing the
23942         storage that it addressed.
23943         * lib/hash.c (hash_initialize): Simplify the code by using
23944         xalloc_oversized rather than doing it by hand.
23945         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
23946         the buffer preserved.  Use free and xmalloc instead.
23947         * lib/quotearg.c (quotearg_n_options): Likewise.
23948         Use a simpler test for size overflow.  Don't use xalloc_oversized
23949         because unsigned int might be wider than size_t (!); this suggests
23950         that we should switch from unsigned int to size_t for slot numbers.
23951
23952 2003-10-28  Paul Eggert  <eggert@twinsun.com>
23953
23954         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
23955         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
23956         NetBSD kernels.  Requested by Richard Stallman.
23957
23958 2003-10-27  Paul Eggert  <eggert@twinsun.com>
23959
23960         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
23961         to allocate the returned structure.  Do not allocate a subarray,
23962         as x2nrealloc will do that.
23963         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
23964         instead of xnrealloc.
23965         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
23966
23967 2003-10-27  Bruno Haible  <bruno@clisp.org>
23968
23969         * lib/stdbool_.h: Better support for BeOS.
23970
23971 2003-10-26  Paul Eggert  <eggert@twinsun.com>
23972
23973         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
23974         now uses inline.
23975
23976 2003-10-26  Paul Eggert  <eggert@twinsun.com>
23977
23978         * lib/xalloc.h (xalloc_oversized): New static inline function, for
23979         callers that want to do their own size-overflow checking.  Include
23980         <stdbool.h>, since xalloc_oversized returns bool.
23981         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
23982         to use xalloc_oversized.
23983
23984         Add two functions x2realloc, x2nrealloc, for programs that grow
23985         arrays dynamically by doubling their sizes.
23986         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
23987         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
23988         New functions.
23989
23990         Port to C99 semantics for 'inline' of external functions.
23991         Bug reported by Bruno Haible.
23992         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
23993         with the old contents of xnmalloc.
23994         (xnmalloc, xmalloc): Use it.
23995         (xnrealloc_inline): New static inline function,
23996         with the old contents of xnrealloc.
23997         (xnrealloc, xrealloc): Use it.
23998
23999         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
24000         that.
24001
24002 2003-10-26  Karl Berry  <karl@gnu.org>
24003
24004         * config/srclist.txt (COPYING.DOC): no longer available from
24005         /gd/gnuorg; don't know where the ultimate source is.
24006
24007 2003-10-25  Paul Eggert  <eggert@twinsun.com>
24008
24009         Fix several address-calculation bugs in the hash modules,
24010         plus some minor code cleanup.
24011
24012         * lib/hash.h: Include <stdbool.h>, for bool.
24013         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
24014         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
24015         hash_get_n_entries, hash_get_max_bucket_length,
24016         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
24017         hash_rehash): Use size_t rather than unsigned.
24018         * lib/hash.c (struct hash_table, hash_get_n_buckets,
24019         hash_get_n_buckets_used, hash_get_n_entries,
24020         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
24021         hash_get_entries, hash_do_for_each, hash_string, is_prime,
24022         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
24023         Likewise.
24024         (SIZE_MAX): Define if not defined.
24025         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
24026         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
24027         hash_print):
24028         Use const * when possible.
24029         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
24030         (check_tuning): Fix bug: if tuning parameters were very close to
24031         0 or 1, rounding errors could have caused subscript violations.
24032         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
24033         (hash_initialize): Add 'fail:' label
24034         to free table and return NULL, and use it to simplify code.
24035         Use calloc rather than clearing the storage ourself.
24036         (hash_initialize, hash_rehash): Check for arithmetic overflow in
24037         buffer size calculations.
24038         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
24039         Include <stddef.h>, for size_t.
24040         * lib/hash-pjw.c (hash_pjw): Likewise.
24041         Switch to method described by Bruno Haible.
24042         Include <limits.h>, for CHAR_BIT.
24043         (SIZE_BITS): New macro.
24044
24045 2003-10-23  Paul Eggert  <eggert@twinsun.com>
24046
24047         * m4/getline.m4 (AM_FUNC_GETLINE):
24048         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
24049         hosts.  Problem reported by Derek Robert Price in
24050         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
24051         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
24052         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
24053
24054 2003-10-21  Paul Eggert  <eggert@twinsun.com>
24055
24056         * lib/getndelim2.c (getndelim2): When size calculation overflows,
24057         ceiling the allocation at NMAX bytes rather than silently
24058         discarding input bytes before NMAX is reached.  This makes
24059         a difference only if NMAX exceeds SIZE_MAX / 2.
24060
24061         * lib/obstack.c: Merge from glibc.
24062         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
24063         Add libc_hidden_def (_obstack_newchunk).
24064         (_obstack_free) [! defined _LIBC]: Remove.
24065         [defined _LIBC]: Make a strong alias from obstack_free, rather than
24066         a clone of the function body.
24067         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
24068         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
24069
24070         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
24071         glibc.
24072         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
24073         arg to memcpy.
24074
24075         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
24076         (obstack_ptr_grow_fast, obstack_int_grow_fast):
24077         Don't use lvalue casts, as GCC plans to remove support for them
24078         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
24079         was also present in the non-GCC version, indicating that this
24080         code had always been buggy and had never been widely used.
24081         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
24082         Use the fast variant of each macro, rather than copying the
24083         definiens of the fast variant; that way, we'll be more likely to
24084         catch future bugs in the fast variants.
24085
24086 2003-10-20  Bruno Haible  <bruno@clisp.org>
24087
24088         * modules/wait-process: New file.
24089         * MODULES.html.sh (func_all_modules): Add wait-process.
24090
24091 2003-10-20  Bruno Haible  <bruno@clisp.org>
24092
24093         * m4/wait-process.m4: New file.
24094
24095 2003-10-20  Bruno Haible  <bruno@clisp.org>
24096
24097         * lib/wait-process.h: New file, from GNU gettext.
24098         * lib/wait-process.c: New file, from GNU gettext.
24099
24100 2003-10-19  Jim Meyering  <jim@meyering.net>
24101
24102         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
24103         HPUX 10.20.
24104
24105 2003-10-18  Karl Berry  <karl@gnu.org>
24106
24107         * config/config.guess: update from config.
24108
24109 2003-10-16  Paul Eggert  <eggert@twinsun.com>
24110
24111         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
24112         (getgroups): First arg is int, not size_t.
24113         Don't let 'free' mangle errno.
24114
24115 2003-10-16  Paul Eggert  <eggert@twinsun.com>
24116
24117         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
24118
24119 2003-10-16  Karl Berry  <karl@gnu.org>
24120
24121         * config/config.{guess,sub}: update from config.
24122
24123 2003-10-16  Jim Meyering  <jim@meyering.net>
24124
24125         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
24126         memcpy.
24127
24128 2003-10-15  Paul Eggert  <eggert@twinsun.com>
24129
24130         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
24131         (SIZE_MAX): Remove.
24132         (new_exclude, add_exclude_file): Initial size no longer needs to
24133         be a power of 2.
24134         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
24135         our own address arithmetic overflow checking.
24136
24137         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
24138         (fnmatch): Do not alloca more than 2000 wide characters;
24139         instead, use malloc for large buffers.
24140         Check for address arithmetic overflow, and return -1
24141         with errno set to ENOMEM in that case.
24142         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
24143         (NEW_PATTERN): Do not alloca more than 8000 bytes;
24144         instead, return -1.  Check for address arithmetic overflow.
24145
24146 2003-10-14  Paul Eggert  <eggert@twinsun.com>
24147
24148         Handle invalid suffixes and overflow independently, so that
24149         callers can treat them independently as needed.  Fix some bugs in
24150         suffix handling, e.g., "100k@" was not diagnosed as an invalid
24151         suffix for a human-readable blocksize.  The major caller-visible
24152         change is the addition of a new
24153         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
24154         that both overflow and suffix chars were found.
24155
24156         * lib/human.c (humblock): Don't check separately for invalid suffix
24157         char; that is xstrtoumax's job (now that its bug is fixed).
24158         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
24159         INTMAX_MAX]: New macros.
24160         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
24161         TYPE_MAXIMUM): New macros.
24162         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
24163         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
24164         if overflow occurs, as it's what __strtol does and it's more useful
24165         in practice.
24166         (__xstrtol): If __strtol reports some error other than ERANGE,
24167         reflect it to the caller as LONGINT_INVALID.  If it reports
24168         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
24169         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
24170         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
24171         value.
24172         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
24173         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
24174         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
24175         [defined UINTMAX_MAX]: New macros.
24176
24177 2003-10-14  Bruno Haible  <bruno@clisp.org>
24178
24179         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
24180
24181 2003-10-14  Bruno Haible  <bruno@clisp.org>
24182
24183         * m4/sig_atomic_t: New file, from GNU gettext.
24184         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
24185
24186 2003-10-14  Bruno Haible  <bruno@clisp.org>
24187
24188         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
24189         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
24190         Also use volatile where needed.
24191
24192 2003-10-12  Paul Eggert  <eggert@twinsun.com>
24193
24194         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
24195         Change maintainer from Bruno Haible to 'all'.
24196
24197 2003-10-12  Paul Eggert  <eggert@twinsun.com>
24198
24199         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
24200
24201 2003-10-12  Paul Eggert  <eggert@twinsun.com>
24202
24203         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
24204         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
24205         and define in terms of the other primitives.
24206         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
24207         (SIZE_MAX): Define if not already defined.
24208         (array_size_overflow): New function.
24209         (xalloc_die): Abort instead of exiting if 'error' returns.
24210         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
24211         (xmalloc, xrealloc): Use them.
24212         (xcalloc): Check for address arithmetic overflow.
24213         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
24214         a bit faster than strcpy.
24215
24216 2003-10-10  Simon Josefsson  <jas@extundo.com>
24217
24218         * modules/argp (Depends-on): Add restrict and strcase.
24219
24220 2003-10-10  Simon Josefsson  <jas@extundo.com>
24221
24222         * m4/argp.m4: Add AC_C_INLINE.
24223
24224 2003-10-08  Paul Eggert  <eggert@twinsun.com>
24225
24226         Merge getpass from libc, plus a few fixes.
24227
24228         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
24229         Include <stdbool.h>.
24230         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
24231         __fsetlocking to empty.
24232         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
24233         do include <bits/libc-lock.h>.
24234         Do not include <fcntl.h>; not needed.
24235         [_LIBC]: Include <wchar.h>.
24236         (NOTCANCEL_MODE): New macro.
24237         (flockfile, funlockfile) [_LIBC]: New macros.
24238         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
24239         [!_LIBC]: New macros.
24240         (call_fclose): New function.
24241         (getpass): Use it.  Save tty stream separately; this simplifies the
24242         code and makes it more reliable if stdin happens to equal stdout.
24243         Invoke __fsetlocking on tty.
24244         Handle thread cancellation if needed.
24245         Namespace cleanup (use __tcgetattr, __getline).
24246         Use bool for Booleans.
24247         [USE_IN_LIBIO]: Handle wide streams.
24248         [!_LIBC]: Unconditionally do the fseek, since we don't know what
24249         stream might go where.
24250
24251         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
24252         doesn't have to include <stdio.h> before us.
24253         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
24254         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
24255         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
24256         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
24257         if not declared, so that we can use getpass.c code from libc without
24258         rewriting it.
24259         (flockfile, ftrylockfile, funlockfile): New macros.
24260
24261 2003-10-08  Paul Eggert  <eggert@twinsun.com>
24262
24263         * modules/getpass: Depend on stdbool.
24264
24265 2003-10-08  Paul Eggert  <eggert@twinsun.com>
24266
24267         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
24268
24269 2003-10-07  Karl Berry  <karl@gnu.org>
24270
24271         * config/config.{guess,sub}: update from config.
24272
24273 2003-10-06  Jim Meyering  <jim@meyering.net>
24274             Bruno Haible  <bruno@clisp.org>
24275
24276         This lets translators provide better translations for the
24277         "Written by ..." part of --version output.
24278         * lib/version-etc.h: Include stdarg.h.
24279         (version_etc_copyright): Declare as readonly.
24280         (version_etc): Make this function variadic with a NULL-terminated list
24281         of author name strings.
24282         (version_etc_va): New declaration.
24283         * lib/version-etc.c: Include stdarg.h, stdlib.h.
24284         (version_etc_copyright): Declare as readonly.
24285         (version_etc_va): New function. Provide a different translatable string
24286         for each possible number of authors < 10. Abbreviate when there are 10
24287         authors or more.
24288         (version_etc): Make this function variadic. Call version_etc_va.
24289         Suggestion from Gary V. Vaughan.
24290
24291         * lib/long-options.h (parse_long_options): Change prototype: the
24292         authors string is moved to the end and becomes variadic.
24293         * lib/long-options.c: Include stdarg.h.
24294         (parse_long_options): Make this function variadic, too.
24295         Call version_etc_va, not version_etc.
24296
24297 2003-10-06  Bruno Haible  <bruno@clisp.org>
24298
24299         * modules/version-etc-2: Remove file.
24300         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
24301
24302 2003-10-06  Bruno Haible  <bruno@clisp.org>
24303
24304         * modules/fatal-signal: New file.
24305         * MODULES.html.sh (func_all_modules): Add fatal-signal.
24306
24307 2003-10-06  Bruno Haible  <bruno@clisp.org>
24308
24309         * m4/fatal-signal.m4: New file.
24310         * m4/signalblocking.m4: New file, from GNU gettext.
24311
24312 2003-10-06  Bruno Haible  <bruno@clisp.org>
24313
24314         * lib/version-etc-2.h: Remove file.
24315         * lib/version-etc-2.c: Remove file.
24316
24317 2003-10-06  Bruno Haible  <bruno@clisp.org>
24318
24319         * lib/fatal-signal.h: New file, from GNU gettext.
24320         * lib/fatal-signal.c: New file, from GNU gettext.
24321
24322 2003-10-05  Paul Eggert  <eggert@twinsun.com>
24323
24324         * README: Rework advice for preventing empty .o files.
24325         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
24326         not <sys/types.h>.
24327
24328 2003-10-04  Karl Berry  <karl@gnu.org>
24329
24330         * lib/argp*: update from libc.
24331
24332 2003-10-04  Karl Berry  <karl@gnu.org>
24333
24334         * config/config.{guess,sub}: update from config.
24335
24336 2003-10-02  Bruno Haible  <bruno@clisp.org>
24337
24338         * modules/lchown (Include): Add lchown.h.
24339         * modules/time_r (Include): Use "..." syntax.
24340         * modules/xgetdomainname (Include): Add xgetdomainname.h.
24341
24342 2003-10-01  Simon Josefsson  <jas@extundo.com>
24343
24344         * MODULES.html.sh (func_all_modules): Move gethostname from section
24345         'based on' to section 'lacking' POSIX:2001.
24346
24347 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
24348
24349         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
24350         to output mode on the same stream.
24351
24352 2003-09-29  Paul Eggert  <eggert@twinsun.com>
24353
24354         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
24355         Fix arg typo in previous patch.
24356
24357 2003-09-28  Jim Meyering  <jim@meyering.net>
24358
24359         * lib/error.c: Correct cpp indentation.
24360
24361 2003-09-27  Paul Eggert  <eggert@twinsun.com>
24362
24363         * modules/free: New file.
24364
24365 2003-09-27  Paul Eggert  <eggert@twinsun.com>
24366
24367         * m4/free.m4: New file.
24368
24369 2003-09-27  Paul Eggert  <eggert@twinsun.com>
24370
24371         * lib/minmax.h (MIN, MAX)
24372         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
24373         Omit the special code that used __typeof__, since we worry that
24374         it could be more trouble than it's worth.  See:
24375         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
24376         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
24377
24378         * lib/free.c: New file.
24379
24380 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
24381
24382         Trivial fixes to Makefile.am parts of module listings.
24383         * modules/strstr: Append strstr.h to lib_SOURCES.
24384         * modules/strcase: Likewise, for strcase.h.
24385
24386 2003-09-27  Karl Berry  <karl@gnu.org>
24387
24388         * config/mkinstalldirs: update from automake.
24389
24390 2003-09-26  Paul Eggert  <eggert@twinsun.com>
24391
24392         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
24393         (error_tail): Do not loop, reallocating temporary buffer, since
24394         the output cannot contain more wide characters than the input
24395         contains bytes, the size must be big enough already.  This avoids
24396         one potential size overflow calculation.  Check for size overflow
24397         when calculating temporary buffer size.  Free temporary buffer
24398         when done, if it was allocated with malloc; this plugs a memory
24399         leak.  Remove casts from void * to pointers, that are no longer
24400         needed now that we're assuming C89 or better.
24401
24402         Merge error changes from glibc.
24403
24404         * lib/error.c, error.h: Update copyright notice header to match glibc.
24405         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
24406         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
24407         Disable cancellation while printing error.
24408         * lib/error.h: Prepend __ to parameter names.
24409
24410 2003-09-26  Jim Meyering  <jim@meyering.net>
24411
24412         * lib/error.c (error_tail): Move some declarations
24413         into inner scope where the local variables are used.
24414
24415 2003-09-26  Bruno Haible  <bruno@clisp.org>
24416
24417         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
24418         stpncpy().
24419         Don't define stpncpy through config.h; it's now done through stpncpy.h.
24420
24421 2003-09-26  Bruno Haible  <bruno@clisp.org>
24422
24423         * lib/stpncpy.h (gnu_stpncpy): New declaration.
24424         (stpncpy): Define as alias for gnu_stpncpy.
24425         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
24426
24427 2003-09-25  Simon Josefsson  <jas@extundo.com>
24428
24429         * lib/xgetdomainname.h: New file.
24430         * lib/xgetdomainname.c: New file.
24431
24432 2003-09-25  Simon Josefsson  <jas@extundo.com>
24433             Bruno Haible  <bruno@clisp.org>
24434
24435         * modules/getdomainname: New file.
24436         * modules/xgetdomainname: New file.
24437         * MODULES.html.sh (func_all_modules): Add getdomainname,
24438         xgetdomainname.
24439
24440 2003-09-25  Simon Josefsson  <jas@extundo.com>
24441             Bruno Haible  <bruno@clisp.org>
24442
24443         * m4/getdomainname.m4: New file.
24444
24445 2003-09-25  Simon Josefsson  <jas@extundo.com>
24446             Bruno Haible  <bruno@clisp.org>
24447
24448         * lib/getdomainname.h: New file.
24449         * lib/getdomainname.c: New file.
24450
24451 2003-09-25  Karl Berry  <karl@gnu.org>
24452
24453         * lib/argp-fmtstream.c, argp-help.c: update from libc.
24454
24455 2003-09-25  Karl Berry  <karl@gnu.org>
24456
24457         * config/install-sh: update from automake.
24458
24459 2003-09-25  Bruno Haible  <bruno@clisp.org>
24460
24461         * modules/version-etc-2: New file, from modules/version-etc with
24462         modifications.
24463         * MODULES.html.sh (func_all_modules): Add version-etc-2.
24464
24465 2003-09-25  Bruno Haible  <bruno@clisp.org>
24466
24467         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
24468         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
24469
24470 2003-09-24  Simon Josefsson  <jas@extundo.com>
24471
24472         * modules/xgethostname: Add xgethostname.h.
24473
24474 2003-09-24  Paul Eggert  <eggert@twinsun.com>
24475
24476         * lib/linebuffer.c (freebuffer): Don't free the argument, just
24477         the buffer associated with the argument.  Bug reported by
24478         Simon Josefsson.
24479
24480 2003-09-24  Paul Eggert  <eggert@twinsun.com>
24481
24482         * README: Document assumptions that 'int' is at least 32 bits
24483         wide, that integer arithmetic is 2's complement without overflow,
24484         that there are no holes in integer values, that adding sizes of
24485         two nonoverlapping objects can't overflow, and that all-bits-zero
24486         yields scalar zero.  Fix spelling and capitalization typos.
24487
24488 2003-09-19  Karl Berry  <karl@gnu.org>
24489
24490         * lib/argp.h: update from libc.
24491
24492 2003-09-17  Paul Eggert  <eggert@twinsun.com>
24493
24494         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
24495         to avoid spurious warnings like "AC_RUN_IFELSE was called before
24496         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
24497
24498 2003-09-17  Paul Eggert  <eggert@twinsun.com>
24499
24500         * gnulib-tool: Use "test -h", not "test -L", for portability
24501         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
24502         (tags_regexp): Remove, since \| doesn't conform to POSIX.
24503         (sed_extract_prog): Issue s commands one-by-one, rather than
24504         using \| in one s command.
24505
24506 2003-09-16  Paul Eggert  <eggert@twinsun.com>
24507
24508         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
24509         input error, instead of returning NULL the next time we are called
24510         (and therefore losing track of errno).
24511
24512 2003-09-16  Bruno Haible  <bruno@clisp.org>
24513
24514         * gnulib-tool (func_create_testdir): Warn about duplicated
24515         dependencies.
24516
24517 2003-09-15  Paul Eggert  <eggert@twinsun.com>
24518
24519         * modules/argmatch, modules/fatal, modules/obstack,
24520         modules/xalloc, modules/xgethostname: Sort dependencies by
24521         importance, not alphabetically.
24522
24523 2003-09-15  Paul Eggert  <eggert@twinsun.com>
24524
24525         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
24526         fails, so that the caller gets the proper errno.
24527
24528         * lib/readutmp.c (read_utmp): Likewise.
24529         Check for fstat error.  Close stream and free storage
24530         when failing.
24531
24532 2003-09-14  Karl Berry  <karl@gnu.org>
24533
24534         * config/srclist.txt (strdup.c): disable for c89 changes.
24535
24536 2003-09-14  Jim Meyering  <jim@meyering.net>
24537
24538         * lib/getloadavg.c: Correct cpp indentation.
24539         * lib/strdup.c: Likewise.
24540         * lib/vasnprintf.c: Likewise.
24541
24542 2003-09-14  Bruno Haible  <bruno@clisp.org>
24543
24544         * modules/fwriteerror: New file.
24545         * MODULES.html.sh (func_all_modules): Add fwriteerror.
24546
24547 2003-09-14  Bruno Haible  <bruno@clisp.org>
24548
24549         * lib/fwriteerror.h: New file.
24550         * lib/fwriteerror.c: New file.
24551
24552 2003-09-12  Paul Eggert  <eggert@twinsun.com>
24553
24554         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
24555         modules/xgethostname, modules/xalloc: Depend on exit.
24556
24557 2003-09-12  Paul Eggert  <eggert@twinsun.com>
24558
24559         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
24560
24561         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
24562         and AC_MINIX, too, so that their extensions are available.
24563
24564         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
24565         This macro has been superseded by gl_BACKUPFILE.
24566
24567         More patches to assume C89 or better.
24568
24569         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
24570
24571         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
24572         unconditionally.
24573         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
24574         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
24575         Include <string.h>, <stdlib.h> unconditionally.
24576         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
24577         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
24578         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
24579         headers or for string.h.
24580         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
24581         or strtoul.
24582
24583         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
24584         headers.
24585         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
24586         * m4/userspec.m4 (gl_USERSPEC): Likewise.
24587         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
24588         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
24589         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
24590         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
24591         memcpy, memset.
24592         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
24593         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
24594         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
24595         strtol.
24596         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
24597         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
24598         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
24599         strtoul.
24600
24601 2003-09-12  Paul Eggert  <eggert@twinsun.com>
24602
24603         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
24604         * lib/obstack.c [!defined _LIBC]: Likewise.
24605         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
24606         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
24607         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
24608
24609         More changes to assume C89 or better.
24610
24611         * lib/error.c (error_tail): Assume vprintf.
24612
24613         * lib/argmatch.c (getenv): Remove decl.
24614         * lib/progreloc.c (get_full_program_name): Define via prototype.
24615         * lib/setenv.c (clearenv): Likewise.
24616         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
24617         needed.
24618         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
24619         (malloc, memcpy): Remove decls.
24620         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
24621         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
24622         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
24623         (memcpy): Remove macro.
24624         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
24625         (__P): Remove.  All uses removed.
24626         (PTR): Remove.  All uses changed to void *.
24627         (CHAR_BIT, NULL): Remove.
24628         (spaces, zeros, memset_space, memset_zero)
24629         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
24630         Remove.
24631         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
24632         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
24633         Define with prototype.
24634         Remove now-unnecessary prototype decl.
24635         (extra_args_spec): Assume ANSI C.  All uses changed.
24636         (extra_args_spec_iso): Remove.
24637         (my_strftime, emacs_strftimeu): Define via prototype.
24638         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
24639         unconditionally.
24640         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
24641         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
24642         (strtoul, strtol): Remove decls.
24643         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
24644         LONG_MAX): Remove.
24645         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
24646         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
24647         (LOCALE_PARAM_PROTO): New macro.
24648         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
24649         (INTERNAL (strtol), strtol): Define with a prototype.
24650         (PARAMS): Remove.  All uses removed.
24651         * lib/tempname.c: Include <string.h> unconditionally.
24652         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
24653         * lib/xgethostname.c (main): Define with a prototype.
24654         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
24655         Include <stdlib.h> unconditionally.
24656         (calloc, malloc, realloc, free): Remove decls.
24657         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
24658         Include <stdlib.h> unconditionally.  Sort include file names.
24659         (strtod): Remove.
24660         (xstrtod): Define with a prototype.
24661         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
24662         (strtol, strtoul): Remove decls.
24663
24664 2003-09-11  Paul Eggert  <eggert@twinsun.com>
24665
24666         More patches to assume C89 or better.
24667         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
24668         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
24669         string.h, memchr, STDC_HEADERS.
24670
24671 2003-09-11  Paul Eggert  <eggert@twinsun.com>
24672
24673         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
24674         Include <stdlib.h>, <string.h> unconditionally.
24675         Remove now-unnecessary cast to char *.
24676         * lib/strnlen.c: Include <string.h> unconditionally.
24677         * lib/yesno.c (yesno): Define with a prototype.
24678
24679 2003-09-11  Bruno Haible  <bruno@clisp.org>
24680
24681         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
24682
24683 2003-09-10  Jim Meyering  <jim@meyering.net>
24684
24685         * lib/error.c: Correct indentation of cpp directives.
24686
24687 2003-09-10  Bruno Haible  <bruno@clisp.org>
24688
24689         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
24690         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
24691         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
24692         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
24693         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
24694         <stdlib.h> and <string.h> checks.
24695         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
24696         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
24697
24698 2003-09-10  Bruno Haible  <bruno@clisp.org>
24699
24700         * lib/strcspn.c: Include <string.h> unconditionally.
24701         * lib/strpbrk.c: Include <string.h> unconditionally.
24702         * lib/strstr.c: Include <string.h> unconditionally.
24703         * lib/unicodeio.c: Include <string.h> unconditionally.
24704         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
24705         * lib/unsetenv.c: Likewise.
24706         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
24707         * lib/yesno.c: Include <stdlib.h> unconditionally.
24708         (rpmatch): Add prototype.
24709
24710 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24711
24712         More patches to assume C89 or better.
24713         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
24714         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
24715         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
24716         or for string.h.
24717         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
24718         stdlib.h.
24719         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
24720         C headers.
24721         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
24722         string.h.
24723         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
24724         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
24725         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
24726         or for string.h.
24727         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
24728         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
24729         C headers.
24730         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
24731         memcpy.
24732         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
24733         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
24734         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
24735         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
24736         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
24737         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
24738         string.h, free.
24739         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
24740         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
24741         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
24742         C headers, or for string.h.
24743         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
24744         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
24745         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
24746         headers, memory.h, stdlib.h, string.h, strings.h.
24747         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
24748         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
24749         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
24750         strchr.
24751         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
24752         headers, memory.h, string.h.
24753         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
24754         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
24755         free.
24756         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
24757         headers.
24758         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
24759         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
24760         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
24761         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
24762         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
24763
24764 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24765
24766         More K&R removal.
24767
24768         * lib/acosl.c (main): Use a prototype.
24769         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
24770         tanl.c: Likewise.
24771
24772         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
24773
24774         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
24775         (getopt, etopt_long, getopt_long_only, _getopt_internal)
24776         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
24777         with a prototype.
24778         * lib/getopt.c (const): Remove macro.
24779         Include <string.h> unconditionally.
24780         (my_index): Remove; all uses changed to strchr.
24781         (strlen): Remove decl.
24782         (exchange): Remove forward decl; no longer needed.
24783         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
24784         Define with prototype.
24785         * lib/getopt1.c (const): Remove macro.
24786         (getopt_long, getopt_long_only, main): Define with prototype.
24787
24788         * lib/getugroups.c: Include <string.h> unconditionally.
24789
24790         * lib/getusershell.c: Include <stdlib.h> unconditionally.
24791         (getusershell, setusershell, endusershell, readname, main):
24792         Define with prototypes.
24793
24794         * lib/group-member.c: Include group-member.h first.
24795         Include <stdlib.h> unconditionally.
24796
24797         * lib/hard-locale.c: Include hard-locale.h first.
24798         Include <stdlib.h>, <string.h> unconditionally.
24799
24800         * lib/hash.c (free, malloc): Remove decls.
24801         Include <stdlib.h> unconditionally.
24802
24803         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
24804         (getenv): Do not declare.
24805
24806         * lib/idcache.c: Include <string.h> unconditionally.
24807
24808         * lib/long-options.c: Include long-options.h first, to test interface.
24809         Include <stdlib.h> unconditionally.
24810
24811         * lib/makepath.c: Include makepath.h first, to test interface.
24812         Include <stdlib.h> and <string.h> unconditionally.
24813
24814         * lib/linebuffer.c: Include <stdlib.h>.
24815         (free): Remove decl.
24816
24817         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
24818         stddef.h. rpl_malloc returns void *, not char *.
24819         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
24820         prototype.
24821
24822         * lib/md5.h: Include <limits.h> unconditionally.
24823         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
24824         (__P): Remove; all uses removed.
24825         * lib/md5.c: Include "md5.h" first.
24826         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
24827         md5_buffer, md5_process_bytes, md5_process_block):
24828         Define with prototypes.
24829         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
24830         * lib/sha.c: Include "sha.h" first.
24831         Include <stdlib.h>, <string.h> unconditionally.
24832
24833         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
24834         * lib/memcmp.c (__ptr_t): Likewise.
24835         * lib/memrchr.c (__ptr_t): Likewise.
24836         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
24837         Include <string.h> unconditionally.
24838         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
24839         * lib/memchr.c: Include <stdlib.h> unconditionally.
24840         * lib/memchr.c (LONG_MAX): Remove.
24841         * lib/memrchr.c (LONG_MAX): Likewise.
24842         * lib/memchr.c (__memchr): Define via a prototype.
24843         * lib/memrchr.c (__memrchr): Likewise.
24844         * lib/memcmp.c (__P): Remove, and remove all uses.
24845         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
24846         Remove forward decls; no longer needed.
24847         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
24848         Use types required by C89 in prototype.
24849
24850         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
24851         * lib/savedir.c: Likewise.
24852         * lib/mkdir.c (free): Remove decl.
24853         * lib/rmdir.c (rmdir): Define with a prototype.
24854         * lib/savedir.c: Include savedir.h first, to test interface.
24855
24856         * lib/mktime.c (STDC_HEADERS): Remove.
24857         Include <stdlib.h>, <string.h> unconditionally.
24858
24859         * lib/modechange.c: Include <stdlib.h> unconditionally.
24860         (malloc): Remove decl.
24861
24862         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
24863         (free): Remove decl.
24864
24865         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
24866         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
24867         (This type really should be intptr_t, but that's a C99ism.)
24868         (_obstack_memcpy): Remove: all uses changed to memcpy.
24869         Include <string.h> unconditionally.
24870         (struct obstack): Assume __STDC__ for types of members
24871         chunkfun, freefun, extra_arg.
24872         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
24873         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
24874         obstack_begin, obstack_specify_allocation,
24875         obstack_specify_allocation_with_arg, obstack_chunkfun,
24876         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
24877         Remove unprototyped decls and the macros that use them.
24878         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
24879         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
24880         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
24881         (defined __STDC__ && __STDC__)]:
24882         Remove nonprototyped code.
24883         Include <stdlib.h> unconditionally.
24884         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
24885         _obstack_allocated_p, _obstack_free, obstack_free,
24886         _obstack_memory_used, print_and_abort):
24887         Define using prototypes.
24888         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
24889         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
24890         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
24891         obstack_next_free, obstack_object_size, obstack_room) [0]:
24892         Remove unused, unprototyped code.
24893
24894         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
24895
24896         * lib/physmem.c (physmem_total, physmem_available, main): Define
24897         with prototypes.
24898
24899         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
24900         (main): Define with a prototype.
24901
24902         * lib/posixver.c (getenv): Remove decl.
24903
24904         * lib/putenv.c (malloc): Returns void *, not char *.
24905         Include <string.h> unconditionally.
24906         (strchr, memcpy, NULL): Do not define.
24907
24908         * lib/readtokens.c: Include readtokens.h first, to test interface.
24909         Include <stdlib.h>, <string.h> unconditionally.
24910         (init_tokenbuffer): Define with a prototype.
24911
24912         * lib/regex.c (PARAMS): Remove.  All uses removed.
24913         All uses of _RE_ARGS removed, too.
24914         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
24915         unconditionally.
24916         (bzero): Assume memset exists.
24917         (memcmp, memcpy, NULL): Remove.
24918         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
24919         char, or assignments to local vars of type signed char.
24920         (init_syntax_once, PREFIX(extract_number_and_incr),
24921         PREFIX(print_partial_compiled_pattern),
24922         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
24923         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
24924         PREFIX(regex_grow_registers), PREFIX(regex_compile),
24925         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
24926         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
24927         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
24928         wcs_compile_range, byte_compile_range, truncate_wchar,
24929         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
24930         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
24931         count_mbs_length, wcs_re_match_2_internal,
24932         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
24933         PREFIX(alt_match_null_string_p),
24934         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
24935         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
24936         regfree, PREFIX(extract_number)): Define with prototype.  Remove
24937         now-unnecessary declaration, if any.
24938         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
24939         regcomp, regexec):
24940         Remove now-unnecessary casts among pointer types.
24941         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
24942
24943         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
24944         (free): Remove decl.
24945
24946         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
24947
24948         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
24949         (free): Remove decl.
24950
24951         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
24952         * lib/xgetcwd.c: Likewise.
24953
24954         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
24955         (free): Remove decl.
24956
24957         * lib/strchrnul.c (strchrnul): Define with a prototype.
24958         Fix bug: c_in was not converted to char before searching.
24959
24960         The following changes are not K&R related:
24961
24962         * lib/group-member.h: Include <sys/types.h>, so that this file is
24963         self-contained.
24964         * lib/makepath.h: Likewise.
24965
24966         * lib/getusershell.c (readname, default_index, line_size, readname):
24967         Use size_t, not int, for sizes.
24968         (readname): If the size overflows, report an error instead of
24969         looping forever.
24970
24971 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24972
24973         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
24974         libc.
24975
24976 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24977
24978         * README: New section: portability guidelines.
24979
24980 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
24981
24982         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
24983         C89 spec.
24984
24985 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
24986
24987         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
24988
24989 2003-09-08  Paul Eggert  <eggert@twinsun.com>
24990
24991         Assume C89 or better; remove K&R cruft.
24992         A few of these changes were first proposed by Derek Robert Price
24993         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
24994
24995         * lib/addext.c: Include <string.h> unconditionally.
24996         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
24997         Don't declare getenv or malloc.
24998
24999         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
25000         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
25001         (NULL): Remove.
25002         (find_stack_direction, alloca): Use prototypes.
25003
25004         * lib/atexit.c (atexit): Define using a prototype.
25005
25006         * lib/basename.c, dirname.c, stripslash.c:
25007         Include <string.h> unconditionally.
25008
25009         * lib/bcopy.c: Include <stddef.h>.
25010         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
25011
25012         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
25013
25014         * lib/error.h (error, error_at_line, error_print_progname)
25015         [! (defined (__STDC__) && __STDC__)]: Remove decls.
25016         * lib/error.c: Include error.h first, to check interface.
25017         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
25018         (VA_START): Remove; all uses changeed to va_start.
25019         (exit, strerror): Remove decls.
25020         (error_print_progname): Prototype uncondionally.
25021         Don't include <errno.h>; no longer needed.
25022         (private_strerror): Remove.
25023         (error_tail): Always define.
25024         (error, error_at_line): Assume C89 or better; always use prototypes.
25025         * lib/fatal.c: Include "fatal.h" first, to test interface.
25026         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
25027         (VA_START): Remove; all uses changed to va_start.
25028         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
25029         this case.
25030         (exit): Remove decl.
25031         (fatal): Prototype unconditionally.  Assume va_start works.
25032         Abort at end, to pacify gcc.
25033
25034         * lib/euidaccess.c (main): Define with a prototype.
25035
25036         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
25037
25038         * lib/exitfail.c: Include <stdlib.h> unconditionally.
25039
25040         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
25041         prototypes.
25042         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
25043         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
25044         (getenv): Remove decl.
25045         (fnmatch): Define using a prototype.
25046         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
25047         (FCT): Define using a prototype.
25048
25049         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
25050
25051         * lib/gethostname.c: Include <stddef.h>.
25052         (gethostname): Define with prototype.  Length is size_t, not int.
25053
25054 2003-09-08  Paul Eggert  <eggert@twinsun.com>
25055
25056         Assume C89 or better; remove K&R cruft.
25057         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
25058         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
25059         string.h, getenv, malloc.
25060         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
25061         headers.
25062         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
25063         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
25064         do not check for strerror.
25065         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
25066         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
25067         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
25068         do not check for doprnt or vprintf.
25069         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
25070         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
25071
25072 2003-09-08  Paul Eggert  <eggert@twinsun.com>
25073
25074         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
25075         getversion.c should have been removed then, but was accidentally
25076         preserved.
25077
25078         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
25079         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
25080
25081 2003-09-08  Karl Berry  <karl@gnu.org>
25082
25083         * config/config.sub, config.guess, srclistvars.sh: update from savannah
25084                 config, forget about prep.
25085
25086         * config/depcomp, missing: update from automake.
25087
25088 2003-09-07  Paul Eggert  <eggert@twinsun.com>
25089
25090         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
25091         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
25092
25093 2003-09-07  Paul Eggert  <eggert@twinsun.com>
25094
25095         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
25096         copy_tm_result.  Bug reported by Simon Josefsson in
25097         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
25098
25099 2003-09-06  Paul Eggert  <eggert@twinsun.com>
25100
25101         * m4/time_r.m4: New file.
25102         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
25103         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
25104         is. Check for timegm declaration.
25105         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
25106         Do not check for gmtime_r.
25107         Replace mktime if __mktime_internal does not exist and if mktime
25108         hasn't been replaced already.
25109
25110 2003-09-06  Paul Eggert  <eggert@twinsun.com>
25111
25112         * lib/time_r.c, lib/time_r.h: New files.
25113
25114         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
25115         __localtime_r.
25116         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
25117         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
25118
25119         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
25120         __gmtime_r.
25121         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
25122         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
25123         Include <time_r.h>.
25124
25125         * lib/timegm.c: Switch to glibc implementation, with the following
25126         changes:
25127         [defined HAVE_CONFIG_H]: Include <config.h>.
25128         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
25129         (__mktime_internal) [!defined _LIBC]: New decl.
25130         (__gmtime_r) [!defined _LIBC]: New macro and function.
25131         (timegm): Use a prototype, since gnulib assumes C89.
25132         Do not bother declaring tmp to be const, as it's not really usefu.
25133         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
25134         (timegm): Declare only if HAVE_DECL_TIMEGM.
25135
25136 2003-09-06  Paul Eggert  <eggert@twinsun.com>
25137
25138         * MODULES.html.sh (func_all_modules): Add time_r.
25139         * modules/time_r: New file.
25140         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
25141         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
25142
25143 2003-09-03  Paul Eggert  <eggert@twinsun.com>
25144
25145         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
25146         Bug reported by Lute Kamstra in
25147         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
25148
25149         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
25150         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
25151         course with correspondingly smaller numbers for tomorrow and
25152         yesterday.  From Tadayoshi Funaba.  Originally installed into
25153         sh-utils on 1999-08-07, but the patch got lost (I guess during the
25154         coreutils merge?).
25155
25156 2003-08-31  Simon Josefsson  <jas@extundo.com>
25157
25158         * modules/timegm: New file.
25159         * MODULES.html.sh (func_all_modules): Add timegm.
25160
25161 2003-08-31  Simon Josefsson  <jas@extundo.com>
25162
25163         * m4/timegm.m4: New file.
25164
25165 2003-08-31  Simon Josefsson  <jas@extundo.com>
25166
25167         * lib/timegm.h: New file.
25168         * lib/timegm.c: New file.  Based on
25169         wget-1.8.2/src/http.c:mktime_from_utc.
25170
25171 2003-08-31  Karl Berry  <karl@gnu.org>
25172
25173         * lib/argp.h: update from libc.
25174
25175 2003-08-28  Bruno Haible  <bruno@clisp.org>
25176
25177         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
25178         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
25179         followed by '#define fnmatch fnmatch_posix' gives an error.
25180
25181 2003-08-28  Bruno Haible  <bruno@clisp.org>
25182
25183         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
25184         warning on QNX, which defines O_BINARY to 000000.
25185
25186 2003-08-27  Jim Meyering  <jim@meyering.net>
25187
25188         * m4/mkstemp.m4: Require that the system mkstemp be able to create
25189         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
25190         would fail after 32.  Reported by Danny Levinson.  Details here:
25191         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
25192
25193 2003-08-24  Bruno Haible  <bruno@clisp.org>
25194
25195         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
25196         MSVC7 <stdio.h> is included later.
25197
25198 2003-08-22  Simon Josefsson  <jas@extundo.com>
25199
25200         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
25201
25202 2003-08-20  Karl Berry  <karl@gnu.org>
25203
25204         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
25205
25206 2003-08-20  Bruno Haible  <bruno@clisp.org>
25207
25208         * modules/progname: New file.
25209         * MODULES.html.sh (func_all_modules): Add progname.
25210
25211 2003-08-20  Bruno Haible  <bruno@clisp.org>
25212
25213         * lib/progname.h: New file, from GNU gettext.
25214         * lib/progname.c: New file, from GNU gettext.
25215         * lib/progreloc.c: New file, from GNU gettext.
25216
25217 2003-08-19  Jim Meyering  <jim@meyering.net>
25218
25219         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
25220         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
25221
25222 2003-08-19  Bruno Haible  <bruno@clisp.org>
25223
25224         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
25225         more.
25226
25227 2003-08-19  Bruno Haible  <bruno@clisp.org>
25228
25229         * lib/xstrdup.c: Assume <string.h> exists.
25230
25231 2003-08-18  Paul Eggert  <eggert@twinsun.com>
25232
25233         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
25234         in makefile rules.
25235
25236 2003-08-18  Jim Meyering  <jim@meyering.net>
25237
25238         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
25239         * m4/lib-ld.m4: Likewise.
25240
25241 2003-08-18  Jim Meyering  <jim@meyering.net>
25242
25243         * lib/setenv.h: Indent nested cpp directive.
25244         * lib/vasnprintf.c: Remove trailing blanks.
25245
25246 2003-08-17  Simon Josefsson  <jas@extundo.com>
25247
25248         * modules/xstrndup: New file.
25249         * MODULES.html.sh (func_all_modules): Add xstrndup.
25250
25251 2003-08-17  Simon Josefsson  <jas@extundo.com>
25252
25253         * modules/argp: Fix autoconf macro name. Add more dependencies.
25254
25255 2003-08-17  Simon Josefsson  <jas@extundo.com>
25256
25257         * m4/xstrndup.m4: New file.
25258
25259 2003-08-17  Simon Josefsson  <jas@extundo.com>
25260
25261         * m4/argp.m4: New file.
25262
25263 2003-08-17  Simon Josefsson  <jas@extundo.com>
25264             Bruno Haible  <bruno@clisp.org>
25265
25266         * lib/xstrndup.h: New file.
25267         * lib/xstrndup.c: New file.
25268
25269 2003-08-17  Bruno Haible  <bruno@clisp.org>
25270
25271         * modules/strndup (Files, Include): Add lib/strndup.h.
25272
25273 2003-08-17  Bruno Haible  <bruno@clisp.org>
25274
25275         * modules/euidaccess (Files): Add lib/euidaccess.h.
25276
25277 2003-08-17  Bruno Haible  <bruno@clisp.org>
25278
25279         * lib/strndup.h: New file.
25280
25281 2003-08-17  Bruno Haible  <bruno@clisp.org>
25282
25283         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
25284         like AC_GNU_SOURCE.
25285         * modules/extensions (configure.ac): Comment out the invocation of
25286         gl_USE_SYSTEM_EXTENSIONS.
25287
25288 2003-08-16  Paul Eggert  <eggert@twinsun.com>
25289
25290         Merges from coreutils, etc.
25291         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
25292         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
25293         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
25294         fixing a typo.
25295         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
25296         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
25297
25298 2003-08-16  Paul Eggert  <eggert@twinsun.com>
25299
25300         Document merge from coreutils.
25301         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
25302         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
25303         * modules/utime: Add m4/utimes-null.m4.
25304
25305 2003-08-16  Paul Eggert  <eggert@twinsun.com>
25306
25307         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
25308         space, undoing this 2003-08-12 change:
25309         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
25310
25311 2003-08-16  Paul Eggert  <eggert@twinsun.com>
25312
25313         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
25314         strtoul.c from libc, undoing this 2003-08-12 change:
25315         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
25316
25317 2003-08-16  Jim Meyering  <jim@meyering.net>
25318
25319         Merges from coreutils.
25320         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
25321         prefix.  Adjust cache variables similarly.  Create 500 rather than
25322         just 300 files, to exercise bug on Darwin6.5, too.
25323         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
25324         $missing_dir.
25325         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
25326         AM_SYS_POSIX_TERMIOS.
25327         Reported by mkc@mathdogs.com.
25328         Also change use of $am_cv_sys_posix_termios
25329         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
25330         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
25331         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
25332         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
25333         in /proc/mounts until it finds one with matching device number.  This
25334         is unnecessary when the FILE argument *is* a mount point.  No stat call
25335         is necessary in that case.  So, disable the statvfs-testing code on
25336         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
25337         as RedHat bug# 84846.
25338         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
25339         to 1MB, so as not to render systems with no stack size limit (e.g.,
25340         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
25341         Include <unistd.h>.  On some systems,
25342         it is required for the definition of _SC_PAGESIZE.
25343
25344 2003-08-16  Jim Meyering  <jim@meyering.net>
25345
25346         Merge from coreutils.
25347         * lib/xstrtoimax.c: #else #if -> #elif.
25348         * lib/xstrtoumax.c: Likewise.
25349
25350 2003-08-16  Jim Meyering  <jim@meyering.net>
25351
25352         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
25353         * m4/utimes.m4: Removed.
25354         * m4/utimes-null.m4: Renamed from utimes.m4.
25355
25356         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
25357         to 1MB, so as not to render systems with no stack size limit (e.g.,
25358         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
25359         Include <unistd.h>.  On some systems,
25360         it is required for the definition of _SC_PAGESIZE.
25361
25362 2003-08-16  Jim Meyering  <jim@meyering.net>
25363         and Paul Eggert  <eggert@cs.ucla.edu>
25364
25365         Merges from coreutils, etc.
25366
25367         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
25368         using the latest version from cvs.  This avoids problems with #line
25369         directives using a vendor (Sun) compiler.
25370         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
25371         Don't set GETGROUPS_LIB here; now it's
25372         done via getgroups.m4's wrapper function.
25373         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
25374         rather than just in sh-util/configure.in, so that the
25375         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
25376         same.
25377         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
25378         AC_FUNC_GETLOADAVG where to find getloadavg.c.
25379         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
25380         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
25381         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
25382         Remove code that is now done by the newly-required macros.
25383         Append $(EXEEXT) to DF_PROG.
25384         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
25385         Do not invoke or require the following here,
25386         since prereq.m4 or some gnulib .m4 now does this for us:
25387         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
25388         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
25389         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
25390         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
25391         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
25392         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
25393         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
25394         AC_FUNC_OBSTACK.
25395         Do not replace the following functions, as this is now the job
25396         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
25397         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
25398         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
25399         atexit getpass, strdup, getpagesize.
25400         Replace 'raise'.
25401         Do not check for the following functions, as this is now the job
25402         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
25403         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
25404         setregid.
25405         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
25406         Check for sys/sysctl.h.
25407         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
25408         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
25409         of checking for ssize_t ourselves.
25410
25411         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
25412         Require every macro that gnulib/modules/* suggests for us.
25413         (jm_PREREQ_ADDEXT): New macro.
25414         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
25415         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
25416
25417         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
25418         (gl_PHYSMEM): Use it.
25419         Also check for `table' function.
25420         Check for new headers and functions.
25421         Add check for sys/sysmp.h.
25422         With suggestions from Kaveh Ghazi.
25423         Ignore headers that are present but cannot be compiled.  This
25424         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
25425         C 5.4.
25426
25427 2003-08-15  Paul Eggert  <eggert@twinsun.com>
25428
25429         Document merge from coreutils.
25430         * modules/userspec: Depend on posixver.
25431         * modules/strftime: Depend on tzset.
25432
25433 2003-08-15  Paul Eggert  <eggert@twinsun.com>
25434
25435         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
25436         rather than tab, after '#' in shell-script copyright notices.
25437         Suggested by Bruno Haible.
25438
25439 2003-08-15  Paul Eggert  <eggert@twinsun.com>
25440
25441         * config/srclist-update: Use three spaces, rather than tab, after '#'
25442         in shell-script copyright notices.  Suggested by Bruno Haible.
25443         Remove unnecessary parenthesization in regular expression.
25444
25445 2003-08-15  Jim Meyering  <jim@meyering.net>
25446
25447         Merge from coreutils.
25448         * lib/xgethostname.c: Include <stdlib.h>.
25449         (xghostname): Don't exit for anything other than memory-related
25450         failure; just return NULL.
25451         * lib/userspec.c: Include "posixver.h".
25452         (parse_user_spec): Accept `.' as a separator only
25453         in pre-POSIX-200112 mode.
25454         * lib/strtoimax.c: Use #elif rather than #else #if.
25455         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
25456         Remove function, now that we can rely on a working tzset function.
25457         [!_LIBC]: Ensure that the required autoconf test has been run.
25458         [!defined _NL_CURRENT && HAVE_STRFTIME]:
25459         Use underlying_strftime for %r.
25460         * lib/sha.c: Merge in some clean-up and optimization changes from
25461         glibc.
25462         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
25463         Ensure that it is a multiple of 64.
25464         Rearrange loop exit tests so as to avoid performing an
25465         additional fread after encountering an error or EOF.
25466         * lib/realloc.c: Update copyright date.
25467
25468 2003-08-15  Jim Meyering  <jim@meyering.net>
25469         and Paul Eggert  <eggert@twinsun.com>
25470
25471         Merge from coreutils.
25472         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
25473         member but strut utmpx does not.  Needed for AIX 4.3.3.
25474         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
25475
25476 2003-08-15  Jim Meyering  <jim@meyering.net>
25477         and Paul Eggert  <eggert@cs.ucla.edu>
25478
25479         Merges from coreutils, etc.
25480         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
25481         Require gl_FUNC_TZSET_CLOBBER.
25482         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
25483         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
25484         members.
25485
25486 2003-08-14  Paul Eggert  <eggert@twinsun.com>
25487
25488         Help the merge from coreutils.
25489         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
25490         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
25491         * m4/tzset.m4: Use it too.
25492
25493 2003-08-14  Paul Eggert  <eggert@twinsun.com>
25494
25495         * modules/tzset: New file.
25496
25497 2003-08-14  Jim Meyering  <jim@meyering.net>
25498
25499         Merges from coreutils.
25500         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
25501         variable names, rather than @FNMATCH_H@.
25502         * modules/alloca: Likewise for $(ALLOCA_H).
25503
25504         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
25505         the three copies of the literal target, `fnmatch.h'.
25506         * modules/alloca (alloca.h): Likewise.
25507
25508 2003-08-14  Jim Meyering  <jim@meyering.net>
25509
25510         Merge from coreutils.
25511         * m4/tzset.m4: New file.
25512         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
25513         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
25514         otherwise, AIX 5.1 systems would end up using the latter.
25515         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
25516         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
25517         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
25518         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
25519
25520 2003-08-14  Jim Meyering  <jim@meyering.net>
25521
25522         Merge from coreutils.
25523         * lib/obstack.h: Whitespace changes.
25524         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
25525         and xcalloc return values.
25526         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
25527         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
25528         hang on OSF/1 5.1 for DIR on both local and remote file systems.
25529         Reported by (and fix confirmed by) Nelson H. F. Beebe.
25530         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
25531         error from mntctl.
25532         Use mntctl's return value to drive the entry-processing loop, since
25533         we can't rely on the value of the vmt_length member in the last
25534         entry.  On some systems doing so could result in exhausting
25535         virtual memory.  Based in part on a patch from Mike Jetzer.
25536
25537 2003-08-14  Jim Meyering  <jim@meyering.net>
25538         and Paul Eggert  <eggert@twinsun.com>
25539
25540         Merges from coreutils, plus other fixes.
25541         * lib/physmem.c: Merge in portability changes from gcc/libiberty
25542         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
25543         for credits and details.  Thanks to Kaveh Ghazi for helping
25544         to keep these files in sync.
25545         (ARRAY_SIZE): Define it.
25546         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
25547         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
25548         (memcasecmp): Don't assume size_t fits in unsigned int.
25549         Remove casts and duplicate code.
25550         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
25551         (memcpy): Remove definition.
25552         Merge in some clean-up and optimization changes from glibc.
25553         [BLOCKSIZE]: Move definition to top of file.
25554         Ensure that it is a multiple of 64.
25555         Rearrange loop exit tests so as to avoid performing an
25556         additional fread after encountering an error or EOF.
25557         * lib/md5.h (md5_uintptr): Define.
25558         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
25559         return to the initial working directory.  Preserve errno
25560         for caller.
25561         * lib/idcache.c: Include "xalloc.h".
25562         (xmalloc, xrealloc): Remove decls.
25563         (getuser): Remove casts no longer required in C89.
25564         * lib/human.c: Include stdio.h, for sprintf.
25565         * lib/group-member.c: Include "xalloc.h".
25566         (xmalloc, xrealloc): Remove decls.
25567         (get_group_info): Remove casts no longer required in C89.
25568         * lib/getusershell.c (readname): Remove casts no longer required in
25569         C89.
25570         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
25571         * lib/getline.c: Whitespace fix, from coreutils.
25572
25573 2003-08-13  Paul Eggert  <eggert@twinsun.com>
25574
25575         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
25576         Check for isascii.
25577
25578         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
25579         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
25580         Undo previous (whitespace-only) change.
25581
25582 2003-08-13  Paul Eggert  <eggert@twinsun.com>
25583
25584         * lib/exclude.c: Include <ctype.h>
25585         (IN_CTYPE_DOMAIN): New macro.
25586         (is_space): New fn.
25587         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
25588         and empty lines.
25589
25590         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
25591         Undo previous (whitespace-only) change.
25592
25593 2003-08-13  Paul Eggert  <eggert@twinsun.com>
25594
25595         * config/srclist-update: Change update back to the old behavior,
25596         leaving whitespace alone.  Use one 'sed' command rather than a
25597         pipeline.
25598         (fixlicense): Now a variable, not a function.
25599         (remove_trailing_blanks): Remove.
25600         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
25601         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
25602         Undo previous (whitespace-only) change.
25603
25604 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25605
25606         Merge from coreutils.
25607         * modules/euidaccess: Add lib_SOURCES, include for new
25608         file euidaccess.h
25609
25610 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25611
25612         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
25613         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
25614         Normalize leading white space and remove trailing white space.
25615
25616         Merge from coreutils
25617         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
25618
25619         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
25620         0.12.1.  These files are now being upgraded automatically by
25621         ../config/srclist-update.
25622
25623 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25624
25625         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
25626         Normalize leading white space and remove trailing white space.
25627         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
25628         notice, as per ../config/srclist-update.
25629
25630         Merge from coreutils.
25631         * lib/euidaccess.h: New file.
25632         * lib/euidaccess.c: Include it.
25633         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
25634         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
25635         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
25636
25637 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25638
25639         * config/srclist-update: Add copyright notice.
25640         (remove_id_lines, remove_trailing_blanks): New constants.
25641         (fixfile): Use them to normalize spacing a bit in copied files.
25642         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
25643         Normalize leading white space and remove trailing white space.
25644
25645         * config/texinfo.tex: Sync with texinfo.
25646
25647         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
25648         strtoul.c from libc, to merge coreutils whitespace changes.
25649
25650         * config/srclist.txt: Get the following m4 files from gettext:
25651         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
25652         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
25653         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
25654         wint_t.m4.
25655
25656 2003-08-12  Karl Berry  <karl@gnu.org>
25657
25658         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
25659         been made.
25660
25661 2003-08-11  Paul Eggert  <eggert@twinsun.com>
25662
25663         * modules/gnu-source, m4/gnu-source.m4:
25664         Remove; we're assuming Autoconf 2.54 or later now.
25665         Suggested by Bruno Haible.
25666         * MODULES.html.sh (func_all_modules): Remove gnu-source.
25667
25668 2003-08-11  Bruno Haible  <bruno@clisp.org>
25669
25670         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
25671
25672 2003-08-11  Bruno Haible  <bruno@clisp.org>
25673
25674         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
25675         (vasnprintf): Use it instead of wcslen.
25676
25677 2003-08-11  Bruno Haible  <bruno@clisp.org>
25678
25679         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
25680         value to ensure that _Bool promotes to int. Use #define for _Bool when
25681         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
25682
25683 2003-08-10  Karl Berry  <karl@gnu.org>
25684
25685         * lib/regex.h: update from libc (whitespace fix).
25686
25687 2003-08-09  Paul Eggert  <eggert@twinsun.com>
25688
25689         Merge some files from coreutils.  These changes were
25690         originally made by Jim Meyering.
25691         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
25692         many older Unixes require this.
25693         * lib/alloca.c (alloca): Remove cast to argument of free;
25694         no longer needed in C89.
25695         * lib/alloca_.h, regex.h: Fix white space to match
25696         what GNU indent does.
25697
25698 2003-08-09  Paul Eggert  <eggert@twinsun.com>
25699
25700         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
25701         apparently Emacs's Unicode mode got confused before my 2003-08-05
25702         checkin.
25703
25704 2003-08-08  Paul Eggert  <eggert@twinsun.com>
25705
25706         * m4/extensions.m4: New file.
25707         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
25708         Require gl_USE_SYSTEM_EXTENSIONS.
25709         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
25710         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
25711
25712 2003-08-08  Paul Eggert  <eggert@twinsun.com>
25713
25714         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
25715         * modules/extensions, modules/gnu-source: New files.
25716         * modules/timespec, modules/unlocked-io: Depend on extensions.
25717
25718 2003-08-07  Paul Eggert  <eggert@twinsun.com>
25719
25720         * modules/restrict: New file.
25721         * MODULES.html.sh (func_all_modules): Add restrict.
25722         * modules/regex: Depend on restrict.
25723
25724 2003-08-07  Paul Eggert  <eggert@twinsun.com>
25725
25726         * m4/restrict.m4: New file.
25727         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
25728
25729 2003-08-07  Bruno Haible  <bruno@clisp.org>
25730
25731         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
25732         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
25733
25734 2003-08-07  Bruno Haible  <bruno@clisp.org>
25735
25736         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
25737         makes the module 'getndelim2' compatible with the module 'getline'.
25738
25739 2003-08-05  Paul Eggert  <eggert@twinsun.com>
25740
25741         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
25742         byte with "\201" to avoid glitches when editing that source file
25743         with multi-gnome-terminal.
25744
25745 2003-08-05  Paul Eggert  <eggert@twinsun.com>
25746
25747         * lib/bumpalloc.h: Remove.
25748
25749 2003-08-05  Paul Eggert  <eggert@twinsun.com>
25750
25751         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
25752         * modules/bumpalloc: Remove.
25753
25754 2003-08-04  Paul Eggert  <eggert@twinsun.com>
25755
25756         * lib/getloadavg.c: Change copyright notice and spacing to conform to
25757         GNU coding style.
25758
25759         Merge from coreutils.
25760         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
25761         1. From glibc.
25762         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
25763         from Karl Berry, implemented by Jim Meyering.
25764         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
25765         from Dmitry V. Levin.
25766         Remove anachronistic cast of xrealloc.
25767         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
25768         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
25769         type. Otherwise, it wouldn't compile with at least /bin/cc on
25770         ymp-cray-unicos9.0.2.X.
25771         Combine two mostly-identical uses of alloca into one.
25772         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
25773
25774 2003-08-04  Dave Love  <d.love@dl.ac.uk>
25775
25776         [From Emacs.]
25777
25778         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
25779         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
25780         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
25781         obsolete NLIST_NAME_UNION.
25782         [__GNU__]: Undef BSD and FSCALE.
25783         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
25784
25785 2003-08-03  Paul Eggert  <eggert@twinsun.com>
25786
25787         * lib/stdbool_.h (_Bool): Make it signed char, instead of
25788         an enum type, so that it's guaranteed to promote to int.  See:
25789         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
25790
25791 2003-08-03  Karl Berry  <karl@gnu.org>
25792
25793         * config/depcomp: update from automake.
25794
25795 2003-07-31  Paul Eggert  <eggert@twinsun.com>
25796
25797         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
25798         (strerror): Don't assume that a printable int fits in 14 bytes.
25799
25800 2003-07-31  Bruno Haible  <bruno@clisp.org>
25801
25802         * modules/getpass-gnu: New file.
25803         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
25804
25805 2003-07-31  Bruno Haible  <bruno@clisp.org>
25806
25807         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
25808
25809 2003-07-24  Karl Berry  <karl@gnu.org>
25810
25811         * config/missing: update from automake.
25812
25813 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
25814             Bruno Haible  <bruno@clisp.org>
25815
25816         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
25817         * lib/getline.c (getline, getdelim): Likewise.
25818         Remove _GNU_SOURCE define; now it's defined in config.h through
25819         m4/getline.m4.
25820
25821 2003-07-23  Karl Berry  <karl@gnu.org>
25822
25823         * config/config.sub: update from prep.
25824
25825 2003-07-22  Paul Eggert  <eggert@twinsun.com>
25826
25827         * modules/xalloc (Depends-on): Add exitfail.
25828         * modules/xmemcoll: Likewise.
25829
25830 2003-07-22  Paul Eggert  <eggert@twinsun.com>
25831
25832         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
25833         over-parenthesization in macros.
25834
25835         Sync with coreutils.
25836
25837         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
25838         required by C99.
25839
25840         Use `exit_failure' for xalloc and xmemcoll instead of their own
25841         private exit-failure variables.
25842         * lib/xalloc.h (xalloc_exit_failure): Remove.
25843         * lib/xmalloc.c: Likewise.  Include exitfail.h.
25844         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
25845         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
25846         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
25847         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
25848
25849 2003-07-20  Jim Meyering  <jim@meyering.net>
25850
25851         * modules/closeout (Depends-on): Add exitfail.
25852         Suggestion from Bruno Haible.
25853
25854 2003-07-19  Karl Berry  <karl@gnu.org>
25855
25856         * config/config.sub: update from prep.
25857
25858 2003-07-18  Paul Eggert  <eggert@twinsun.com>
25859
25860         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
25861         Remove.
25862         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
25863         to test that it can stand by itself.  Include "exitfail.h".
25864         Clients should set exit_failure instead.
25865         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
25866
25867 2003-07-18  Bruno Haible  <bruno@clisp.org>
25868
25869         * modules/getndelim2: New file.
25870         * modules/getline: Share files with module getndelim2.
25871         * modules/getnline: Depend on getndelim2 instead of sharing files with
25872         it. Add getnline.c to lib_SOURCES.
25873         * MODULES.html.sh (func_all_modules): Add getndelim2.
25874
25875 2003-07-18  Bruno Haible  <bruno@clisp.org>
25876
25877         * m4/getndelim2.m4: New file.
25878         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
25879         invoke gl_PREREQ_GETNDELIM2.
25880         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
25881         gl_PREREQ_GETNDELIM2.
25882         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
25883         gl_GETNDELIM2.
25884
25885 2003-07-18  Bruno Haible  <bruno@clisp.org>
25886
25887         * lib/getndelim2.h: New file.
25888         * lib/getndelim2.c: Make into a module of its own. Include config.h,
25889         getndelim2.h.
25890         (getndelim2): Make non-static. Change return type to ssize_t.
25891         * lib/getline.h: Change argument names.
25892         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
25893         * lib/getnline.c: Include getndelim2.h.
25894
25895 2003-07-18  Andreas Schwab  <schwab@suse.de>
25896
25897         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
25898
25899 2003-07-17  Karl Berry  <karl@gnu.org>
25900
25901         * config/config.sub: update from prep.
25902
25903 2003-07-17  Bruno Haible  <bruno@clisp.org>
25904
25905         * modules/getnline: New file.
25906         * modules/getline: Add lib/getndelim2.c to source file list.
25907         * MODULES.html.sh (func_all_modules): Add getnline.
25908
25909 2003-07-17  Bruno Haible  <bruno@clisp.org>
25910
25911         * m4/getnline.m4: New file.
25912
25913 2003-07-17  Bruno Haible  <bruno@clisp.org>
25914
25915         * m4/Makefile.am.in: Remove file.
25916         * m4/Makefile.am: Remove file.
25917         * m4/Makefile.in: Remove file.
25918
25919 2003-07-17  Bruno Haible  <bruno@clisp.org>
25920
25921         * lib/getnline.h: New file.
25922         * lib/getnline.c: New file.
25923         * lib/getndelim2.c: New file, extracted from getline.c.
25924         (getndelim2): Renamed from getdelim2, with added nmax argument.
25925         * lib/getline.c: Include getndelim2.c.
25926         (getdelim2): Moved out to getndelim2.c.
25927         (getline, getdelim): Update.
25928
25929 2003-07-17  Bruno Haible  <bruno@clisp.org>
25930
25931         * lib/Makefile.am: Remove file.
25932         * lib/Makefile.in: Remove file.
25933
25934 2003-07-17  Bruno Haible  <bruno@clisp.org>
25935
25936         * configure.in: Remove file.
25937         * Makefile.in: Remove file.
25938
25939 2003-07-17  Bruno Haible  <bruno@clisp.org>
25940
25941         * MODULES.html.sh: Put the </BODY> right before </HTML>.
25942
25943 2003-07-16  Karl Berry  <karl@gnu.org>
25944
25945         * config/srclist-update: was running fixlicense twice, which caused
25946                 texinfo.tex to be nullified for some reason.  Simplify,
25947                 $gplsrc is no longer needed as far as I can see?
25948
25949 2003-07-16  Jim Meyering  <jim@meyering.net>
25950
25951         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
25952
25953 2003-07-15  Paul Eggert  <eggert@twinsun.com>
25954
25955         * config/srclist.txt: Get the following files from gettext-runtime/intl
25956         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
25957         ref-del.sin.  From Bruno Haible.
25958         * config/srclist-update (fixfile): Change grep pattern again, since the
25959         previous fix didn't work (there was another trailing $).  Use
25960         '[$]' to escape the $s.
25961
25962 2003-07-15  Karl Berry  <karl@gnu.org>
25963
25964         * lib/vasnprintf.c: update from gettext.
25965
25966 2003-07-15  Karl Berry  <karl@gnu.org>
25967
25968         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
25969         gets expanded when surrounded by '$'.
25970
25971 2003-07-15  Jim Meyering  <jim@meyering.net>
25972
25973         * modules/save-cwd: Don't depend on error.  From Derek Price.
25974
25975 2003-07-15  Jim Meyering  <jim@meyering.net>
25976
25977         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
25978
25979 2003-07-14  Simon Josefsson  <jas@extundo.com>
25980
25981         * modules/mempcpy: New file.
25982         * MODULES.html.sh (func_all_modules): Add mempcpy.
25983
25984 2003-07-14  Simon Josefsson  <jas@extundo.com>
25985
25986         * m4/mempcpy.m4: New file.
25987
25988 2003-07-14  Simon Josefsson  <jas@extundo.com>
25989
25990         * lib/mempcpy.h: New file.
25991         * lib/mempcpy.c: New file.
25992
25993 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25994
25995         * modules/getdate, modules/posixtm: Depend on mktime.
25996
25997 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25998
25999         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
26000         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
26001         unicodeio.c, unicodeio.h, unlocked-io.h:
26002         Switch from LGPL to GPL.
26003
26004 2003-07-14  Paul Eggert  <eggert@twinsun.com>
26005
26006         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
26007         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
26008         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
26009         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
26010         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
26011         updated automatically by ../config/srclist-update.  This changes
26012         their license from LPGL to GPL.
26013
26014 2003-07-14  Paul Eggert  <eggert@twinsun.com>
26015
26016         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
26017         assumed to refer to the root of the most recent stable gettext version.
26018         * config/srclistvars.sh: Add defaults for eggert.
26019         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
26020         Match "This program" as well as "The program".  This is needed
26021         for gettext.
26022
26023 2003-07-14  Jim Meyering  <jim@meyering.net>
26024
26025         Don't emit diagnostics.  Let callers do that.
26026         * lib/save-cwd.c: Don't include "error.h".
26027         (save_cwd): Don't call error.  Ensure that errno is valid
26028         when returning nonzero.
26029
26030         * lib/save-cwd.h (restore_cwd): Update prototype.
26031         * lib/save-cwd.c (restore_cwd): Remove two parameters.
26032         Simplify.  Don't call error upon failure.  Let callers do that.
26033         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
26034         when auditing is enabled.  But don't bother updating the #if.
26035
26036 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
26037
26038         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
26039         it breaks C++ compilation.
26040         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
26041
26042 2003-07-10  Simon Josefsson  <jas@extundo.com>
26043
26044         * modules/strchrnul (Makefile.am): Add strchrnul.h.
26045
26046 2003-07-10  Jim Meyering  <jim@meyering.net>
26047
26048         * m4/clock_time.m4: Remove trailing blank.
26049         * m4/intmax_t.m4: Likewise.
26050
26051 2003-07-10  Jim Meyering  <jim@meyering.net>
26052
26053         * lib/vasnprintf.c: Remove trailing blanks.
26054         Make cpp indentation consistent.
26055
26056 2003-07-09  Paul Eggert  <eggert@twinsun.com>
26057
26058         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
26059         posixver.c, strftime.c, strnlen.c, strverscmp.c:
26060         Switch from LGPL to GPL.
26061
26062 2003-07-09  Paul Eggert  <eggert@twinsun.com>
26063
26064         * config/srclist.txt: Sort sublists.  Add
26065         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
26066         that differ from gnulib for one reason or another; we'd like this list
26067         to be smaller but for now let's document what we have.
26068
26069 2003-07-08  Paul Eggert  <eggert@twinsun.com>
26070
26071         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
26072         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
26073         and sweeter "eval x=$x".
26074         * config/srclist.txt: Get lib/argp* from glibc.
26075
26076 2003-07-07  Paul Eggert  <eggert@twinsun.com>
26077
26078         * lib/mktime.c: Fix some boundary cases and remove need for floating
26079         point.
26080
26081         Issue a compile-time diagnostic if time_t is floating point, or if
26082         two's complement arithmetic is not in effect, or if arithmetic
26083         right shift does not propagate the sign.  These assumptions were
26084         all in the original code but they weren't checked.
26085
26086         (TIME_T_MIDPOINT, verify): New macros.
26087         (__isleap): Remove; it has integer overflow problems.
26088         (leapyear): New function, without those problems.
26089         (ydhms_tm_diff): Remove; splitting into two parts.
26090         (ydhms_diff): New function, containing the arithmetic part of
26091         the old ydhms_tm_diff function.  Issue a compile-time
26092         diagnostic if we are not using C99 integer division.
26093         Avoid casts when possible.
26094         (guess_time_tm): New function, containing the checking part of
26095         the old ydhms_tm_diff function.  Return the new value, rather than
26096         the difference between it and the old.  Accept a new argument T
26097         so that *T specifies the old value.  Check for overflow in the result.
26098
26099         (__mktime_internal): Use a time_t offset, not a long int offset.
26100         This undoes the 2003-06-04 change, which is no longer needed now
26101         that we have better overflow checking.
26102         (localtime_offset): Likewise.
26103
26104         (__mktime_internal): Avoid harmful overflow on hosts where time_t
26105         and long are 64-bit but int is only 32-bit.
26106         (ydhms_diff): Use long int to store year1 and yday1.
26107         Issue a compile-time diagnostic if long int is not wide enough.
26108
26109         (__mktime_internal): Use long int to store adjusted year and yday.
26110         Use plain C rather than preprocessor commands, if that doesn't
26111         affect efficiency.
26112         Check for overflow (and try to repair) after each probe
26113         rather than checking only at the very end.  This avoids some bugs
26114         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
26115         does not equal GMT offset at maximum time).
26116         Use integer to check for overflow rather than floating point; this
26117         is more portable to non-IEEE hosts, and is a tad faster.
26118         When we detect that we are oscillating between two values,
26119         don't check whether tm_isdst has the requested value, since
26120         we already know the answer.  When tm_isdst has the wrong value,
26121         use a different heuristic to find the right one, based on the
26122         extreme values actually observed in practice in tz2003a,
26123         rather than the (overly optimistic) "previous 3 calendar quarters".
26124
26125         (not_equal_tm, print_tm, check_result): Use "const T" rather than
26126         "T const" to accommodate glibc style.
26127         (check_result): Use less-confusing report format.  "long" -> "long int.
26128         (main): Likewise.
26129         Don't loop if the iteration overflows time_t.
26130         Allow a negative step in the iteration.
26131
26132 2003-07-06  Karl Berry  <karl@gnu.org>
26133
26134         * config/depcomp: update from automake.
26135         * config/config.sub: update from prep.
26136
26137 2003-07-03  Karl Berry  <karl@gnu.org>
26138
26139         * config/config.guess: update from prep.
26140
26141 2003-07-01  Paul Eggert  <eggert@twinsun.com>
26142
26143         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
26144         xreadlink.c now includes it unconditionally.
26145
26146 2003-07-01  Paul Eggert  <eggert@twinsun.com>
26147
26148         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
26149         having it depend on HAVE_SYS_TYPES_H.
26150
26151 2003-07-01  Bruno Haible  <bruno@clisp.org>
26152
26153         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
26154         <sys/types.h> should be sufficient.
26155         Reported by Paul Eggert.
26156
26157 2003-06-26  Karl Berry  <karl@gnu.org>
26158
26159         * config/depcomp: update from automake.
26160
26161 2003-06-26  Bruno Haible  <bruno@clisp.org>
26162
26163         * modules/human: Depend on module stdbool.
26164
26165 2003-06-25  Bruno Haible  <bruno@clisp.org>
26166
26167         * modules/readlink: New file.
26168         * modules/xreadlink: Depend on it.
26169         * MODULES.html.sh (func_all_modules): Add readlink.
26170
26171 2003-06-25  Bruno Haible  <bruno@clisp.org>
26172
26173         * m4/readlink.m4: New file.
26174
26175 2003-06-25  Bruno Haible  <bruno@clisp.org>
26176
26177         * lib/readlink.c: New file.
26178
26179 2003-06-22  Karl Berry  <karl@gnu.org>
26180
26181         * config/srclist.txt: update mkinstalldirs from automake.
26182         * config/mkinstalldirs: update.
26183
26184 2003-06-22  Bruno Haible  <bruno@clisp.org>
26185
26186         Portability to mingw32.
26187         * m4/ssize_t.m4: New file, from GNU gettext.
26188         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
26189         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
26190
26191 2003-06-22  Bruno Haible  <bruno@clisp.org>
26192
26193         * modules/safe-read: Add m4/ssize_t.m4.
26194         * modules/xreadlink: Add m4/ssize_t.m4.
26195
26196 2003-06-20  Bruno Haible  <bruno@clisp.org>
26197
26198         Assume C89, so PARAMS isn't needed.
26199         * lib/unicodeio.h (PARAMS): Remove.
26200         * lib/unicodeio.c: Don't use PARAMS.
26201
26202 2003-06-18  Karl Berry  <karl@gnu.org>
26203
26204         * config/config.{guess,sub}: update from prep.
26205
26206 2003-06-18  Jim Meyering  <jim@meyering.net>
26207
26208         Merge changes from coreutils.
26209         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
26210         Remove explicit declarations of xmalloc and realloc.
26211         Include xalloc.h.
26212         (read_utmp): Remove anachronistic cast of xmalloc.
26213
26214 2003-06-17  Paul Eggert  <eggert@twinsun.com>
26215
26216         Assume C89, so PARAMS isn't needed.
26217         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
26218         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
26219         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
26220         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
26221         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
26222         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
26223         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
26224         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
26225         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
26226         lib/xstrtod.h, lib/xstrtol.h: Likewise.
26227         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
26228         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
26229         no longer needed. Anyway, config.h should always be included before any
26230         other file.
26231
26232 2003-06-11  Simon Josefsson  <jas@extundo.com>
26233
26234         * modules/sysexits: New file.
26235         * MODULES.html.sh (func_all_modules): Add sysexits.
26236
26237 2003-06-11  Simon Josefsson  <jas@extundo.com>
26238
26239         * lib/sysexit_.h: New file.
26240
26241 2003-06-11  Derek Price  <derek@ximbiot.com>
26242
26243         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
26244         necessary.
26245
26246 2003-06-11  Bruno Haible  <bruno@clisp.org>
26247
26248         * m4/sysexits.m4: New file.
26249
26250 2003-06-10  Simon Josefsson  <jas@extundo.com>
26251
26252         * lib/argp.h: New file, from glibc.
26253         * lib/argp-ba.c: New file, from glibc.
26254         * lib/argp-eexst.c: New file, from glibc.
26255         * lib/argp-fmtstream.c: New file, from glibc.
26256         * lib/argp-fmtstream.h: New file, from glibc.
26257         * lib/argp-fs-xinl.c: New file, from glibc.
26258         * lib/argp-help.c: New file, from glibc.
26259         * lib/argp-namefrob.h: New file, from glibc.
26260         * lib/argp-parse.c: New file, from glibc.
26261         * lib/argp-pv.c: New file, from glibc.
26262         * lib/argp-pvh.c: New file, from glibc.
26263         * lib/argp-xinl.c: New file, from glibc.
26264
26265 2003-06-10  Simon Josefsson  <jas@extundo.com>
26266
26267         * modules/strchrnul: New file.
26268
26269 2003-06-10  Simon Josefsson  <jas@extundo.com>
26270
26271         * modules/argp: New file.
26272
26273 2003-06-10  Simon Josefsson  <jas@extundo.com>
26274
26275         * m4/strchrnul.m4: New file.
26276
26277 2003-06-10  Simon Josefsson  <jas@extundo.com>
26278
26279         * lib/strchrnul.h: New file.
26280         * lib/strchrnul.c: New file.
26281
26282 2003-06-10  Bruno Haible  <bruno@clisp.org>
26283
26284         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
26285
26286 2003-06-07  Karl Berry  <karl@gnu.org>
26287
26288         * config/config.{guess,sub}: update from prep.
26289
26290 2003-06-07  Jim Meyering  <jim@meyering.net>
26291
26292         * modules/strtod: Use $(...) notation, not @...@ for
26293         AC_REPLACE'd variables.
26294         * modules/localcharset: Likewise.
26295
26296 2003-06-07  Jim Meyering  <jim@meyering.net>
26297
26298         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
26299         in place of my name in the copyright comment.
26300         Remove definition and uses of __P.
26301
26302         From coreutils.
26303         * lib/stat.c: Don't declare xmalloc explicitly.
26304         Instead, include "xalloc.h".
26305         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
26306         xrealloc, and xcalloc return values.
26307         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
26308         Improve comment.
26309         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
26310
26311 2003-06-07  Bruno Haible  <bruno@clisp.org>
26312
26313         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
26314         avoid AC_CONFIG_LINKS.
26315         * modules/fnmatch (Makefile.am): Use explicit creation rule for
26316         fnmatch.h, to avoid AC_CONFIG_LINKS.
26317         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
26318
26319 2003-06-07  Bruno Haible  <bruno@clisp.org>
26320
26321         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
26322         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
26323         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
26324         directory.
26325         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
26326         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
26327         directory.
26328
26329 2003-06-06  Jim Meyering  <jim@meyering.net>
26330
26331         Merge from coreutils.
26332         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
26333         Consolidate declarations and initializations of *_base* locals.
26334
26335         Merge from coreutils.
26336         This avoids a core dump on systems without GNU putenv,
26337         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
26338         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
26339         (unsetenv): New static function, from GNU libc.
26340         (rpl_putenv): Use it.
26341
26342         * lib/modechange.c: Remove trailing blanks.
26343
26344         Merge from coreutils.
26345         * lib/fsusage.c: Remove declaration of statfs.
26346         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
26347
26348         * lib/posixtm.c: Include <stdbool.h> unconditionally.
26349
26350 2003-06-06  Jim Meyering  <jim@meyering.net>
26351
26352         * lib/stdbool_.h: Renamed from stdbool.h.in.
26353
26354 2003-06-06  Jim Meyering  <jim@meyering.net>
26355             Bruno Haible  <bruno@clisp.org>
26356
26357         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
26358         Adjust Makefile.am snippet not to redirect directly to target.
26359         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
26360
26361 2003-06-05  Paul Eggert  <eggert@twinsun.com>
26362
26363         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
26364         mismatch, look in future quarters as well as past.  This fixes a
26365         bug when processing fall-backwards gaps immediately after a long
26366         period of daylight-saving time.
26367
26368         * lib/mktime.c: Assume freestanding C89 or better.
26369         (HAVE_LIMITS_H): Remove.  Assume it's 1.
26370         (__P): Remove; not used.
26371         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
26372         (mktime, not_equal_tm, print_tm, check_result,
26373         main): Use prototypes.  Use const * where appropriate.
26374         (main): Fix typo in testing code that uncovered by above changes.
26375         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
26376
26377 2003-06-04  Paul Eggert  <eggert@twinsun.com>
26378
26379         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
26380         locale.h, localeconv.  This merges changes from coreutils.
26381
26382         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
26383         It can be removed after the next Autoconf is released.
26384         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
26385         needed.
26386
26387 2003-06-04  Paul Eggert  <eggert@twinsun.com>
26388
26389         * lib/mktime.c: Fix Debian bug 177940
26390         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
26391         (localtime_offset): Now long int, not time_t, because we want it
26392         to be guaranteed to be signed.  All uses changed.
26393         (__mktime_internal): If overflow would occur when adding offset,
26394         don't add it.
26395
26396         Merge 'human' changes from coreutils.  Rewrite to support
26397         locale-specific notations like thousands separators.
26398         * lib/human.c: Simplify authorship notice.
26399         Include human.h immediately after config.h.
26400         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
26401         <limits.h>: Do not include, since human.h does.
26402         (SIZE_MAX, UINTMAX_MAX): New macros.
26403         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
26404         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
26405         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
26406         (power_letter): Renamed from suffixes.
26407         (generate_suffix_backwards): Remove.
26408         (adjust_value): Now takes int style (because of human.h changes)
26409         and long double value (for greater precision on some platforms).
26410         (group_number): New function.
26411         (human_readable): Use it.  Use integer options, not enum.
26412         Put the options before the sizes in the arg list.
26413         Support all the new options.
26414         The old human_readable function has been removed;
26415         use inttostr.h instead.
26416         (human_readable, default_block_size, humblock):
26417         Use uintmax_t, not int, for block sizes.
26418         (human_readable_inexact, block_size_types): Remove.
26419         (block_size_opts): New constant.
26420         (human_options): Renamed from human_block_size, with new signature
26421         that allows block sizes up to UINTMAX_MAX.  All callers changed.
26422         * lib/human.h: Add copyright and authorship notice.
26423         Include <limits.h> and <stdbool.h> unconditionally.
26424         (PARAMS): Remove.  All uses removed.
26425         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
26426         (enum human_inexact_style): Remove tag; now a nameless enum.
26427         (human_floor, human_ceiling, human_round_to_even): Now have
26428         values 2, 0, 1 rather than -1, 1, 0.
26429         (human_group_digits, human_suppress_point_zero, human_autoscale,
26430         human_base_1024, human_SI, human_B): New constants.
26431         (human_readable_inexact, human_block_size): Remove.
26432         (human_readable): Size args are now uintmax_t, not int.
26433         (human_options): New decl.
26434
26435         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
26436         unnecessary now that we assume C89 or better.  This change
26437         imported from coreutils.
26438
26439         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
26440         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
26441         in the 2003-05-30 sync from glibc.
26442
26443         .h files should stand alone, but we shouldn't include <sys/types.h>
26444         if we can get away with just <stddef.h>.
26445
26446         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
26447         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
26448         rather than <sys/types.h>, as we merely need size_t.
26449         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
26450         to get size_t.
26451         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
26452         Include <stdio.h>, to get FILE.
26453         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
26454         memcasecmp.h has included <stddef.h> and all we need is size_t.
26455         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
26456         our interface, instead of including <sys/types.h>
26457
26458 2003-06-04  Paul Eggert  <eggert@twinsun.com>
26459
26460         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
26461         now, as glibc mktime is buggy on non-glibc systems.
26462
26463 2003-06-03  Karl Berry  <karl@gnu.org>
26464
26465         * config/config.sub: update from prep.
26466
26467 2003-06-02  Paul Eggert  <eggert@twinsun.com>
26468
26469         [from coreutils]
26470         Fix some minor time-related bugs with POSIX time arguments.
26471         Some valid time stamps were being rejected (notably -1, and
26472         time stamps before 1900 on 64-bit hosts).  And some invalid
26473         time stamps were being accepted, e.g. September 31.
26474
26475         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
26476         that we can return (time_t) -1 successfully.
26477         * lib/posixtm.c: Likewise.
26478         [HAVE_STDBOOL_H]: Include <stdbool.h>.
26479         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
26480         (t): Remove static var.
26481         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
26482         of static var.  All uses changed.
26483         (year): Do not reject years before 1900; they can occur with
26484         64-bit time_t.
26485         (posix_time_parse): Do not check for out-of-range components;
26486         that is now the caller's responsibility, since our checks were
26487         only approximations.
26488         (posixtime): Use mktime to check for out-of-range components,
26489         since it knows them exactly.
26490         If mktime returns (time_t) -1, check whether an error actually occurred
26491         by invoking localtime on -1.
26492         (main) [TEST_POSIXTIME]: Check for input data errors, and report
26493         posixtime failures better.
26494         Improve the test data (in comments only).
26495
26496 2003-06-02  Karl Berry  <karl@gnu.org>
26497
26498         * config/mkinstalldirs (version): new variable.
26499         (--version): new option.
26500         (usage): improve message.
26501
26502 2003-05-30  Karl Berry  <karl@gnu.org>
26503
26504         * lib/mktime.c: update from libc.
26505
26506 2003-05-30  Bruno Haible  <bruno@clisp.org>
26507
26508         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
26509         * config/config.rpath: Upgrade to gettext-0.12.1.
26510
26511 2003-05-30  Bruno Haible  <bruno@clisp.org>
26512
26513         * m4/gettext.m4: Upgrade to gettext-0.12.1.
26514         * m4/nls.m4: New file, from gettext-0.12.1.
26515         * m4/po.m4: New file, from gettext-0.12.1.
26516         * m4/progtest.m4: Upgrade to gettext-0.12.1.
26517
26518 2003-05-30  Bruno Haible  <bruno@clisp.org>
26519
26520         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
26521         * lib/localcharset.h: Likewise.
26522         * lib/localcharset.c: Likewise.
26523
26524 2003-05-29  Karl Berry  <karl@gnu.org>
26525
26526         * config/config.rpath: update from gettext.
26527
26528 2003-05-28  Paul Eggert  <eggert@twinsun.com>
26529
26530         Assume the headers required for C89 freestanding compilers.
26531         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
26532         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
26533         * m4/human.m4 (gl_HUMAN): Likewise.
26534         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
26535         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
26536         * m4/userspec.m4 (gl_USERSPEC): Likewise.
26537         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
26538         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
26539         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
26540
26541 2003-05-28  Paul Eggert  <eggert@twinsun.com>
26542
26543         Assume the headers required for C89 freestanding compilers.
26544         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
26545         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
26546         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
26547         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
26548         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
26549         define, since <limits.h> is guaranteed to do that.
26550         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
26551         * lib/exclude.c: Include <stdbool.h> unconditionally.
26552         * lib/tempname.c: Include <stddef.h> unconditionally.
26553         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
26554         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
26555         <stddef.h> does that.
26556         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
26557         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
26558         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
26559         needed.
26560         * lib/xstrtol.c: Likewise.
26561         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
26562         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
26563
26564         * lib/addext.c (addext): Use assignment rather than cast, to avoid
26565         warnings on some platforms.
26566
26567         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
26568         arbitrarily.
26569
26570 2003-05-26  Jim Meyering  <jim@meyering.net>
26571
26572         Merge in a change from coreutils:
26573         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
26574         that is guaranteed to be `no'.  Use `no_such_member' to indicate
26575         that condition, rather than `-1' which is slightly misleading.
26576         Change the name of the cache variable to have the gl_ prefix.
26577         Prompted by a patch from Richard Dawe for DJGPP.
26578
26579 2003-05-24  Karl Berry  <karl@gnu.org>
26580
26581         * config/config.guess: update from prep.
26582
26583 2003-05-22  Karl Berry  <karl@gnu.org>
26584
26585         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
26586
26587 2003-05-20  Karl Berry  <karl@gnu.org>
26588
26589         * config/config.guess: update from prep.
26590
26591 2003-05-18  Karl Berry  <karl@gnu.org>
26592
26593         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
26594         might actually be set by the user.
26595
26596         * config/depcomp, install-sh, mdate-sh: update from automake.
26597
26598 2003-05-17  Bruno Haible  <bruno@clisp.org>
26599
26600         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
26601         invalid expansion for AC_EGREP_CPP.
26602         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
26603         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
26604         Suggested by Akim Demaille <akim@epita.fr> in
26605         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
26606
26607 2003-05-12  Jim Meyering  <jim@meyering.net>
26608
26609         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
26610         the space-padded-by-default conversion specifiers, %e, %k, %l.
26611
26612 2003-05-12  Bruno Haible  <bruno@clisp.org>
26613
26614         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
26615         the string is longer than 4 KB.
26616
26617 2003-05-11  Karl Berry  <karl@gnu.org>
26618
26619         * config/config.{guess,sub}: update from prep.
26620
26621 2003-05-09  Bruno Haible  <bruno@clisp.org>
26622
26623         * modules/error: Add m4/strerror_r.m4 to file list.
26624
26625 2003-05-03  Bruno Haible  <bruno@clisp.org>
26626
26627         Upgrade to Unicode-4.0.
26628         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
26629         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
26630         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
26631         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
26632         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
26633         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
26634         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
26635         Change width of U+E0100..U+E01EF from 1 to 0.
26636
26637 2003-04-25  Jim Meyering  <jim@meyering.net>
26638
26639         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
26640         of type size_t, not int.
26641
26642 2003-04-25  Bruno Haible  <bruno@clisp.org>
26643
26644         * lib/copy-file.c: Include <stddef.h>, for size_t.
26645
26646 2003-04-21  Paul Eggert  <eggert@twinsun.com>
26647
26648         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
26649         code which expansion is under static control.  Patch imported from
26650         Akim Demaille's patch to Bison; see
26651         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
26652
26653 2003-04-14  Bruno Haible  <bruno@clisp.org>
26654
26655         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
26656
26657 2003-04-11  Jim Meyering  <jim@meyering.net>
26658
26659         Merge changes from Coreutils.
26660
26661         2003-03-22  Jim Meyering  <jim@meyering.net>
26662
26663         * lib/strftime.c (widen): Cast alloca return value to proper type.
26664
26665         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
26666
26667         From GNU libc.
26668         * lib/strftime.c (my_strftime): Handle very large width
26669         specifications for numeric values correctly.  Improve checks for
26670         overflow.
26671
26672         2003-01-19  Jim Meyering  <jim@meyering.net>
26673
26674         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
26675         definitions.
26676         (nl_get_alt_digit) [! defined my_strftime]: Define.
26677         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
26678         _nl_get_alt_digit and _nl_get_walt_digit.
26679
26680         * lib/strftime.c (my_strftime): Merge in locale-related changes from
26681         libc. These changes have no effect outside of _LIBC.
26682
26683 2003-04-10  Bruno Haible  <bruno@clisp.org>
26684
26685         * modules/findprog: New file.
26686         * MODULES.html.sh (func_all_modules): Add it.
26687
26688 2003-04-10  Bruno Haible  <bruno@clisp.org>
26689
26690         * m4/findprog.m4: New file.
26691         * m4/eaccess.m4: New file.
26692
26693 2003-04-10  Bruno Haible  <bruno@clisp.org>
26694
26695         * lib/findprog.h: New file, from GNU gettext.
26696         * lib/findprog.c: New file, from GNU gettext.
26697
26698 2003-04-05  Jim Meyering  <jim@meyering.net>
26699
26700         Merge changes from Coreutils.
26701
26702         * lib/exclude.h (PARAMS): Remove definition and uses.
26703         * lib/exclude.c: Remove uses of `PARAMS'.
26704
26705         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
26706         Add test-cases for DOS filenames. Declare program_name.
26707         (main): Set up program_name.  Patch by Rich Dawe.
26708
26709         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
26710         error from mntctl.
26711         Use mntctl's return value to drive the entry-processing loop, since
26712         we can't rely on the value of the vmt_length member in the last
26713         entry.  On some systems doing so could result in exhausting
26714         virtual memory.  Based in part on a patch from Mike Jetzer.
26715
26716 2003-04-04  Bruno Haible  <bruno@clisp.org>
26717
26718         * modules/linebreak: New file.
26719         * MODULES.html.sh (func_all_modules): Add it.
26720
26721 2003-04-04  Bruno Haible  <bruno@clisp.org>
26722
26723         * m4/linebreak.m4: New file.
26724
26725 2003-04-04  Bruno Haible  <bruno@clisp.org>
26726
26727         * lib/linebreak.h: New file, from GNU gettext.
26728         * lib/linebreak.c: New file, from GNU gettext with slight
26729         modifications.
26730         * lib/lbrkprop.h: New file, from GNU gettext.
26731
26732 2003-04-03  Bruno Haible  <bruno@clisp.org>
26733
26734         * modules/utf8-ucs4: New file.
26735         * modules/utf16-ucs4: New file.
26736         * modules/ucs4-utf8: New file.
26737         * modules/ucs4-utf16: New file.
26738         * MODULES.html.sh (func_all_modules): Add them.
26739
26740 2003-04-03  Bruno Haible  <bruno@clisp.org>
26741
26742         * m4/utf-ucs4.m4: New file.
26743         * m4/ucs4-utf.m4: New file.
26744
26745 2003-04-03  Bruno Haible  <bruno@clisp.org>
26746
26747         * lib/utf8-ucs4.h: New file, from GNU gettext.
26748         * lib/utf16-ucs4.h: New file, from GNU gettext.
26749         * lib/ucs4-utf8.h: New file, from GNU gettext.
26750         * lib/ucs4-utf16.h: New file, from GNU gettext.
26751
26752 2003-04-02  Bruno Haible  <bruno@clisp.org>
26753
26754         * modules/binary-io: New file.
26755         * MODULES.html.sh (func_all_modules): Add it.
26756
26757 2003-04-02  Bruno Haible  <bruno@clisp.org>
26758
26759         * lib/binary-io.h: New file, from GNU gettext.
26760
26761 2003-04-01  Bruno Haible  <bruno@clisp.org>
26762
26763         * modules/pathname: New file.
26764         * MODULES.html.sh (func_all_modules): Add it.
26765
26766 2003-04-01  Bruno Haible  <bruno@clisp.org>
26767
26768         * lib/pathname.h: New file, from GNU gettext.
26769         * lib/concatpath.c: New file, from GNU gettext.
26770
26771 2003-03-30  Bruno Haible  <bruno@clisp.org>
26772
26773         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
26774
26775 2003-03-30  Bruno Haible  <bruno@clisp.org>
26776
26777         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
26778         function chown() doesn't exist.
26779
26780 2003-03-28  Bruno Haible  <bruno@clisp.org>
26781
26782         * modules/copy-file: New file.
26783         * MODULES.html.sh (func_all_modules): Add it.
26784
26785 2003-03-28  Bruno Haible  <bruno@clisp.org>
26786
26787         * m4/copy-file.m4: New file.
26788
26789 2003-03-28  Bruno Haible  <bruno@clisp.org>
26790
26791         * lib/copy-file.h: New file, from GNU gettext.
26792         * lib/copy-file.c: New file, from GNU gettext.
26793
26794 2003-03-18  Jim Meyering  <jim@meyering.net>
26795
26796         * lib/quote.c (quote_n): Fix typo in comment.
26797
26798 2003-03-18  Bruno Haible  <bruno@clisp.org>
26799
26800         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
26801         checking.
26802         * m4/onceonly_2_57.m4: Likewise.
26803
26804 2003-03-17  Bruno Haible  <bruno@clisp.org>
26805
26806         * m4/onceonly.m4: Require autoconf 2.54 or newer.
26807         (m4_quote): Remove macro.
26808         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
26809
26810 2003-03-14  Jim Meyering  <jim@meyering.net>
26811
26812         Merge changes from Coreutils.
26813         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
26814         to be const, in order to avoid warnings.
26815         (obstack_room): Likewise.
26816         (obstack_empty_p): Likewise.
26817
26818 2003-03-14  Bruno Haible  <bruno@clisp.org>
26819
26820         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
26821         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
26822
26823 2003-03-13  Paul Eggert  <eggert@twinsun.com>
26824
26825         Merge changes from Bison.
26826         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
26827         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
26828         when compiling Bison 1.875's `bitset bset = obstack_alloc
26829         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
26830         * lib/hash.c: Include <stdbool.h> unconditionally.
26831
26832 2003-03-13  Paul Eggert  <eggert@twinsun.com>
26833
26834         * m4/onceonly.m4 (m4_quote): New macro.
26835         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
26836         Quote AC_FOREACH variable-expansions properly.
26837
26838 2003-03-13  Paul Eggert  <eggert@twinsun.com>
26839
26840         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
26841
26842 2003-03-09  Paul Eggert  <eggert@twinsun.com>
26843
26844         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
26845         Reported by Bruce Becker; see:
26846         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
26847
26848 2003-03-03  Paul Eggert  <eggert@twinsun.com>
26849             Bruno Haible  <bruno@clisp.org>
26850
26851         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
26852         Reported by John Hughes, see
26853         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
26854
26855 2003-02-20  Bruno Haible  <bruno@clisp.org>
26856
26857         * MODULES.html.sh (func_all_modules): Add poll.
26858
26859 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
26860
26861         * modules/poll: New file.
26862
26863 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
26864
26865         * lib/poll_.h: New file.
26866         * lib/poll.c: New file.
26867
26868 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
26869
26870         * m4/poll.m4: New file.
26871
26872 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
26873
26874         * modules/mathl: New file.
26875
26876 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
26877
26878         * lib/mathl.h: New file.
26879         * lib/acosl.c: New file.
26880         * lib/asinl.c: New file.
26881         * lib/atanl.c: New file.
26882         * lib/ceill.c: New file.
26883         * lib/cosl.c: New file.
26884         * lib/expl.c: New file.
26885         * lib/floorl.c: New file.
26886         * lib/frexpl.c: New file.
26887         * lib/ldexpl.c: New file.
26888         * lib/logl.c: New file.
26889         * lib/sincosl.c: New file.
26890         * lib/sinl.c: New file.
26891         * lib/sqrtl.c: New file.
26892         * lib/tanl.c: New file.
26893         * lib/trigl.c: New file.
26894         * lib/trigl.h: New file.
26895
26896 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
26897
26898         * m4/mathl.m4: New file.
26899
26900 2003-02-18  Bruno Haible  <bruno@clisp.org>
26901
26902         * MODULES.html.sh (func_all_modules): Add mathl.
26903
26904 2003-02-17  Bruno Haible  <bruno@clisp.org>
26905
26906         * modules/mkdtemp: New module.
26907         * MODULES.html.sh (func_all_modules): Add it.
26908
26909 2003-02-17  Bruno Haible  <bruno@clisp.org>
26910
26911         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
26912
26913 2003-02-17  Bruno Haible  <bruno@clisp.org>
26914
26915         * lib/mkdtemp.h: New file, from GNU gettext.
26916         * lib/mkdtemp.c: New file, from GNU gettext.
26917
26918 2003-02-02  Jim Meyering  <jim@meyering.net>
26919
26920         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
26921         e.g. glibc-2.2.93.
26922
26923 2003-01-31  Bruno Haible  <bruno@clisp.org>
26924
26925         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
26926         'rpl_rename'.
26927         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
26928         'rpl_strnlen'.
26929         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
26930         'rpl_strtod'.
26931         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
26932         'rpl_utime'.
26933
26934 2003-01-31  Bruno Haible  <bruno@clisp.org>
26935
26936         * lib/rename.c: #undef rename before defining rpl_rename.
26937         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
26938
26939 2003-01-30  Bruno Haible  <bruno@clisp.org>
26940
26941         * modules/vasnprintf, modules/vasprintf: New modules.
26942         * MODULES.html.sh (func_all_modules): Add them.
26943
26944 2003-01-30  Bruno Haible  <bruno@clisp.org>
26945
26946         * m4/signed.m4: New file, from GNU gettext.
26947         * m4/longdouble.m4: New file, from GNU gettext.
26948         * m4/wchar_t.m4: New file, from GNU gettext.
26949         * m4/wint_t.m4: New file, from GNU gettext.
26950         * m4/vasnprintf.m4: New file.
26951         * m4/vasprintf.m4: New file.
26952
26953 2003-01-30  Bruno Haible  <bruno@clisp.org>
26954
26955         * lib/printf-args.h: New file, from GNU gettext.
26956         * lib/printf-args.c: New file, from GNU gettext.
26957         * lib/printf-parse.h: New file, from GNU gettext.
26958         * lib/printf-parse.c: New file, from GNU gettext.
26959         * lib/vasnprintf.h: New file, from GNU gettext.
26960         * lib/vasnprintf.c: New file, from GNU gettext.
26961         * lib/asnprintf.c: New file, from GNU gettext.
26962         * lib/vasprintf.h: New file, from GNU gettext with modifications.
26963         * lib/vasprintf.c: New file, from GNU gettext.
26964         * lib/asprintf.c: New file, from GNU gettext.
26965
26966 2003-01-29  Bruno Haible  <bruno@clisp.org>
26967
26968         * modules/stpncpy: New module.
26969         * MODULES.html.sh (func_all_modules): Add it.
26970
26971 2003-01-29  Bruno Haible  <bruno@clisp.org>
26972
26973         * m4/stpncpy.m4: New file.
26974
26975 2003-01-29  Bruno Haible  <bruno@clisp.org>
26976
26977         * lib/stpncpy.h: New file, from GNU gettext with modifications.
26978         * lib/stpncpy.c: New file, from GNU gettext with modifications.
26979
26980 2003-01-28  Bruno Haible  <bruno@clisp.org>
26981
26982         * modules/c-ctype: New module.
26983         * MODULES.html.sh (func_all_modules): Add it.
26984
26985 2003-01-28  Bruno Haible  <bruno@clisp.org>
26986
26987         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
26988         Paul Eggert.
26989         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
26990         Paul Eggert.
26991
26992 2003-01-27  Bruno Haible  <bruno@clisp.org>
26993
26994         * modules/xsetenv: New module.
26995         * MODULES.html.sh (func_all_modules): Add it.
26996
26997 2003-01-27  Bruno Haible  <bruno@clisp.org>
26998
26999         * lib/xsetenv.h: New file, from GNU gettext.
27000         * lib/xsetenv.c: New file, from GNU gettext.
27001
27002 2003-01-23  Jim Meyering  <jim@meyering.net>
27003
27004         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
27005         from working on systems without dirfd (at least Irix and OSF1/Tru64).
27006
27007 2003-01-23  Bruno Haible  <bruno@clisp.org>
27008
27009         * modules/minmax: New module.
27010         * MODULES.html.sh (func_all_modules): Add it.
27011
27012 2003-01-23  Bruno Haible  <bruno@clisp.org>
27013
27014         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
27015         Eggert.
27016
27017 2003-01-22  Bruno Haible  <bruno@clisp.org>
27018
27019         * modules/exit: New module.
27020         * MODULES.html.sh (func_all_modules): Add it.
27021
27022 2003-01-22  Bruno Haible  <bruno@clisp.org>
27023
27024         * lib/exit.h: New file, from GNU gettext.
27025
27026 2003-01-19  Bruno Haible  <bruno@clisp.org>
27027
27028         * gnulib-tool: Recognize option --extract-maintainer.
27029         (func_get_maintainer): New function.
27030         * modules/*: Add Maintainer entry.
27031
27032 2003-01-16  Jim Meyering  <jim@meyering.net>
27033
27034         * m4/regex.m4: The `regex' struct is both input and output.
27035         Initialize it before each use.  Patch by Tim Waugh.
27036
27037 2003-01-16  Bruno Haible  <bruno@clisp.org>
27038
27039         * MODULES.html.sh: Add a table of contents. Add the module name as
27040         leftmost column. Add hyperlinks.
27041
27042 2003-01-15  Bruno Haible  <bruno@clisp.org>
27043
27044         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
27045
27046 2003-01-15  Bruno Haible  <bruno@clisp.org>
27047
27048         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
27049         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
27050         suffix.
27051
27052 2003-01-15  Bruno Haible  <bruno@clisp.org>
27053
27054         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
27055
27056 2003-01-15  Bruno Haible  <bruno@clisp.org>
27057
27058         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
27059         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
27060
27061 2003-01-14  Jim Meyering  <jim@meyering.net>
27062
27063         * lib/same.c (same_name): Tweak a comment.
27064
27065 2003-01-14  Bruno Haible  <bruno@clisp.org>
27066
27067         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
27068         when a string comparison is sufficient.
27069
27070 2003-01-14  Bruno Haible  <bruno@clisp.org>
27071
27072         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
27073         'unsigned int'.
27074
27075 2003-01-14  Bruno Haible  <bruno@clisp.org>
27076
27077         * lib/hash-pjw.c: Add comment about low quality of this function.
27078
27079 2003-01-13  Bruno Haible  <bruno@clisp.org>
27080
27081         * modules/stpcpy: Distribute lib/stpcpy.h.
27082         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
27083
27084 2003-01-13  Bruno Haible  <bruno@clisp.org>
27085
27086         * modules/*: Add a description.
27087         * modules/strpbrk: Fix Makefile.am snippet.
27088         * modules/strtoimax: Fix dependencies.
27089         * modules/strtoumax: Likewise.
27090
27091 2003-01-13  Bruno Haible  <bruno@clisp.org>
27092
27093         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
27094         * modules/alloca (Makefile.am): All object files depend on alloca.h.
27095         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
27096
27097 2003-01-13  Bruno Haible  <bruno@clisp.org>
27098
27099         * gnulib-tool (func_create_testdir): Store config/* files in the main
27100         directory.
27101         * config.rpath: Move to ...
27102         * config/config.rpath: ... here.
27103         * modules/gettext: Contains config/config.rpath, not config.rpath.
27104         * modules/iconv: Likewise.
27105
27106 2003-01-12  Paul Eggert  <eggert@twinsun.com>
27107
27108         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
27109         to avoid collisions with libcurses and libreadline.
27110
27111         * m4/getstr.m4: Remove.
27112         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
27113
27114 2003-01-12  Paul Eggert  <eggert@twinsun.com>
27115
27116         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
27117         to avoid collisions with libcurses and libreadline.
27118
27119         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
27120         * lib/getstr.h, getstr.c: Remove.
27121         * lib/getline.c: Include "getline.h", to check interface.
27122         Move body of old getstr.c here: this defines MIN_CHUNK and
27123         declares getdelim2, which is renamed from getstr.
27124         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
27125
27126         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
27127         All uses changed.
27128         * lib/linebuffer.h: Likewise.
27129         (readline): Remove backward-compatibility macro.
27130
27131 2003-01-12  Paul Eggert  <eggert@twinsun.com>
27132
27133         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
27134         to avoid collisions with libcurses and libreadline.
27135         * getstr: Remove.
27136         * MODULES.html.sh: Remove getstr.
27137         * modules/getline: Depend on unlocked-io, not getstr.
27138
27139 2003-01-12  Jim Meyering  <jim@meyering.net>
27140
27141         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
27142
27143 2003-01-10  Bruno Haible  <bruno@clisp.org>
27144
27145         * modules/alloca: Change Makefile.am requirements. Simplify Include
27146         requirements. Add lib/alloca_.h to file list.
27147
27148 2003-01-10  Bruno Haible  <bruno@clisp.org>
27149
27150         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
27151
27152 2003-01-10  Bruno Haible  <bruno@clisp.org>
27153
27154         * lib/alloca_.h: New file.
27155         * lib/getdate.y: Unconditionally include alloca.h.
27156         * lib/makepath.c: Likewise.
27157         * lib/setenv.c: Likewise.
27158         * lib/userspec.c: Likewise.
27159
27160 2003-01-09  Karl Berry  <karl@gnu.org>
27161
27162         * MODULES.html.sh: include `dirname $0` in PATH, to find
27163         gnulib-tool.
27164
27165 2003-01-09  Bruno Haible  <bruno@clisp.org>
27166
27167         * modules/stdbool: Change configure.ac, Makefile.am requirements.
27168         Simplify Include requirements. Add lib/stdbool.h.in to file list.
27169
27170 2003-01-09  Bruno Haible  <bruno@clisp.org>
27171
27172         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
27173
27174 2003-01-09  Bruno Haible  <bruno@clisp.org>
27175
27176         * lib/stdbool.h.in: New file.
27177
27178 2003-01-09  Bruno Haible  <bruno@clisp.org>
27179
27180         * gnulib-tool (func_all_modules): Ignore files ending in ~.
27181         * MODULES.html.sh: Likewise.
27182
27183 2003-01-08  Jim Meyering  <jim@meyering.net>
27184
27185         * lib/full-write.c: Undefine and define-away `const' after inclusion
27186         of errno.h, not before.  Suggestion from Bruno Haible.
27187
27188 2003-01-08  Bruno Haible  <bruno@clisp.org>
27189
27190         * modules/full-read: Depend on full-write.
27191
27192 2003-01-08  Bruno Haible  <bruno@clisp.org>
27193
27194         * lib/safe-read.c: Include specification header first, to ensure its
27195         selfcontainedness.
27196         * lib/full-write.c: Likewise.
27197
27198 2003-01-07  Jim Meyering  <jim@meyering.net>
27199
27200         * lib/full-write.c: Rework so that it may serve to define full_read,
27201         too.
27202         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
27203
27204 2003-01-07  Bruno Haible  <bruno@clisp.org>
27205
27206         * lib/strtoimax.c: Include <stdint.h> as an alternative to
27207         <inttypes.h>.
27208         * lib/xstrtol.h: Likewise.
27209         * lib/xstrtoimax.c: Likewise.
27210         * lib/xstrtoumax.c: Likewise.
27211         * lib/human.h: Likewise.
27212
27213         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
27214         on systems that have <inttypes.h> but not <stdint.h>.
27215
27216 2003-01-07  Bruno Haible  <bruno@clisp.org>
27217
27218         * MODULES.html.sh: Add copyright notice.
27219         (missed_files): Omit CVS directory entries.
27220         (func_module): Make it work with sed-3.02.
27221         * MODULES.txt: Remove file.
27222
27223 2003-01-06  Jim Meyering  <jim@meyering.net>
27224
27225         * lib/version-etc.c: Update year in translatable copyright string.
27226
27227 2003-01-03  Karl Berry  <karl@gnu.org>
27228
27229         * config/config.{guess,sub}: update from prep.
27230
27231 2003-01-02  Karl Berry  <karl@gnu.org>
27232
27233         * doc/COPYING.DOC: belatedly updated to 1.2.
27234
27235 2003-01-01  Karl Berry  <karl@gnu.org>
27236
27237         * gnulib-tool (func_verify_module): report module name $module in
27238         error message, not $1.
27239         * gnulib-tool (create-testdir): don't complain if destdir couldn't
27240         be created, only if it doesn't exist.
27241         * gnulib-tool (last_checkin_date): don't expand the $Date here.
27242
27243 2002-12-31  Paul Eggert  <eggert@twinsun.com>
27244
27245         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
27246
27247 2002-12-31  Paul Eggert  <eggert@twinsun.com>
27248
27249         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
27250         memcmp if strcoll doesn't work.
27251
27252 2002-12-31  Bruno Haible  <bruno@clisp.org>
27253
27254         * lib/utime.c (utime_null): No need to call ftruncate if the file was
27255         nonempty.
27256
27257 2002-12-31  Bruno Haible  <bruno@clisp.org>
27258
27259         * lib/memcoll.c (STRCOLL): New macro.
27260         (memcoll): Use it.
27261
27262 2002-12-31  Bruno Haible  <bruno@clisp.org>
27263
27264         * lib/localcharset.h: New file.
27265         * lib/localcharset.c: Include it.
27266         * lib/unicodeio.c: Likewise.
27267
27268 2002-12-31  Bruno Haible  <bruno@clisp.org>
27269
27270         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
27271         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
27272
27273 2002-12-31  Bruno Haible  <bruno@clisp.org>
27274
27275         * lib/getline.h: Include <stddef.h>, for size_t.
27276
27277         * lib/unicodeio.h: Include <stddef.h>, for size_t.
27278         * lib/unicodeio.c: Don't include <stddef.h>.
27279
27280 2002-12-31  Bruno Haible  <bruno@clisp.org>
27281
27282         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
27283         HAVE_TM_ZONE.
27284
27285 2002-12-24  Karl Berry  <karl@gnu.org>
27286
27287         * config/config.guess: update from prep.
27288
27289 2002-12-24  Bruno Haible  <bruno@clisp.org>
27290
27291         General infrasructure.
27292         * m4/README: Rewritten.
27293         * m4/onceonly.m4: New file.
27294         * m4/onceonly_2_57.m4: New file.
27295
27296         Module atexit.
27297         * m4/atexit.m4: New file.
27298
27299         Module strtod.
27300         * m4/strtod.m4: New file.
27301
27302         Module strtol.
27303         * m4/strtol.m4: New file.
27304
27305         Module strtoul.
27306         * m4/strtoul.m4: New file.
27307
27308         Module memchr.
27309         * m4/memchr.m4: New file.
27310
27311         Module memcmp.
27312         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
27313         (jm_FUNC_MEMCMP): Invoke it.
27314
27315         Module memcpy.
27316         * m4/memcpy.m4: New file.
27317
27318         Module memmove.
27319         * m4/memmove.m4: New file.
27320
27321         Module memset.
27322         * m4/memset.m4: New file.
27323
27324         Module strcspn.
27325         * m4/strcspn.m4: New file.
27326
27327         Module strpbrk.
27328         * m4/strpbrk.m4: New file.
27329
27330         Module strstr.
27331         * m4/strstr.m4: New file.
27332
27333         Module strerror.
27334         * m4/strerror.m4: New file.
27335
27336         Module mktime.
27337         * m4/mktime.m4: Renamed from jm-mktime.m4.
27338         (gl_PREREQ_MKTIME): New macro.
27339         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
27340
27341         Module malloc.
27342         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
27343         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
27344         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
27345
27346         Module realloc.
27347         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
27348         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
27349         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
27350
27351         Module strftime.
27352         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
27353         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
27354         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
27355         gl_TM_GMTOFF.
27356         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
27357
27358         Module xalloc.
27359         * m4/xalloc.m4: New file.
27360
27361         Module alloca.
27362         * m4/alloca.m4: New file.
27363
27364         Module putenv.
27365         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
27366         (jm_FUNC_PUTENV): Invoke it.
27367
27368         Module setenv.
27369         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
27370         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
27371         when invoked twice.
27372         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
27373         gt_FUNC_SETENV.
27374
27375         Module memrchr.
27376         * m4/memrchr.m4: New file.
27377
27378         Module stpcpy.
27379         * m4/stpcpy.m4: New file.
27380
27381         Module strcase.
27382         * m4/strcase.m4: New file.
27383
27384         Module strdup.
27385         * m4/strdup.m4: New file.
27386
27387         Module strnlen.
27388         * m4/strnlen.m4: New file.
27389
27390         Module strndup.
27391         * m4/strndup.m4: New file.
27392
27393         Module xstrtod.
27394         * m4/xstrtod.m4: New file.
27395
27396         Module xstrtol.
27397         * m4/xstrtol.m4: New file.
27398
27399         Module getdate.
27400         * m4/getdate.m4: New file.
27401
27402         Module unlocked-io.
27403         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
27404         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
27405         * m4/jm-glibc-io.m4n: Remove file.
27406
27407         Module long-options.
27408         * m4/long-options.m4: New file.
27409
27410         Module md5.
27411         * m4/md5.m4: New file.
27412
27413         Module sha.
27414         * m4/sha.m4: New file.
27415
27416         Module getstr.
27417         * m4/getstr.m4: New file.
27418
27419         Module getline.
27420         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
27421         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
27422         <sys/types.h>, for size_t. Use the function name gnu_getline, not
27423         simply getline. Infoke gl_PREREQ_GETLINE.
27424
27425         Module obstack.
27426         * m4/obstack.m4: New file.
27427
27428         Module hash.
27429         * m4/hash.m4: New file.
27430
27431         Module readtokens.
27432         * m4/readtokens.m4: New file.
27433
27434         Module strverscmp.
27435         * m4/strverscmp.m4: New file.
27436
27437         Module stdbool.
27438         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
27439         OSF/1.
27440
27441         Module strtoll.
27442         * m4/strtoll.m4: New file.
27443
27444         Module strtoull.
27445         * m4/strtoull.m4: New file.
27446
27447         Module strtoimax.
27448         * m4/strtoimax.m4: New file.
27449
27450         Module strtoumax.
27451         * m4/strtoumax.m4: New file.
27452
27453         Module xstrtoimax.
27454         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
27455         jm_AC_PREREQ_XSTRTOIMAX.
27456         Moved the strtol prerequisites to strtol.m4.
27457         Moved the strtoll prerequisites to strtoll.m4.
27458         Moved the strtoimax prerequisites to strtoimax.m4.
27459
27460         Module xstrtoumax.
27461         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
27462         jm_AC_PREREQ_XSTRTOUMAX.
27463         Moved the strtoul prerequisites to strtoul.m4.
27464         Moved the strtoull prerequisites to strtoull.m4.
27465         Moved the strtoumax prerequisites to strtoumax.m4.
27466
27467         Module chown.
27468         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
27469         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
27470
27471         Module dup2.
27472         * m4/dup2.m4: New file.
27473
27474         Module ftruncate.
27475         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
27476         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
27477
27478         Module getgroups.
27479         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
27480         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
27481
27482         Module gettimeofday.
27483         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
27484         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
27485         gl_PREREQ_GETTIMEOFDAY.
27486
27487         Module mkdir.
27488         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
27489         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
27490
27491         Module mkstemp.
27492         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
27493         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
27494         jm_AC_TYPE_UINTMAX_T.
27495         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
27496
27497         Module stat.
27498         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
27499         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
27500
27501         Module lstat.
27502         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
27503         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
27504
27505         Module timespec.
27506         * m4/timespec.m4 (gl_TIMESPEC): New macro.
27507         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
27508         * m4/st_mtim.m4: Indentation.
27509
27510         Module nanosleep.
27511         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
27512         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
27513         gl_PREREQ_NANOSLEEP.
27514
27515         Module regex.
27516         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
27517         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
27518         (gl_REGEX): New macro.
27519
27520         Module rename.
27521         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
27522         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
27523
27524         Module rmdir.
27525         * m4/rmdir.m4: New file.
27526
27527         Module utime.
27528         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
27529         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
27530         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
27531
27532         Module dirname.
27533         * m4/dirname.m4: New file.
27534
27535         Module getopt.
27536         * m4/getopt.m4: New file.
27537
27538         Module unistd-safer.
27539         * m4/unistd-safer.m4: New file.
27540
27541         Module fnmatch.
27542         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
27543         declaration.
27544         (gl_PREREQ_FNMATCH_EXTRA): New macro.
27545         (gl_FUNC_FNMATCH_POSIX): New macro.
27546         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
27547         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
27548         simply fnmatch.
27549
27550         Module exclude.
27551         * m4/exclude.m4: New file.
27552
27553         Module human.
27554         * m4/human.m4: New file.
27555
27556         Module acl.
27557         * m4/acl.m4: Nop.
27558
27559         Module backupfile.
27560         * m4/backupfile.m4: New file.
27561         * m4/d-ino.m4: Indentation.
27562
27563         Module fsusage.
27564         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
27565         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
27566         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
27567
27568         Module dirfd.
27569         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
27570         requirements.
27571
27572         Module euidaccess.
27573         * m4/euidaccess.m4: New file.
27574
27575         Module file-type.
27576         * m4/file-type.m4: New file.
27577
27578         Module fileblocks.
27579         * m4/fileblocks.m4: New file.
27580
27581         Module filemode.
27582         * m4/filemode.m4: New file.
27583
27584         Module isdir.
27585         * m4/isdir.m4: New file.
27586
27587         Module lchown.
27588         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
27589         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
27590
27591         Module makepath.
27592         * m4/makepath.m4: New file.
27593
27594         Module modechange.
27595         * m4/modechange.m4: New file.
27596
27597         Module mountlist.
27598         * m4/mountlist.m4: New file.
27599         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
27600         Indentation.
27601
27602         Module path-concat.
27603         * m4/path-concat.m4: New file.
27604
27605         Module pathmax.
27606         * m4/pathmax.m4: New file.
27607
27608         Module same.
27609         * m4/same.m4: New file.
27610
27611         Module save-cwd.
27612         * m4/save-cwd.m4: New file.
27613
27614         Module savedir.
27615         * m4/savedir.m4: New file.
27616
27617         Module xgetcwd.
27618         * m4/xgetcwd.m4: New file.
27619         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
27620
27621         Module xreadlink.
27622         * m4/xreadlink.m4: New file.
27623
27624         Module safe-read.
27625         * m4/safe-read.m4: New file.
27626
27627         Module safe-write.
27628         * m4/safe-write.m4: New file.
27629
27630         Module closeout.
27631         * m4/closeout.m4: New file.
27632
27633         Module stdio-safer.
27634         * m4/stdio-safer.m4: New file.
27635
27636         Module getpass.
27637         * m4/getpass.m4: New file.
27638
27639         Module getugroups.
27640         * m4/getugroups.m4: New file.
27641
27642         Module group-member.
27643         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
27644         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
27645
27646         Module idcache.
27647         * m4/idcache.m4: New file.
27648
27649         Module userspec.
27650         * m4/userspec.m4: New file.
27651
27652         Module gettime.
27653         * m4/clock_time.m4: New file.
27654         * m4/gettime.m4: New file.
27655
27656         Module settime.
27657         * m4/settime.m4: New file.
27658
27659         Module posixtm.
27660         * m4/posixtm.m4: New file.
27661
27662         Module gethostname.
27663         * m4/gethostname.m4: New file.
27664
27665         Module canon-host.
27666         * m4/canon-host.m4: New file.
27667
27668         Module gettext.
27669         * m4/codeset.m4: New file, from gettext-0.11.5.
27670         * m4/gettext.m4: New file, from gettext-0.11.5.
27671         * m4/glibc21.m4: New file, from gettext-0.11.5.
27672         * m4/iconv.m4: New file, from gettext-0.11.5.
27673         * m4/intdiv0.m4: New file, from gettext-0.11.5.
27674         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
27675         * m4/inttypes.m4: New file, from gettext-0.11.5.
27676         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
27677         * m4/isc-posix.m4: New file, from gettext-0.11.5.
27678         * m4/lcmessage.m4: New file, from gettext-0.11.5.
27679         * m4/lib-ld.m4: New file, from gettext-0.11.5.
27680         * m4/lib-link.m4: New file, from gettext-0.11.5.
27681         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
27682         * m4/progtest.m4: New file, from gettext-0.11.5.
27683         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
27684         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
27685         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
27686
27687         Module localcharset.
27688         * m4/localcharset.m4: New file.
27689
27690         Module hard-locale.
27691         * m4/hard-locale.m4: New file.
27692
27693         Module mbswidth.
27694         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
27695         onceonly macros.
27696         * m4/mbrtowc.m4: Add comment.
27697
27698         Module memcasecmp.
27699         * m4/memcasecmp.m4: New file.
27700
27701         Module memcoll.
27702         * m4/memcoll.m4: New file.
27703
27704         Module unicodeio.
27705         * m4/unicodeio.m4: New file.
27706
27707         Module rpmatch.
27708         * m4/rpmatch.m4: New file.
27709
27710         Module yesno.
27711         * m4/yesno.m4: New file.
27712
27713         Module exitfail.
27714         * m4/exitfail.m4: New file.
27715
27716         Module c-stack.
27717         * m4/c-stack.m4 (gl_C_STACK): New macro.
27718         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
27719
27720         Module error.
27721         * m4/error.m4 (gl_ERROR): New macro.
27722         (jm_PREREQ_ERROR): Use onceonly macros.
27723
27724         Module fatal.
27725         * m4/fatal.m4: New file.
27726
27727         Module getloadavg.
27728         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
27729         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
27730
27731         Module getpagesize.
27732         * m4/getpagesize.m4: New file.
27733
27734         Module getusershell.
27735         * m4/getusershell.m4: New file.
27736
27737         Module physmem.
27738         * m4/physmem.m4: New file.
27739
27740         Module posixver.
27741         * m4/posixver.m4: New file.
27742
27743         Module quotearg.
27744         * m4/quotearg.m4: New file.
27745
27746         Module quote.
27747         * m4/quote.m4: New file.
27748
27749         Module readutmp.
27750         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
27751
27752         Module sig2str.
27753         * m4/sig2str.m4: New file.
27754
27755         Other.
27756         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
27757         ulonglong.m4.
27758         * m4/intmax_t.m4: New file.
27759         * m4/d-type.m4: Indentation.
27760         * m4/jm-macros.m4: Update.
27761         * m4/prereq.m4 (jm_PREREQ): Update.
27762         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
27763         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
27764         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
27765         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
27766         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
27767         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
27768         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
27769         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
27770         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
27771         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
27772         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
27773         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
27774         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
27775         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
27776         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
27777         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
27778         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
27779         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
27780         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
27781
27782 2002-12-24  Bruno Haible  <bruno@clisp.org>
27783
27784         * MODULES.txt: Update according to m4/ changes.
27785
27786         Module gettext.
27787         * config.rpath: New file, from gettext-0.11.5.
27788
27789         * modules/*: New module descriptions.
27790         * gnulib-tool: New file.
27791         * MODULES.html.sh: New file.
27792
27793 2002-12-21  Karl Berry  <karl@gnu.org>
27794
27795         * doc/fdl.texi: update to version 1.2.
27796
27797 2002-12-19  Karl Berry  <karl@gnu.org>
27798
27799         * config/config.guess: update from prep.
27800
27801 2002-12-18  Bruno Haible  <bruno@clisp.org>
27802
27803         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
27804         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
27805
27806 2002-12-17  Bruno Haible  <bruno@clisp.org>
27807
27808         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
27809         stdlib.h, string.h.
27810
27811 2002-12-17  Bruno Haible  <bruno@clisp.org>
27812
27813         * lib/canon-host.c (strdup): Remove unused declaration.
27814
27815         * lib/fsusage.c: Include full_read.h.
27816         (get_fs_usage): Use full_read instead of safe_read.
27817
27818         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
27819
27820 2002-12-12  Karl Berry  <karl@gnu.org>
27821
27822         * config/config.guess: update from prep.
27823
27824 2002-12-11  Bruno Haible  <bruno@clisp.org>
27825
27826         * m4/setenv.m4: New file, from gettext-0.11.5.
27827
27828 2002-12-11  Bruno Haible  <bruno@clisp.org>
27829
27830         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
27831         not unsetenv().
27832         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
27833         modifications:
27834
27835         2002-12-11  Bruno Haible  <bruno@clisp.org>
27836
27837                 * setenv.c (alloca): Fall back to malloc.
27838                 (freea): New macro.
27839                 (setenv): Use freea() to free memory allocated with alloca().
27840
27841         2002-11-13  Bruno Haible  <bruno@clisp.org>
27842
27843                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
27844                 function declarations.
27845                 * unsetenv.c (unsetenv): Likewise.
27846
27847         2002-03-04  Bruno Haible  <bruno@clisp.org>
27848
27849                 Portability to AIX 4.3.3.
27850                 * unsetenv.c: New file, extracted from setenv.c.
27851                 * setenv.c: Move the unsetenv() function to unsetenv.c.
27852
27853         2001-12-20  Bruno Haible  <bruno@clisp.org>
27854
27855                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
27856                 use malloc instead. For SunOS 4.
27857
27858         2001-12-11  Bruno Haible  <bruno@clisp.org>
27859
27860                 * setenv.c: Declare alloca.
27861                 (compar_fn_t): New typedef.
27862                 (KNOWN_VALUE, STORE_VALUE): Use it.
27863
27864         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
27865         setenv.h.
27866
27867 2002-12-10  Paul Eggert  <eggert@twinsun.com>
27868
27869         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
27870         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
27871         Choose values that are less likely to collide with system fnmatch
27872         options.
27873         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
27874         defined (e.g., a pure POSIX system).
27875         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
27876         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
27877
27878 2002-12-06  Paul Eggert  <eggert@twinsun.com>
27879
27880         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
27881         a pain in practice to deal with generated m4 files.  This change
27882         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
27883
27884         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
27885         and jm-glibc-io.m4, as they are no longer a special case.
27886         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
27887         kludge and the auto-generation stuff.  Check only whether the
27888         functions are declared, not whether they exist, since older hosts
27889         that don't declare the functions can't use the optimization anyway.
27890
27891 2002-12-06  Jim Meyering  <jim@meyering.net>
27892
27893         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
27894
27895         Merge in changes from libc's misc/error.c, in preparation
27896         for the merge of gnulib's changes back into libc.
27897
27898         * lib/error.c (_): Define only if not already defined.
27899         Move definition to follow all #include directives.
27900         Include unlocked-io.h only if !_LIBC.
27901         [_LIBC]: Include <libio/libioP.h>.
27902         [USE_IN_LIBIO]: Include <libio/iolibio.h>
27903         (fflush): Tweak definition to use INTUSE.
27904         (putc): Define.
27905
27906 2002-12-05  Paul Eggert  <eggert@twinsun.com>
27907
27908         * lib/alloca.c [defined emacs]: Include "lisp.h".
27909         (xalloc_die) [defined emacs]: New macro.
27910         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
27911         [! defined emacs]: Include <xalloc.h>.
27912         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
27913         (pointer): Typedef to POINTER_TYPE *.
27914         (malloc): Remove decl; we now always use xmalloc.
27915         (alloca): Use old-style definition, since Emacs needs this.
27916         Check for arithmetic overflow when computing combined size.
27917
27918 2002-12-04  Paul Eggert  <eggert@twinsun.com>
27919
27920         Do not generate unlocked-io.h automatically, since it's easier to
27921         maintain it by hand.
27922
27923         * lib/unlocked-io.h: New file, from GNU diffutils,
27924         but with proper copyright notice and attribution.
27925         * lib/gen-uio: Remove.
27926         * lib/Makefile.am: Add copyright notice.
27927         (libfetish_a_SOURCES): Add unlocked-io.h.
27928         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
27929         (DISTCLEANFILES, io_functions): Remove macros.
27930         (EXTRA_DIST): Remove gen_uio.
27931         (unlocked-io.h): Remove rule.
27932
27933 2002-12-04  Jim Meyering  <jim@meyering.net>
27934
27935         Reflect the fact that stat.c and lstat.c are no longer generated.
27936         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
27937         (DISTCLEANFILES): Likewise.
27938         (EXTRA_DIST): Likewise.
27939         (all_local): Don't depend on stat.c or lstat.c.
27940         (stat.c, lstat.c): Remove rules.
27941         (EXTRA_DIST): Remove xstat.in.
27942
27943         * lib/xstat.in: Remove file.  Contents moved into stat.c.
27944         * lib/stat.c: New file.  Contents mostly from xstat.in.
27945         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
27946         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
27947
27948         * lib/safe-read.c: Rework so that it may serve to define safe_write,
27949         too.
27950         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
27951
27952 2002-12-03  Jim Meyering  <jim@meyering.net>
27953
27954         * lib/safe-read.c, safe-write.c: Change variable names and comments,
27955         but not semantics, to minimize the differences between these two files.
27956         (safe_read): Change comment to mention SAFE_READ_ERROR.
27957
27958         * lib/safe-read.c (IS_EINTR): Define.
27959         (safe_read): Use IS_EINTR in place of in-function cpp directives.
27960
27961 2002-12-02  Jim Meyering  <jim@meyering.net>
27962
27963         * lib/safe-read.c (EINTR): Define.
27964         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
27965         (INT_MAX): Provide fallback.
27966         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
27967
27968         * lib/safe-read.h (SAFE_READ_ERROR): Define.
27969
27970 2002-12-02  Bruno Haible  <bruno@clisp.org>
27971
27972         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
27973         Define, taken from safe-read.c.
27974         (INT_MAX): Provide fallback.
27975         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
27976         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
27977
27978         * lib/safe-read.c (EINTR): Remove definition.
27979         (safe_read): Don't use EINTR if it is absent.
27980
27981 2002-12-01  Jim Meyering  <jim@meyering.net>
27982
27983         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
27984         zero.
27985         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
27986
27987 2002-11-27  Paul Eggert  <eggert@twinsun.com>
27988
27989         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
27990         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
27991         with `if (! (value < limit)) abort ();', for readability.
27992
27993 2002-11-26  Karl Berry  <karl@gnu.org>
27994
27995         * lib/strdup.c: copy from libc again, with jim's ok.
27996         * lib/.cppi-disable: re-add strdup.c
27997
27998 2002-11-25  Karl Berry  <karl@gnu.org>
27999
28000         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
28001         instead of "strtol.c".
28002
28003 2002-11-25  Karl Berry  <karl@gnu.org>
28004
28005         * config/install-sh: update from automake for variable quoting, $0 in
28006         error msgs, etc.
28007
28008         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
28009         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
28010         entry.
28011
28012 2002-11-25  Jim Meyering  <jim@meyering.net>
28013
28014         * lib/mktime.c: Sync from libc, now that it has the latest fix.
28015
28016 2002-11-24  Karl Berry  <karl@gnu.org>
28017
28018         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
28019         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
28020
28021 2002-11-24  Jim Meyering  <jim@meyering.net>
28022
28023         Update from coreutils:
28024
28025         * lib/mktime.c: Merge in changes from libc.
28026
28027         Avoid a link-time failure on some Linux systems.
28028         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
28029         (otherwise).
28030         (__mon_yday): Declare with the STATIC attribute.
28031         (__mktime_internal): Likewise.
28032         Based on a report from Greg Schafer.
28033
28034 2002-11-23  Jim Meyering  <jim@meyering.net>
28035
28036         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
28037         Use `unsigned', not `int', as type of index.
28038
28039         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
28040
28041         * lib/fsusage.c: Remove unneeded parentheses around operands of
28042         `defined'.
28043
28044 2002-11-22  Paul Eggert  <eggert@twinsun.com>
28045
28046         * lib/quotearg.h: Allow multiple inclusion by surrounding with
28047         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
28048         so that we can be included first.
28049         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
28050         * lib/quotearg.c: Include quotearg.h immediately after config.h.
28051         No need to include stddef.h or sys/types.h any more.
28052         Surround local include files with "", not "<>".
28053         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
28054         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
28055         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
28056         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
28057         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
28058         (ISPRINT): Remove; no longer needed now that we assume C89.
28059
28060         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
28061         Preserve errno.
28062
28063         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
28064         quotearg_char): Use SIZE_MAX rather than
28065         (size_t) -1 when we are talking about "infinity".
28066
28067         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
28068
28069 2002-11-22  Paul Eggert  <eggert@twinsun.com>
28070
28071         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
28072         hint that one should use `if (! x) abort ();' rather than `assert
28073         (x);', and anyway it's one less thing to worry about configuring.
28074         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
28075         hash_rehash, hash_insert): Use abort rather than assert.
28076
28077 2002-11-22  Bruno Haible  <bruno@clisp.org>
28078
28079         * lib/safe-read.h: Assume C89. Add comments.
28080         (safe_read): Change return type to size_t.
28081         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
28082         byte counts > SSIZE_MAX correctly.
28083         * lib/safe-write.h: New file.
28084         * lib/safe-write.c: New file.
28085         * lib/full-read.h: New file.
28086         * lib/full-read.c: New file.
28087         * lib/full-write.h: Assume C89. Add comments.
28088         * lib/full-write.c: Include safe-write.h.
28089         (full_write): Rewritten to use safe_write.
28090         Suggested by Jim Meyering and Paul Eggert.
28091
28092 2002-11-21  Jim Meyering  <jim@meyering.net>
28093
28094         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
28095
28096         Merge in changes from the coreutils.
28097
28098         2002-09-25  Paul Eggert  <eggert@twinsun.com>
28099         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
28100         <stdint.h>.
28101         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
28102         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
28103         int.  Work more efficiently if X is the same width as uintmax_t.
28104         Do not compare X to -1, to avoid bogus compiler warning.
28105         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
28106         Don't assume that f_frsize and f_bsize are the same type.
28107
28108         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
28109         warning on FreeBSD.
28110
28111         * lib/makepath.c (make_path): Restore umask *before* creating the final
28112         component.
28113         (make_path): Minor reformatting.
28114
28115         * lib/xmalloc.c: Adjust to work with new autoconf macros,
28116         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
28117         HAVE_MALLOC/HAVE_REALLOC.
28118
28119         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
28120         dummy ones.  At least on GNU/Linux systems, `auto' means something
28121         else.
28122         From Michael Stone.
28123
28124 2002-11-21  Bruno Haible  <bruno@clisp.org>
28125
28126         Remove case insensitive option matching.
28127         * lib/argmatch.h (argcasematch): Remove declaration.
28128         (ARGCASEMATCH): Remove macro.
28129         (__xargmatch_internal): Remove case_sensitive argument.
28130         (XARGMATCH): Update.
28131         (XARGCASEMATCH): Remove macro.
28132         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
28133         case_sensitive argument.
28134         (argcasematch): Remove function.
28135         (__xargmatch_internal): Remove case_sensitive argument.
28136         (main): Use XARGMATCH instead of XARGCASEMATCH.
28137
28138         * lib/xmalloc.c: Change compile-time error message. Add comment about
28139         required autoconf version.
28140
28141 2002-11-20  Paul Eggert  <eggert@twinsun.com>
28142
28143         Merge argmatch cleanups from Bison.  Assume C89.
28144
28145         * lib/argmatch.c: Include config.h here, not in argmatch.h.
28146         Include stdlib.h, for EXIT_FAILURE.
28147         Always include <string.h>, since we assume C89.
28148         (EXIT_FAILURE): Remove pre-C89 bug workaround.
28149         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
28150         Include <stddef.h> instead, since it's all we need for size_t.
28151         (PARAMS): Remove.  All uses removed.
28152         (ARRAY_CARDINALITY): Do not bother to #undef.
28153         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
28154         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
28155         Remove unnecessary parentheses.
28156         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
28157         Insert necessary parentheses.
28158         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
28159         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
28160
28161 2002-11-19  Bruno Haible  <bruno@clisp.org>
28162
28163         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
28164         * lib/mbswidth.h: Include <stddef.h>, for size_t.
28165
28166         * lib/mbswidth.h (PARAMS): Remove macro.
28167         (mbswidth, mbsnwidth): Use ANSI C function declarations.
28168         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
28169
28170         * lib/gcd.h (PARAMS): Remove macro.
28171         (gcd): Use ANSI C function declarations.
28172         * lib/gcd.c (gcd): Likewise.
28173
28174 2002-11-15  Bruno Haible  <bruno@clisp.org>
28175
28176         * lib/strcspn.c: Include <stddef.h>.
28177         (strcspn): Use ANSI C function declaration. Change return type to
28178         size_t. Use NULL.
28179         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
28180         (strpbrk): Use NULL.
28181         * lib/strpbrk.h (PARAMS): Remove macro.
28182         (strpbrk): Use ANSI C function declaration.
28183         * lib/strstr.c: Don't include <sys/types.h>.
28184         * lib/strstr.h (PARAMS): Remove macro.
28185         (strstr): Use ANSI C function declarations.
28186
28187 2002-11-14  Karl Berry  <karl@gnu.org>
28188
28189         * config/mkinstalldirs: `do' on separate line, instead of
28190         `for var; do'.
28191
28192 2002-11-06  Bruno Haible  <bruno@clisp.org>
28193
28194         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
28195         * lib/gcd.c (gcd): Likewise.
28196
28197 2002-11-05  Bruno Haible  <bruno@clisp.org>
28198
28199         * lib/gcd.h: New file, from gettext-0.11.5.
28200         * lib/gcd.c: New file, from gettext-0.11.5.
28201
28202 2002-11-05  Bruno Haible  <bruno@clisp.org>
28203
28204         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
28205         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
28206         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
28207         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
28208
28209         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
28210         <libintl.h>.
28211         * lib/makepath.c: Include gettext.h instead of <locale.h> and
28212         <libintl.h>.
28213
28214         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
28215         * lib/human.c: Include gettext.h instead of <libintl.h>.
28216         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
28217         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
28218         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
28219         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
28220         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
28221         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
28222         (textdomain): Remove definition.
28223         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
28224
28225         * lib/long-options.c: Remove include of <libintl.h> and definition of
28226         _.
28227         * lib/same.c: Remove include of <libintl.h> and definition of _.
28228
28229 2002-11-04  Owen Taylor  <otaylor@redhat.com>
28230
28231         * lib/config.charset: A few additions for Solaris.
28232
28233 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
28234
28235         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
28236         * lib/localcharset.c (locale_charset): Declare as extern "C".
28237
28238 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
28239
28240         * lib/config.charset: msdos in uk_UA uses CP1125.
28241
28242 2002-11-04  Bruno Haible  <bruno@clisp.org>
28243
28244         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
28245         * lib/strcase.h: New file, from GNU gettext-0.11.5.
28246         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
28247         * lib/strstr.h: New file, from GNU gettext-0.11.5.
28248         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
28249
28250 2002-11-04  Bruno Haible  <bruno@clisp.org>
28251
28252         * lib/localcharset.c (locale_charset): Don't return an empty string.
28253
28254 2002-11-04  Bruno Haible  <bruno@clisp.org>
28255
28256         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
28257         aliases.
28258
28259 2002-11-04  Bruno Haible  <bruno@clisp.org>
28260
28261         * lib/config.charset: Update for newest glibc. Add canonical names
28262         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
28263
28264 2002-11-04  Bruno Haible  <bruno@clisp.org>
28265
28266         * lib/config.charset: Add support for NetBSD.
28267
28268 2002-11-04  Bruno Haible  <bruno@clisp.org>
28269
28270         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
28271
28272 2002-11-01  Bruno Haible  <bruno@clisp.org>
28273
28274         * configure.in: Add AC_CONFIG_AUX_DIR call.
28275         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
28276         test/Makefile.
28277         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
28278
28279 2002-09-28  Karl Berry  <karl@gnu.org>
28280
28281         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
28282         installed automake until the next release, since changes have been
28283         made.
28284
28285 2002-09-25  Karl Berry  <karl@gnu.org>
28286
28287         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
28288         * lib/getopt*: copy from libc/posix.
28289         * lib/gettext.h: copy from gettext.
28290         * lib/.cppi-disable: add strdup.c, gettext.h.
28291
28292 2002-09-25  Karl Berry  <karl@gnu.org>
28293
28294         * config/srclist.txt: enable gettext.h check.
28295         * config/config.{guess,sub}: update from prep.
28296         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
28297                 from automake 1.6.3.
28298         See srclist*.
28299
28300 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
28301
28302         * regex.c (PATFETCH): Remove the translating fetch.
28303         (PATFETCH_RAW): Rename to PATFETCH.
28304         (set_image_of_range): New fun.
28305         (SET_RANGE_TABLE_WORK_AREA): Use it.
28306         (regex_compile): Don't translate the pattern chars so eagerly.
28307         Only do it when inserting an `exactn' bytecode or when handling
28308         a char-range.
28309         (mutually_exclusive_p): Avoid empty statement.
28310
28311 2002-07-06  Jim Meyering  <meyering@lucent.com>
28312
28313         * m4/README: Don't mention Makefile.am.in.
28314         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
28315
28316 2002-07-01  Jim Meyering  <meyering@lucent.com>
28317
28318         * lib/c-stack.c: Include sys/time.h.
28319         From Volker Borchert.
28320
28321 2002-06-26  Paul Eggert  <eggert@twinsun.com>
28322
28323         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
28324
28325 2002-06-26  Paul Eggert  <eggert@twinsun.com>
28326
28327         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
28328         New macro.  Use it uniformly instead of
28329         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
28330         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
28331         reported by Vin Shelton.
28332
28333 2002-06-22  Paul Eggert  <eggert@twinsun.com>
28334
28335         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
28336         Do not assume SA_SIGINFO behavior.
28337         Bug reported by Jim Meyering on NetBSD 1.5.2.
28338
28339 2002-06-22  Jim Meyering  <meyering@lucent.com>
28340
28341         * m4/c-stack.m4: New file, from diffutils-2.8.2.
28342         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
28343
28344         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
28345         now that configure.ac uses AC_GNU_SOURCE.
28346         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
28347         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
28348
28349         Update to latest tools.  Suggestions from Paul Eggert.
28350         * m4/stdbool.m4: New file, from diffutils-2.8.2.
28351         * m4/gnu-source.m4: Update from diffutils-2.8.2.
28352         * m4/fnmatch.m4: Likewise.
28353         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
28354         to AC_HEADER_STDBOOL
28355
28356 2002-06-22  Jim Meyering  <meyering@lucent.com>
28357
28358         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
28359         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
28360
28361 2002-06-22  Jim Meyering  <meyering@lucent.com>
28362
28363         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
28364
28365         * lib/exitfail.c, exitfail.h: Likewise.
28366         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
28367
28368         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
28369         of fnmatch.h.
28370         (EXTRA_DIST): Add fnmatch_loop.c.
28371         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
28372
28373         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
28374         * lib/fnmatch.c: Update from diffutils-2.8.2.
28375         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
28376         * lib/fnmatch.h: Remove file.
28377
28378 2002-06-21  Jim Meyering  <meyering@lucent.com>
28379
28380         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
28381         * m4/mbrtowc.m4: Likewise.
28382
28383         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
28384         * m4/mbswidth.m4: Reflect name change:
28385         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
28386         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
28387
28388         * m4/lib-link.m4: Update from gettext-0.11.2.
28389         * m4/gettext.m4: Likewise.
28390
28391         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
28392         From Alfred M. Szmidt.
28393
28394 2002-06-18  Paul Eggert  <eggert@twinsun.com>
28395
28396         * lib/file-type.h: Report an error if neither S_ISREG nor
28397         S_IFREG is defined, instead of using a test specific to glibc
28398         2.2.  This should be safe, since POSIX requires S_ISREG and
28399         Unix Version 7 had S_IFREG.  We don't need to check for
28400         <sys/types.h> since we don't use any symbols that it defines.
28401
28402 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
28403
28404         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
28405         $@-t, so that each temporary file name is unique and valid in the first
28406         8 characters, for operation under DOS.
28407
28408 2002-06-15  Paul Eggert  <eggert@twinsun.com>
28409
28410         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
28411
28412 2002-06-15  Jim Meyering  <meyering@lucent.com>
28413
28414         Work even with DJGPP 2.03, which lacks support for symlinks.
28415         From Richard Dawe.
28416         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
28417         is defined.
28418         * lib/lchown.c (S_ISLNK): Likewise.
28419
28420 2002-06-15  Jim Meyering  <meyering@lucent.com>
28421
28422         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
28423         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
28424         have been included before this file.
28425
28426 2002-06-14  Jim Meyering  <meyering@lucent.com>
28427
28428         * lib/file-type.h: Use the version from diffutils-2.8.2.
28429         * lib/file-type.c: Likewise.
28430
28431 2002-06-07  Jim Meyering  <meyering@lucent.com>
28432
28433         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
28434         They're needed at least for NetBSD 1.5.2.
28435         ($statxfs_includes): Include those same headers.
28436         ($statxfs_includes): Include sys/vfs.h if available.
28437         ($statxfs_includes): Likewise for sys/statvfs.h.
28438         Check for the following members in both structs statfs and statvfs:
28439         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
28440
28441 2002-06-01  Jim Meyering  <meyering@lucent.com>
28442
28443         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
28444         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
28445
28446 2002-05-28  Jim Meyering  <meyering@lucent.com>
28447
28448         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
28449         Reported by Volker Borchert.
28450
28451 2002-05-27  Jim Meyering  <meyering@lucent.com>
28452
28453         Fix a problem seen only on nonconforming systems whereby ls.c's
28454         use of localtime, and then of gettimeofday would cause trouble:
28455         the localtime call used to initialize rpl_gettimeofday's save
28456         mechanism would clobber ls's current local time information so
28457         that in any long listing the first file would always be listed
28458         with date 1970-01-01.  Analysis by Volker Borchert.
28459
28460         * lib/gettimeofday.c (localtime): Undefine.
28461         (rpl_localtime): New function.
28462
28463 2002-05-27  Jim Meyering  <meyering@lucent.com>
28464
28465         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
28466         localtime.
28467
28468         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
28469         use the replacement function; it wouldn't resolve at link time.
28470         Reported by Volker Borchert.
28471
28472 2002-05-22  Jim Meyering  <meyering@lucent.com>
28473
28474         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
28475         file-type.h.
28476         * lib/file-type.h: New file.
28477         * lib/file-type.c (file_type): New file/function.  Extracted from
28478         diffutils.
28479
28480 2002-04-30  Jim Meyering  <meyering@lucent.com>
28481
28482         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
28483
28484 2002-04-29  Paul Eggert  <eggert@twinsun.com>
28485
28486         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
28487
28488 2002-04-29  Paul Eggert  <eggert@twinsun.com>
28489
28490         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
28491         Do not check for alloca.h (no longer used) or stdbool.h (was never
28492         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
28493
28494 2002-04-29  Paul Eggert  <eggert@twinsun.com>
28495
28496         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
28497
28498 2002-04-29  Jim Meyering  <meyering@lucent.com>
28499
28500         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
28501         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
28502         Use AC_FUNC_STRNLEN here instead.
28503
28504         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
28505         With autoconf-2.53a, it's part of AC_PROG_CC.
28506
28507 2002-04-28  Paul Eggert  <eggert@twinsun.com>
28508
28509         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
28510         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
28511
28512 2002-04-28  Paul Eggert  <eggert@twinsun.com>
28513
28514         * lib/sig2str.h, lib/sig2str.c: New files.
28515         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
28516
28517 2002-04-28  Paul Eggert  <eggert@twinsun.com>
28518
28519         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
28520         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
28521         of 127, since 64 is the largest conceivable number for ancient
28522         nonstandard hosts.
28523         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
28524
28525 2002-04-28  Jim Meyering  <meyering@lucent.com>
28526
28527         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
28528
28529 2002-04-24  Jim Meyering  <meyering@lucent.com>
28530
28531         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
28532         (jm_PREREQ): Use it.
28533
28534         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
28535         mach/mach.h fcntl.h.
28536         Check for this function: setlocale.
28537
28538 2002-04-24  Jim Meyering  <meyering@lucent.com>
28539
28540         * lib/gettext.h: New file, from Gettext.
28541         * lib/Makefile.am (INCLUDES): Remove -I../intl.
28542         (libfetish_a_SOURCES): Add gettext.h.
28543
28544 2002-04-16  Jim Meyering  <meyering@lucent.com>
28545
28546         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
28547         ut_pid, ut_id, ut_exit.
28548
28549 2002-04-16  Jim Meyering  <meyering@lucent.com>
28550
28551         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
28552         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
28553         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
28554
28555 2002-04-12  Jim Meyering  <meyering@lucent.com>
28556
28557         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
28558         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
28559         existence of the getmntinfo function.  Needed for Darwin 5.3.
28560
28561         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
28562         This is necessary at least on Darwin 5.3.
28563
28564         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
28565         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
28566         strnlen.o in the library, and that makes some versions of ranlib
28567         object.
28568
28569 2002-04-12  Jim Meyering  <meyering@lucent.com>
28570
28571         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
28572
28573 2002-04-09  Jim Meyering  <meyering@lucent.com>
28574
28575         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
28576         to be more precise.  Rather than saying we're checking whether the
28577         function `works', say what we're testing.
28578         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
28579         Reported by Bruno Haible.
28580
28581 2002-03-10  Jim Meyering  <meyering@lucent.com>
28582
28583         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
28584         Suggestion from Santiago Vila.
28585
28586 2002-03-08  Jim Meyering  <meyering@lucent.com>
28587
28588         * lib/rename.c: Mention that this wrapper is needed also on
28589         mips-dec-ultrix4.4 systems.
28590
28591 2002-03-02  Jim Meyering  <meyering@lucent.com>
28592
28593         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
28594         not HAVE_CLOCK_SETTIME.
28595
28596 2002-02-27  Paul Eggert  <eggert@twinsun.com>
28597
28598         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
28599         Check for clock_settime.
28600
28601 2002-02-27  Paul Eggert  <eggert@twinsun.com>
28602
28603         * lib/nanosleep.h: Rename to....
28604         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
28605
28606         * lib/gettime.c: New file.
28607         * lib/settime.c: New file.
28608         * lib/stime.c: Remove.
28609
28610         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
28611         timespec.h.  Remove nanosleep.h.
28612
28613 2002-02-25  Paul Eggert  <eggert@twinsun.com>
28614
28615         * m4/acl.m4: New file.
28616         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
28617         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
28618
28619 2002-02-25  Paul Eggert  <eggert@twinsun.com>
28620
28621         * lib/acl.c, lib/acl.h: New files.
28622         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
28623
28624 2002-02-24  Jim Meyering  <meyering@lucent.com>
28625
28626         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
28627         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
28628         cause trouble.  Reported by Nelson Beebe.
28629
28630 2002-02-23  Paul Eggert  <eggert@twinsun.com>
28631
28632         * lib/path-concat.c (xpath_concat): Reorder code to pacify
28633         compilers that don't know that xalloc_die never returns.
28634
28635 2002-02-20  Jim Meyering  <meyering@lucent.com>
28636
28637         * lib/getdate.c: Regenerate using bison-1.33.
28638
28639 2002-02-17  Jim Meyering  <meyering@lucent.com>
28640
28641         * config/config.guess (main): Don't use `head -1'; it's no longer
28642         portable. Use `sed 1q' instead.
28643
28644 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
28645
28646         * m4/codeset.m4: Upgrade to gettext-0.11.
28647         * m4/gettext.m4: Upgrade to gettext-0.11.
28648         * m4/glibc21.m4: Upgrade to gettext-0.11.
28649         * m4/iconv.m4: Upgrade to gettext-0.11.
28650         * m4/isc-posix.m4: Upgrade to gettext-0.11.
28651         * m4/lcmessage.m4: Upgrade to gettext-0.11.
28652         * m4/lib-ld.m4: New file, from gettext-0.11.
28653         * m4/lib-link.m4: New file, from gettext-0.11.
28654         * m4/lib-prefix.m4: New file, from gettext-0.11.
28655         * m4/progtest.m4: Upgrade to gettext-0.11.
28656
28657 2002-02-15  Paul Eggert  <eggert@twinsun.com>
28658
28659         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
28660         (jm_PREREQ): Use it.
28661
28662 2002-02-15  Paul Eggert  <eggert@twinsun.com>
28663
28664         * lib/posixver.c, lib/posixver.h: New files.
28665         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
28666
28667 2002-02-02  Paul Eggert  <eggert@twinsun.com>
28668             Bruno Haible  <bruno@clisp.org>
28669
28670         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
28671         (fwrite_success_callback): New declaration.
28672         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
28673         print_unicode_char. Call failure callback instead of error.
28674         (fwrite_success_callback): New function.
28675         (exit_failure_callback): New function.
28676         (fallback_failure_callback): New function.
28677         (print_unicode_char): Call unicode_to_mb.
28678
28679 2002-01-26  Jim Meyering  <meyering@lucent.com>
28680
28681         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
28682         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
28683
28684 2002-01-26  Jim Meyering  <meyering@lucent.com>
28685
28686         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
28687
28688 2002-01-22  Paul Eggert  <eggert@twinsun.com>
28689
28690         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
28691
28692 2002-01-22  Jim Meyering  <meyering@lucent.com>
28693
28694         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
28695         Otherwise, some versions of automake would omit the rule that makes
28696         Makefile from Makefile.in.
28697
28698 2002-01-21  Paul Eggert  <eggert@twinsun.com>
28699
28700         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
28701         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
28702         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
28703         (memcoll): Set errno to zero if there is no error.
28704
28705         * lib/quotearg.c (quotearg_buffer_restyled):
28706         Fix bug with quoting buffers containing NUL when backslashing escapes.
28707         This bug was exposed by the other changes in this patch.
28708         (quotearg_n_options): New arg ARGSIZE.
28709         All callers changed.
28710         (quoting_options_from_style): New function.
28711         (quotearg_n_style): Use it.
28712         (quotearg_n_style_mem): New function.
28713
28714         * lib/quotearg.h (quotearg_n_style_mem): New function.
28715
28716 2002-01-19  Jim Meyering  <meyering@lucent.com>
28717
28718         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
28719         Remove useless quotes: DF_PROG="df".
28720         * m4/strnlen.m4: New file.
28721
28722 2002-01-16  Paul Eggert  <eggert@twinsun.com>
28723
28724         * lib/backupfile.c (ISDIGIT): Comment fix.
28725         * lib/getdate.y (ISDIGIT): Likewise.
28726         * lib/posixtm.c (ISDIGIT, year): Likewise.
28727         * lib/strverscmp.c (ISDIGIT): Likewise.
28728         * lib/userspec.c (ISDIGIT): Likewise.
28729
28730 2002-01-16  Jim Meyering  <meyering@lucent.com>
28731
28732         * lib/getdate.y: Add three semicolons, each just before a closing
28733         brace. Bison (as of version 1.31) no longer papers over that mistake.
28734
28735 2002-01-05  Jim Meyering  <meyering@lucent.com>
28736
28737         * lib/version-etc.c (version_etc_copyright): Update copyright year.
28738
28739 2001-12-19  Paul Eggert  <eggert@twinsun.com>
28740
28741         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
28742         not silently exit merely because the output buffer happens to
28743         have nothing pending.
28744
28745 2001-12-18  Paul Eggert  <eggert@twinsun.com>
28746
28747         See the big note in ../ChangeLog.
28748         * lib/human.c (suffixes): Prefer K to k for 1024.
28749         (generate_suffix_backwards): New function.
28750         (human_readable_inexact): Use it.
28751         * lib/xstrtol.c (__xstrtol): If there is no number but there
28752         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
28753         Accept 'K' as well as 'k'.
28754
28755 2001-12-15  Jim Meyering  <meyering@lucent.com>
28756
28757         * lib/regex.h (__restrict_arr): Update from libc.
28758
28759         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
28760         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
28761         (STREQ): Define.
28762
28763 2001-12-14  Jim Meyering  <meyering@lucent.com>
28764
28765         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
28766         Suggestion from Bruno Haible.
28767
28768 2001-12-10  Jim Meyering  <meyering@lucent.com>
28769
28770         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
28771         xrealloc, Instead, include "xalloc.h".
28772         (initbuffer): Don't cast xmalloc return value to char*.
28773         (readline): Reword comment.
28774         Don't cast xrealloc return value to char*
28775         Return NULL, not 0.
28776
28777 2001-12-09  Jim Meyering  <meyering@lucent.com>
28778
28779         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
28780         about `signed and unsigned type in conditional expression'.
28781         * lib/posixtm.c (posix_time_parse): Likewise.
28782
28783         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
28784
28785         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
28786         to avoid a pedantic warning.
28787
28788         * lib/getstr.c: Don't include assert.h.
28789         (getstr): Remove warning-evoking assertions.
28790         Return -1 if offset parameter is out of bounds.
28791         Change the type of a local from int to size_t.
28792
28793         * lib/strftime.c (my_strftime_localtime_r): Include this function
28794         definition in the `#if ! HAVE_TM_GMTOFF' block.
28795
28796         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
28797         Include xalloc.h instead.
28798
28799 2001-12-02  Jim Meyering  <meyering@lucent.com>
28800
28801         * lib/tempname.c: Don't declare getenv, thus reverting the change of
28802         2001-11-18.  It's no longer necessary, now that stdlib.h is always
28803         included.
28804
28805         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
28806         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
28807
28808 2001-11-30  Akim Demaille  <akim@epita.fr>
28809
28810         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
28811         before being defined.
28812
28813 2001-11-27  Paul Eggert  <eggert@twinsun.com>
28814
28815         * lib/quotearg.h (quotearg_n, quotearg_n_style):
28816         First arg is int, not unsigned.
28817         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
28818         (SIZE_MAX, UINT_MAX): New macros.
28819         (quotearg_n_options): Abort if N is negative.
28820         Avoid overflow check on hosts where size_t is 64 bits and int
28821         is 32 bits, as overflow is impossible there.
28822         Fix off-by-one typo that caused unnecessary reallocation.
28823
28824 2001-11-27  Jim Meyering  <meyering@lucent.com>
28825
28826         * lib/tempname.c: Merge with version from libc.
28827         * lib/regex.c: Likewise.
28828
28829         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
28830         systems for which STDC_HEADERS is 0, it was not included, resulting in
28831         a warning about an integer-to-pointer conversion problem with getenv.
28832         Reported by Volker Borchert.
28833
28834 2001-11-26  Jim Meyering  <meyering@lucent.com>
28835
28836         * lib/gtod.h: Remove file.
28837         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
28838         * lib/gettimeofday.c: Don't include gtod.h.
28839         (GTOD_init): Remove function.
28840         (rpl_gettimeofday): Do its job here instead, rather than aborting.
28841         Suggestion from Volker Borchert.
28842
28843 2001-11-23  Jim Meyering  <meyering@lucent.com>
28844
28845         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
28846         it.
28847         * lib/hash.c (struct hash_table): Define it here instead.
28848
28849 2001-11-22  Jim Meyering  <meyering@lucent.com>
28850
28851         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
28852
28853 2001-11-20  Jim Meyering  <meyering@lucent.com>
28854
28855         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
28856         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
28857
28858 2001-11-19  Jim Meyering  <meyering@lucent.com>
28859
28860         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
28861         directory.  Use "conftestXXXXXX" as the template.
28862         Suggestion from Paul Eggert.
28863
28864         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
28865         immediately, so the test doesn't mistakenly hit the max-open-files
28866         limit.
28867
28868 2001-11-18  Paul Eggert  <eggert@twinsun.com>
28869
28870         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
28871         (TEMPORARIES): New macro.
28872         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
28873         removes an artificial limitation (e.g. HP-UX 10.20, where
28874         TMP_MAX is 17576).
28875
28876 2001-11-18  Jim Meyering  <meyering@lucent.com>
28877
28878         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
28879
28880 2001-11-18  Jim Meyering  <meyering@lucent.com>
28881
28882         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
28883         on SunOS 4.
28884
28885         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
28886         files will be created before anything else.
28887
28888 2001-11-17  Paul Eggert  <eggert@twinsun.com>
28889
28890         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
28891         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
28892
28893 2001-11-17  Jim Meyering  <meyering@lucent.com>
28894
28895         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
28896         Prompted by a report from Bob Proulx.
28897
28898         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
28899         Instead, require UTILS_FUNC_MKSTEMP.
28900
28901 2001-11-17  Jim Meyering  <meyering@lucent.com>
28902
28903         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
28904         Now, that's done as part of AC_FUNC_STRTOD.
28905
28906 2001-11-17  Jim Meyering  <meyering@lucent.com>
28907
28908         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
28909         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
28910         rather than group writable.  Patch by Juan F. Codagnone.
28911
28912         * lib/readtokens.c: Remove explicit declarations of xmalloc and
28913         xrealloc, Instead, include "xalloc.h".
28914
28915         * lib/mountlist.c: Include unlocked-io.h after all system headers.
28916         Remove explicit declarations of xmalloc, xrealloc,
28917         and xstrdup.  Instead, include "xalloc.h".
28918
28919         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
28920         unlocked-io.h.
28921         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
28922         Likewise.
28923         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
28924
28925         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
28926         Reported by Padraig Brady.
28927
28928         * lib/mkstemp.c: #undef mkstemp.
28929         Include config.h.
28930         (rpl_mkstemp): Rename from mkstemp.
28931         Protoize.
28932
28933 2001-11-16  Jim Meyering  <meyering@lucent.com>
28934
28935         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
28936         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
28937         determine the amount of total physical memory, use pstat_getstatic.
28938         HPUX-11 doesn't define _SC_PHYS_PAGES.
28939         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
28940         If sysconf couldn't be used to determine the amount of available
28941         physical memory, use both pstat_getstatic and pstat_getdynamic.
28942         Based on a patch from Bob Proulx.
28943
28944 2001-11-10  Jim Meyering  <meyering@lucent.com>
28945
28946         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
28947         (jm_PREREQ): Use it.
28948
28949 2001-11-09  Jim Meyering  <meyering@lucent.com>
28950
28951         * m4/jm-macros.m4: Require autoconf-2.52f.
28952         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
28953         Use these AC_-prefixed names, not the AM_-prefixed ones.
28954
28955         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
28956
28957 2001-11-05  Jim Meyering  <meyering@lucent.com>
28958
28959         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
28960
28961 2001-11-04  Jim Meyering  <meyering@lucent.com>
28962
28963         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
28964         $DEFS.
28965
28966 2001-11-03  Jim Meyering  <meyering@lucent.com>
28967
28968         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
28969         of AC_DEFUN.
28970
28971         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
28972         know the name of the variable in the macro definition.
28973
28974 2001-11-03  Jim Meyering  <meyering@lucent.com>
28975
28976         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
28977         in argmatch_to_argument call.
28978
28979         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
28980         argument.
28981
28982         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
28983         e.g., a fault due to an attempt to free a NULL pointer.
28984
28985 2001-11-01  Jim Meyering  <meyering@lucent.com>
28986
28987         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
28988         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
28989
28990 2001-11-01  Jim Meyering  <meyering@lucent.com>
28991
28992         * lib/dirfd.c, lib/dirfd.h: New files.
28993         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
28994
28995         * lib/hash.c (hash_print) [TESTING]: Clean up.
28996
28997 2001-10-22  Paul Eggert  <eggert@twinsun.com>
28998
28999         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
29000         to avoid a warning if -Wall.
29001
29002 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
29003
29004         * README: New file
29005         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
29006         (per RMS's instructions, this is now the canonical source)
29007         * lgpl/, gpl/: New directories.
29008
29009 2001-10-21  Paul Eggert  <eggert@twinsun.com>
29010
29011         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
29012
29013 2001-10-21  Jim Meyering  <meyering@lucent.com>
29014
29015         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
29016         this code would end up calling gettext even in packages built
29017         with --disable-nls.
29018         * lib/getopt.c (_): Likewise.
29019         * lib/regex.c (_): Likewise.
29020
29021 2001-10-20  Paul Eggert  <eggert@twinsun.com>
29022
29023         * m4/error.m4 (jm_PREREQ_ERROR):
29024         Do not invoke AC_CHECK_FUNCS with strerror_r, as
29025         AC_FUNC_STRERROR_R does that.
29026         Check for strerror declaration.
29027
29028         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
29029         are supposed to have them these days.
29030         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
29031         Merge changes from latest Autoconf CVS.
29032         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
29033         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
29034         POSIX decided to standardize on the int flavor of strerror_r.
29035
29036 2001-10-20  Paul Eggert  <eggert@twinsun.com>
29037
29038         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
29039         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
29040         Use strerror_r that is only a macro, even if it is not a function.
29041         (strerror): Check for HAVE_DECL_STRERROR before declaring.
29042         (private_strerror): Use prototypes, not old-style function definition.
29043         (print_errno_message): New function.
29044         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
29045         char*-flavored one.
29046         (error_tail, error, error_at_line): Use it.
29047
29048 2001-10-11  Jim Meyering  <meyering@lucent.com>
29049
29050         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
29051         and quote_n (1, ... to avoid clobbering a buffer.
29052
29053 2001-10-05  Jim Meyering  <meyering@lucent.com>
29054
29055         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
29056         hash-pjw.h.
29057         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
29058         * lib/hash-pjw.h: New file.
29059
29060 2001-09-30  Jim Meyering  <meyering@lucent.com>
29061
29062         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
29063         `struct fsstat' has the `f_fstypename' member.
29064         Use that to define FS_TYPE, which is now used to make
29065         the getfsstat link test tighter.
29066
29067 2001-09-30  Jim Meyering  <meyering@lucent.com>
29068
29069         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
29070         Include <sys/ucred.h>, for Apple Darwin.
29071         Include sys/mount.h and sys/fs_types.h only if available.
29072         (FS_TYPE): Define.
29073         (read_filesystem_list): Use FS_TYPE.
29074
29075 2001-09-29  Paul Eggert  <eggert@twinsun.com>
29076
29077         * lib/exclude.c (excluded_filename): 0 -> false, since it's
29078         a boolean context.
29079
29080 2001-09-29  Jim Meyering  <meyering@lucent.com>
29081
29082         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
29083         [one-argument getmntent function]): Include stdio.h before mntent.h.
29084         SunOS 4.1.x needs it for the declaration of `FILE'.
29085         Patch by Volker Borchert.
29086
29087         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
29088         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
29089         sys/fs_types.h, and make the link-test for getfsstat guard #include
29090         directives with appropriate #if HAVE_*_H tests so that we can
29091         detect getfsstat on Apple Darwin1.3.7 systems.
29092         Reported by Nelson Beebe.
29093         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
29094
29095 2001-09-28  Paul Eggert  <eggert@twinsun.com>
29096
29097         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
29098         #defines strtoimax.  Also treat the other strto* functions
29099         like strtoimax.
29100
29101         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
29102         Check for strtoul and strtoumax,
29103         as those declarations are made even in the signed case.
29104         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
29105         Likewise, for strtol and strtoimax.
29106
29107 2001-09-28  Paul Eggert  <eggert@twinsun.com>
29108
29109         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
29110         #defines strtoimax.  Also treat the other strto* functions
29111         like strtoimax.
29112
29113         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
29114         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
29115         (strtoimax, strtoumax): Do not declare if already defined as a macro.
29116
29117 2001-09-26  Jim Meyering  <meyering@lucent.com>
29118
29119         Most macros in unlocked-io.h had the wrong number of arguments.
29120         * lib/gen-uio: New script.
29121         (USE_UNLOCKED_IO): Define to 1 if not already defined.
29122         * lib/unlocked-io.hin: Remove file.
29123         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
29124         rather than trying to embed it here.
29125         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
29126         Reported by Padraig Brady.
29127
29128 2001-09-25  Volker Borchert  <bt@teknon.de>
29129
29130         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
29131         `result'.
29132
29133 2001-09-24  Jim Meyering  <meyering@lucent.com>
29134
29135         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
29136
29137 2001-09-23  Jim Meyering  <meyering@lucent.com>
29138
29139         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
29140         instead of the mere test for existence of mntent.h.  The latter
29141         would get a false-positive on AIX 3.4 systems.
29142         In the outer getmntent if-block, don't die if neither of the getmntent
29143         tests succeeds.  Instead, just fall through and continue with the
29144         remaining tests.
29145
29146 2001-09-23  Jim Meyering  <meyering@lucent.com>
29147
29148         * lib/mountlist.c: Remove useless parentheses in #if directives.
29149         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
29150         the deprecated MOUNTED symbol is no longer defined in mntent.h.
29151
29152 2001-09-22  Jim Meyering  <meyering@lucent.com>
29153
29154         * m4/gettext.m4: New file.  From gettext.
29155         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
29156         * m4/progtest.m4: Likewise
29157         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
29158         * m4/glibc21.m4: Likewise.
29159
29160         * m4/libintl.m4: Remove.  No longer used.
29161
29162 2001-09-22  Jim Meyering  <meyering@lucent.com>
29163
29164         * lib/localcharset.c: Update from latest gettext.
29165         * lib/config.charset: Likewise.
29166
29167 2001-09-20  Jim Meyering  <meyering@lucent.com>
29168
29169         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
29170         strtoimax.
29171         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
29172         strtoumax.
29173
29174 2001-09-20  Jim Meyering  <meyering@lucent.com>
29175
29176         * lib/xstrtol.c (strtoimax): Guard declaration with
29177         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
29178         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
29179         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
29180         (strtoumax): Likewise, for completeness (it wasn't necessary).
29181
29182 2001-09-17  Paul Eggert  <eggert@twinsun.com>
29183
29184         * lib/strtoimax.c (HAVE_LONG_LONG):
29185         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
29186         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
29187         to work around bug in IBM C compiler.
29188
29189 2001-09-17  Jim Meyering  <meyering@lucent.com>
29190
29191         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
29192         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
29193         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
29194         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
29195         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
29196         whenever the right hand side need not be expanded by the shell.
29197
29198 2001-09-16  Paul Eggert  <eggert@twinsun.com>
29199
29200         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
29201         library.  It's not correct, as some older glibcs are buggy.
29202         fnmatch wasn't fixed until glibc 2.2.
29203
29204         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
29205         special shell magic here.
29206
29207 2001-09-16  Jim Meyering  <meyering@lucent.com>
29208
29209         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
29210         * m4/jm-macros.m4: Require it.
29211
29212 2001-09-16  Jim Meyering  <meyering@lucent.com>
29213
29214         * lib/mkdir.c: New file.
29215
29216 2001-09-15  Jim Meyering  <meyering@lucent.com>
29217
29218         * m4/jm-macros.m4: Check for help2man.
29219
29220 2001-09-11  Jim Meyering  <meyering@lucent.com>
29221
29222         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
29223         The body, by Paul Eggert, was moved here from configure.in.
29224         * m4/jm-macros.m4: Require UTILS_HOST_OS.
29225
29226 2001-09-04  Paul Eggert  <eggert@twinsun.com>
29227
29228         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
29229         (jm_PREREQ): Use it.
29230
29231 2001-09-04  Paul Eggert  <eggert@twinsun.com>
29232
29233         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
29234         Use ssize_t, not int, to store result of readlink.
29235         Check for ssize_t overflow as well as size_t overflow,
29236         as POSIX says the result of readlink is implementation-defined
29237         when ssize_t overflows.
29238         Remove unnecessary cast to char*.
29239         Use free+malloc instead of realloc, as the storage doesn't need
29240         to be preserved and it's clearer and can be more efficient that way.
29241         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
29242         * lib/xreadlink.h (xreadlink): Update prototype.
29243
29244 2001-09-04  Paul Eggert  <eggert@twinsun.com>
29245
29246         * lib/xgetcwd.c: Revert some of the previous change; intead,
29247         fix the HAVE_GETCWD_NULL code to behave more like the
29248         !HAVE_GETCWD_NULL code used to.
29249
29250         Include "xalloc.h".
29251         (xgetcwd): Do not return NULL when memory is exhausted; instead,
29252         invoke xalloc_die.
29253
29254 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29255
29256         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
29257         sys/param.h, as pathmax.h includes them.
29258
29259 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29260
29261         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
29262         (jm_PREREQ_XGETCWD): New macro.
29263
29264         * m4/getcwd.m4: New file.
29265
29266 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29267
29268         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
29269         like the HAVE_GETCWD_NULL code.
29270         Include pathmax.h if not HAVE_GETCWD.
29271         Do not include xalloc.h.
29272         (INITIAL_BUFFER_SIZE): New symbol.
29273         Do not use xmalloc / xrealloc, since the caller is responsible for
29274         handling errors.  Preserve errno around `free' during failure.
29275         Do not overrun buffer when using getwd.
29276
29277 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29278
29279         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
29280         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
29281         getcwd (NULL, 0).
29282
29283 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29284
29285         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
29286         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
29287         spotted by Jim Meyering.
29288
29289 2001-09-03  Jim Meyering  <meyering@lucent.com>
29290
29291         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
29292         failure.
29293
29294 2001-09-02  Jim Meyering  <meyering@lucent.com>
29295
29296         * lib/error.c: Update from GNU libc.
29297
29298 2001-09-01  Jim Meyering  <meyering@lucent.com>
29299
29300         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
29301         Used by df.
29302
29303 2001-09-01  Jim Meyering  <meyering@lucent.com>
29304
29305         * lib/xreadlink.c: New file.
29306         * lib/xreadlink.h: New file.
29307         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
29308         xreadlink.h.
29309
29310         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
29311         doesn't conflict with sparc Solaris 7's definition in
29312         /usr/include/sys/int_types.h.
29313
29314         * lib/exclude.c: Use `""', not `<>' to #include non-system header
29315         files.
29316         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
29317         and strncasecmp as r-values.  Unixware didn't have declarations.
29318
29319 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29320
29321         * lib/xstrtol.h: Add copyright notice.
29322         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
29323         LONGINT_INVALID_SUFFIX_CHAR.
29324
29325 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29326
29327         * lib/xstrtol.c (strtoimax): New decl.
29328
29329 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29330
29331         * lib/xgetcwd.c: Don't include pathmax.h.
29332         Include stdlib.h and unistd.h if available.
29333         Include xalloc.h.
29334         (xmalloc, xstrdup, free): Remove decls.
29335         (xgetcwd): Don't assume sizes fit in unsigned.
29336         Check for overflow when computing sizes.
29337         Simplify reallocation code.
29338
29339 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29340
29341         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
29342         a directory's st_size can have an arbitrary value, so the old
29343         usage could waste an arbitrary amount of memory.  All uses
29344         changed.
29345         * lib/savedir.h: Update prototype.
29346
29347 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29348
29349         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
29350
29351         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
29352         old strtoimax.c.
29353
29354         Also, make the following further changes to make this file's
29355         configuration more similar to that of strtol.c:
29356         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
29357         (strtoumax, uintmax_t, strtoull, strtol): Remove.
29358         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
29359         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
29360         changed to signed values.
29361
29362         And make the following changes as well:
29363         Fix copyright notice, as 1999 was missing.
29364         (verify): New macro.
29365         (strtoimax): Check sizes at compile-time, not run-time.
29366         Prefer strtol to strtoll if both work.
29367         (main): Remove; it was not that useful and was a pain to maintain.
29368
29369         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
29370
29371 2001-08-31  Jim Meyering  <meyering@lucent.com>
29372
29373         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
29374         Use an initial, malloc'd, buffer of length 128 rather than
29375         a statically allocated one of length 1024.
29376
29377 2001-08-30  Paul Eggert  <eggert@twinsun.com>
29378
29379         Simplify code, partly by assuming autoconf 2.52 semantics.
29380
29381         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
29382
29383         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
29384         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
29385         All uses removed.
29386         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
29387         Move AC_REQUIRE to next-to-top level, to avoid confusion.
29388         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
29389         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
29390         jm_AC_HEADER_INTTYPES_H.
29391         * m4/jm-macros.m4 (jm_MACROS): Likewise.
29392
29393         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
29394
29395         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
29396         Quote first arg of AC_DEFUN.
29397         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
29398         since they are needed to parse the include file even if we need
29399         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
29400         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
29401         but with opposite signedness.
29402
29403 2001-08-30  Paul Eggert  <eggert@twinsun.com>
29404
29405         Merge 'exclude' changes from tar 1.13.22.
29406         This fixes one or two unlikely storage allocation overflow bugs,
29407         but doesn't change user-visible behavior otherwise.
29408
29409 2001-08-30  Paul Eggert  <eggert@twinsun.com>
29410
29411         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
29412         (jm_PREREQ_EXCLUDE): New macro.
29413
29414 2001-08-30  Paul Eggert  <eggert@twinsun.com>
29415
29416         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
29417         tm to be declared.
29418
29419 2001-08-30  Paul Eggert  <eggert@twinsun.com>
29420
29421         * lib/hash.c: Remove '2001' from copyright notice.
29422
29423 2001-08-30  Paul Eggert  <eggert@twinsun.com>
29424
29425         * lib/full-write.h: New file.
29426         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
29427         * lib/full-write.c: Correct credits, as cccp.c no longer
29428         exists and anyway it was so heavily changed from the old cccp
29429         code as to be unrecognizable.  Include full-write.h.
29430         (full_write) Return size_t, with short writes meaning failure.
29431         All callers changed.  This fixes a bug with large buffers
29432         on 64-bit hosts.
29433         * lib/utime.c: Include full-write.h.
29434
29435 2001-08-30  Paul Eggert  <eggert@twinsun.com>
29436
29437         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
29438         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
29439         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
29440         Include if available.
29441         (<xalloc.h>): Include
29442         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
29443         (verify): New macro.  Use it to verify that EXCLUDE macros do not
29444         collide with FNM macros.
29445         (struct patopts): New struct.
29446         (struct exclude): Use it, as exclude patterns now come with options.
29447         (new_exclude): Support above changes.
29448         (new_exclude, add_exclude_file):
29449         Initial size must now be a power of two to simplify overflow checking.
29450         (free_exclude, fnmatch_no_wildcards): New function.
29451         (excluded_filename): No longer requires options arg, as the options
29452         are determined by add_exclude.  Now returns bool, not int.
29453         (excluded_filename, add_exclude):
29454         Add support for the fancy new exclusion options.
29455         (add_exclude, add_exclude_file): Now takes int options arg.
29456         Check for arithmetic overflow when computing sizes.
29457         (add_exclude_file): xrealloc might modify errno, so don't
29458         realloc until after errno might be used.
29459
29460         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
29461         New macros.
29462         (free_exclude): New decl.
29463         (add_exclude, add_exclude_file): Now takes int options arg.
29464         (excluded_filename): No longer requires options arg, as the options
29465         are determined by add_exclude.  Now returns bool, not int.
29466
29467 2001-08-30  Paul Eggert  <eggert@twinsun.com>
29468
29469         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
29470
29471 2001-08-27  Jim Meyering  <meyering@lucent.com>
29472
29473         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
29474
29475         * lib/version-etc.c (N_): Remove definition.
29476         Revert most of last change.
29477         Instead, simply don't mark the `Copyright...' string for translation.
29478         Based on advice from Paul Eggert.
29479
29480         * lib/strtoxmax.c: Tweak comment.
29481
29482 2001-08-26  Jim Meyering  <meyering@lucent.com>
29483
29484         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
29485
29486         * m4/xstrtoimax.m4: New file.
29487         * m4/xstrtoumax.m4: Add comments explaining why we
29488         AC_REPLACE_FUNCS(strtol).
29489
29490 2001-08-26  Jim Meyering  <meyering@lucent.com>
29491
29492         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
29493         of copyright with `%s' so translators don't get an untranslated
29494         message in 2002.
29495         (COPYRIGHT_YEAR): Define.
29496         (version_etc): Use fprintf rather than fputs.
29497         Suggestion from Ulrich Drepper.
29498
29499         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
29500
29501         * lib/strtoll.c: New file, from GNU libc.
29502         * lib/xstrtoimax.c: New file.
29503
29504         * lib/xstrtol.h: Add xstrtoimax.
29505         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
29506         * lib/strtoimax.c: New file.  Likewise, but first define
29507         STRTOUXMAX_SIGNED.
29508
29509         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
29510         ...
29511         * lib/strtoxmax.c: ... then renamed to this.
29512
29513 2001-08-18  Paul Eggert  <eggert@twinsun.com>
29514
29515         * m4/inttypes.m4: Add AC_PREREQ(2.13).
29516         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
29517         (jm_AC_TYPE_INTMAX_T): New macro.
29518         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
29519
29520         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
29521
29522         * m4/longlong.m4: Renamed from ulonglong.m4.
29523         * m4/inttypes.m4: Renamed from inttypes_h.m4.
29524         * m4/uintmax_t.m4: Removed.
29525
29526 2001-08-13  Paul Eggert  <eggert@twinsun.com>
29527
29528         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
29529         Port to Solaris 8, where 'sed' requires a space after the 'r'
29530         command, and where sh dislikes "$/".  Clean up the spacing a bit.
29531         Redirect output to $tmp just once.
29532
29533 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
29534
29535         * lib/addext.c (<errno.h>): Include.
29536         (errno): Declare if not defined.
29537         (addext): Work correctly when pathconf returns -1 and leaves
29538         errno alone because there is no limit.  Also, work even if
29539         pathconf returns a value greater than SIZE_MAX.
29540
29541 2001-08-12  Jim Meyering  <meyering@lucent.com>
29542
29543         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
29544         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
29545         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
29546         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
29547         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
29548         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
29549         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
29550         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
29551         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
29552         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
29553         utime.m4, utimes.m4, xstrtoumax.m4:
29554         Quote the first argument in each use of AC_DEFUN.
29555
29556 2001-08-12  Jim Meyering  <meyering@lucent.com>
29557
29558         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
29559         Simply `return getcwd (NULL, 0);'.
29560         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
29561         Use 1300 as initial value for length, not PATH_MAX.
29562
29563         * lib/pathmax.h: Clean up cpp syntax.
29564
29565 2001-08-12  Jim Meyering  <meyering@lucent.com>
29566
29567         * lib/gettimeofday.c: New file.
29568         * lib/gtod.h: New file.
29569         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
29570
29571 2001-08-05  Jim Meyering  <meyering@lucent.com>
29572
29573         * m4/jm-macros.m4: Require autoconf-2.52.
29574
29575 2001-08-04  Jim Meyering  <meyering@lucent.com>
29576
29577         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
29578         stmt, to get in sync with glibc.
29579
29580 2001-08-03  Paul Eggert  <eggert@twinsun.com>
29581
29582         The following changes are from gettext 0.10.39 as maintained by
29583         Bruno Haible.
29584
29585         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
29586         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
29587         with inverted sense.  All uses changed.
29588
29589         * lib/mbswidth.c: Don't include <limits.h>.
29590         Include <stdlib.h> and <string.h> unconditionally.
29591         (iswcntrl, mbsinit, ISCNTRL): New macros.
29592         (mbsnwidth): Use K&R style function declarations.
29593         Don't bother checking for MB_LEN_MAX == 1, since the compiler
29594         can optimize it when MB_CUR_MAX == 1.
29595         The width of control characters is zero, not 1.
29596
29597 2001-08-03  Paul Eggert  <eggert@twinsun.com>
29598
29599         The following changes are from gettext 0.10.39 as maintained by
29600         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
29601
29602         * m4/codeset.m4: Upgrade to serial AM1.
29603         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
29604         all uses changed.  Quote first arg of AC_DEFUN.
29605         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
29606
29607         * m4/iconv.m4: Upgrade to serial AM2.
29608         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
29609         Add --with-libconv-prefix.
29610         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
29611         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
29612         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
29613         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
29614         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
29615
29616         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
29617         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
29618         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
29619         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
29620         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
29621         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
29622         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
29623         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
29624         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
29625
29626         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
29627         string.h any more.
29628
29629         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
29630         not the default value.
29631
29632         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
29633         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
29634         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
29635         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
29636         Also check for iswcntrl, used for wcwidth fallback.
29637         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
29638         to Autoconf 2.13.
29639
29640 2001-08-03  Jim Meyering  <meyering@lucent.com>
29641
29642         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
29643         as it was in the original.  Reported by Paul Eggert.
29644
29645 2001-07-16  Jim Meyering  <meyering@lucent.com>
29646
29647         * m4/gettimeofday.m4: New file.
29648         Prompted by a report from Bernhard Baehr.
29649
29650 2001-07-15  Jim Meyering  <meyering@lucent.com>
29651
29652         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
29653         stuff. Now it's in ../Makefile.cfg.
29654
29655 2001-07-15  Jim Meyering  <meyering@lucent.com>
29656
29657         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
29658         (BUILT_SOURCES): Add unlocked-io.h.
29659         (io_functions): Define.
29660         (unlocked-io.h): New rule.
29661         (DISTCLEANFILES): Add unlocked-io.h.
29662         (all-local): Depend on unlocked-io.h, to ensure it is created.
29663
29664         * lib/unlocked-io.hin: New file
29665
29666         * lib/regex.c: Update from glibc.
29667
29668 2001-07-05  Jim Meyering  <meyering@lucent.com>
29669
29670         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
29671         recommendation.
29672         (libfetish_a_SOURCES): Put all .h files here instead.
29673         Remove a thus-exposed (better checks in automake) duplicate and
29674         two unnecessary .h files.
29675
29676 2001-07-04  Jim Meyering  <meyering@lucent.com>
29677
29678         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
29679         that generates jm-glibc-io.m4 so that it doesn't trigger any make
29680         distcheck failure.
29681
29682 2001-07-02  Jim Meyering  <meyering@lucent.com>
29683
29684         The following changes were prompted by suggestions from Bruno Haible.
29685
29686         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
29687         is now generated.
29688         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
29689         definition of EXTRA_DIST.
29690         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
29691         ensure that the generated file is created/updated whenever the list
29692         of $(unlocked_functions) is changed.
29693         (jm-glibc-io.m4): New rule.
29694         (unlocked-io.h): New rule -- currently unused.
29695
29696 2001-06-24  Jim Meyering  <meyering@lucent.com>
29697
29698         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
29699         unmatched right bracket, rather than kludging it with an extra,
29700         falsely-matching quote in a comment.  Patch by Akim Demaille.
29701
29702 2001-06-11  Jim Meyering  <meyering@lucent.com>
29703
29704         * lib/regex.c: Update from GNU libc.
29705
29706 2001-05-27  Jim Meyering  <meyering@lucent.com>
29707
29708         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
29709         Check for ut_type in struct utmp.
29710
29711 2001-05-27  Jim Meyering  <meyering@lucent.com>
29712
29713         * lib/readutmp.h (UT_TYPE): Define.
29714
29715 2001-05-24  Jim Meyering  <meyering@lucent.com>
29716
29717         * lib/argmatch.c: Include "quote.h".
29718         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
29719         quote function.  Reported by Göran Uddeborg.
29720
29721 2001-05-22  Jim Meyering  <meyering@lucent.com>
29722
29723         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
29724         now that we use the package-supplied version unconditionally.
29725         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
29726
29727 2001-05-21  Jim Meyering  <meyering@lucent.com>
29728
29729         * m4/regex.m4: Change a couple backticks to single quotes to avoid
29730         shell syntax errors.
29731
29732 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
29733
29734         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
29735
29736 2001-05-20  Paul Eggert  <eggert@twinsun.com>
29737
29738         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
29739         Don't bother to check library strftime, since
29740         we'll be using our own my_strftime function anyway.
29741         Define my_strftime instead of strftime.
29742
29743 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
29744
29745         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
29746         which is not yet declared.
29747
29748 2001-05-15  Jim Meyering  <meyering@lucent.com>
29749
29750         * m4/regex.m4: Use proper quoting so brackets appear in the test
29751         program.
29752         Reported by, and with help from, Bruno Haible.
29753
29754 2001-05-13  Jim Meyering  <meyering@lucent.com>
29755
29756         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
29757         undefined.
29758
29759 2001-05-11  Paul Eggert  <eggert@twinsun.com>
29760
29761         dirname code cleanup.  base_name now behaves more compatibly
29762         with POSIX basename when given file names that have trailing
29763         slashes, and similarly for dir_name.  Add new primitives
29764         base_len and dir_len.  Put the directory-name-related decls
29765         into dirname.h.
29766
29767         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
29768         * lib/backupfile.c (base_name): Likewise.
29769         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
29770         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
29771         * lib/makepath.c (strip_trailing_slashes): Likewise.
29772         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
29773         ISSLASH): Likewise.
29774         * lib/rename.c (strip_trailing_slashes): Likewise.
29775         * lib/same.c (base_name): Likewise.
29776         * lib/stripslash.c (ISSLASH): Likewise.
29777
29778         * lib/addext.c: Include <dirname.h> after size_t is defined.
29779         * lib/backupfile.c: Likewise.
29780
29781         * lib/addext.c (addext): Use base_len to trim redundant
29782         trailing slashes instead of doing it ourselves.
29783         But do not trim the last slash if it is not redundant.
29784
29785         * lib/backupfile.c (find_backup_file_name,
29786         max_backup_version): Use base_len instead of rolling it ourselves.
29787         Handle the case of "" and (on DOS) "C:" correctly.
29788
29789         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
29790         needed. Include <string.h>, <dirname.h>.
29791         (base_name): Allow file names ending in slashes, other than names
29792         that are all slashes.  In this case, return the basename followed
29793         by the slashes.  This is more general, and can be used in places
29794         where the original base_name purposely had an assertion failure.
29795         (base_len): New function.
29796
29797         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
29798         Do not include <assert.h>; no longer needed.
29799         Include xalloc.h.
29800         (memrchr): Remove decl.
29801         (dir_name_r): Remove.
29802         (dir_len): Renamed from dirlen.  All callers changed.
29803         Rewrite in terms of base_name, for simplicity and consistency.
29804         (dir_name): Never return NULL.  All callers changed.
29805         Do not include <stdlib.h> in test program; no longer needed.
29806         return 0; is fine for test program.
29807
29808         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
29809         New macros.
29810         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
29811
29812         * lib/path-concat.c (path_concat): Use base_len to compute
29813         base length, not strlen; this means we cannot rely on memcpy
29814         to null-terminate.
29815
29816         * lib/same.c (STREQ): Remove.
29817         (same_name): Handle the case where the basename ends in trailing '/'.
29818
29819         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
29820         a slash was stripped.  Do not strip the last slash after a
29821         file system prefix.
29822
29823 2001-05-11  Paul Eggert  <eggert@twinsun.com>
29824
29825         * lib/Makefile.am (libfetish_a_SOURCES):
29826         Add strftime.c, since we now compile it on all hosts.
29827
29828         * lib/strftime.c (my_strftime):
29829         Define to nstrftime if emacs, but only if my_strftime is not defined.
29830         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
29831         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
29832         Add one more extra argument: a nanoseconds value.
29833         All uses changed.
29834         (ns): New macro.
29835         (my_strftime function): Add %N format.
29836         (emacs_strftimeu): Renamed from emacs_strftime,
29837         with extra ut argument.
29838
29839 2001-05-09  Paul Eggert  <eggert@twinsun.com>
29840
29841         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
29842
29843 2001-04-21  Jim Meyering  <meyering@lucent.com>
29844
29845         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
29846         doesn't interfere.
29847
29848 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
29849
29850         * m4/ftruncate.m4: Check for chsize.
29851         Link with ftruncate.o unconditionally if ftruncate is missing.
29852         This was required when cross-compiling to i586-mingw32msvc.
29853
29854 2001-04-08  Jim Meyering  <meyering@lucent.com>
29855
29856         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
29857         recomputed; that's necessary when the offset spans a DST transition.
29858         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
29859
29860 2001-04-02  Jim Meyering  <meyering@lucent.com>
29861
29862         * lib/regex.h, regex.c: Update from GNU libc.
29863
29864 2001-03-24  Jim Meyering  <meyering@lucent.com>
29865
29866         * m4/jm-macros.m4: Require autoconf-2.49d.
29867
29868 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
29869
29870         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
29871
29872 2001-03-19  Paul Eggert  <eggert@twinsun.com>
29873
29874         * lib/version-etc.c (version_etc_copyright): Update to 2001.
29875
29876 2001-03-17  Jim Meyering  <meyering@lucent.com>
29877
29878         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
29879         now that the version in autoconf is equivalent.
29880         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
29881
29882         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
29883         Suggestion from Akim Demaille.
29884
29885         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
29886         (jm_PREREQ_TEMPNAME): New function.
29887
29888 2001-03-16  Paul Eggert  <eggert@twinsun.com>
29889
29890         * lib/tempname.c (uint64_t): Define to uintmax_t if
29891         not defined, and if UINT64_MAX is not defined.
29892         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
29893         Reported by John David Anglin.
29894
29895 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
29896
29897         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
29898         resolve alias if codeset is empty.
29899         * lib/config.charset (BeOS): Use wildcard syntax.
29900
29901 2001-03-13  Jim Meyering  <meyering@lucent.com>
29902
29903         * lib/path-concat.c (path_concat)
29904         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
29905         concatenating e.g., `C:' and `foo'.
29906         From Bruno Haible.
29907
29908 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
29909
29910         * lib/localcharset.c (locale_charset): Don't use
29911         setlocale(LC_CTYPE,NULL). Don't return NULL.
29912         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
29913
29914 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
29915
29916         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
29917         support for DOS/DJGPP.
29918
29919 2001-03-01  Paul Eggert  <eggert@twinsun.com>
29920
29921         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
29922         lacks mkstemp.  Compile our own tempname.c if we compile our own
29923         mkstemp.c, as mkstemp relies on tempname.
29924
29925 2001-03-01  Jim Meyering  <meyering@lucent.com>
29926
29927         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
29928         AH_VERBATIM really does output its argument verbatim.
29929
29930 2001-02-28  Paul Eggert  <eggert@twinsun.com>
29931
29932         * lib/Makefile.am (libfetish_a_SOURCES):
29933         Add dup-safer.c, fopen-safer.c.
29934         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
29935
29936         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
29937         * lib/unistd-safer.h: New files.
29938
29939 2001-02-25  Paul Eggert  <eggert@twinsun.com>
29940
29941         The mkstemp replacement is taken from glibc 2.2.2, with some
29942         portability fixes for use outside glibc, as follows:
29943
29944         * lib/tempname.c (struct_stat64): New macro.
29945         (direxists, __gen_tempname): Use it.
29946         This avoids a portability problem with Solaris 8.
29947
29948         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
29949         (<stddef.h>, <stdint.h>, <string.h>):
29950         Include only if STDC_HEADERS || _LIBC.
29951         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
29952         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
29953         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
29954         (__set_errno): Define this macro if <errno.h> doesn't.
29955         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
29956         Define these macros if <stdio.h> doesn't.
29957         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
29958         Define these macros if <sys/stat.h>
29959         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
29960         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
29961         __xstat64): Define if not _LIBC.
29962         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
29963         (__gen_tempname): Invoke gettimeofday only if
29964         HAVE_GETTIMEOFDAY || _LIBC;
29965         otherwise, fall back on plain "time".
29966         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
29967
29968         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
29969
29970         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
29971
29972 2001-02-18  Paul Eggert  <eggert@twinsun.com>
29973
29974         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
29975
29976 2001-02-17  Paul Eggert  <eggert@twinsun.com>
29977
29978         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
29979         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
29980         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
29981         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
29982
29983 2001-02-17  Paul Eggert  <eggert@twinsun.com>
29984
29985         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
29986         Remove workaround macros for hosts that have mbrtowc but not
29987         mbstate_t, as we now insist on proper declarations for both
29988         before using mbrtowc.
29989
29990 2001-02-17  Jim Meyering  <meyering@lucent.com>
29991
29992         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
29993         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
29994         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
29995         UnixWare 7.1.1.
29996
29997         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
29998         rather than AC_CACHE_VAL.
29999
30000 2001-02-17  Jim Meyering  <meyering@lucent.com>
30001
30002         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
30003         around included file name.
30004
30005         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
30006
30007         * lib/strftime.c: Update from GNU libc (the only changes were to
30008         comments).
30009
30010 2001-02-17  Jim Meyering  <meyering@lucent.com>
30011
30012         * lib/regex.c: Update from libc.
30013
30014 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
30015
30016         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
30017         clash.
30018
30019 2001-02-16  Paul Eggert  <eggert@twinsun.com>
30020
30021         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
30022         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
30023         Reported by Mark Hounschell via Paul Eggert.
30024
30025 2001-02-07  Jim Meyering  <meyering@lucent.com>
30026
30027         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
30028
30029 2001-02-05  Jim Meyering  <meyering@lucent.com>
30030
30031         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
30032         it includes the patch required for `large file' support with at least
30033         HP-UX's 10.20 /bin/cc.
30034
30035 2001-02-03  Jim Meyering  <meyering@lucent.com>
30036
30037         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
30038         AS_IF, now that it works once again (mysteriously).
30039         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
30040
30041 2001-01-30  Jim Meyering  <meyering@lucent.com>
30042
30043         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
30044         * m4/chown.m4: Rename conftestchown to conftest.chown.
30045         * m4/rename.m4: s/conftestdir/conftest.d1/ and
30046         s/conftestdir2/conftest.d2/.
30047         * m4/utimes.m4: s/conftestdata/conftest.data/
30048         Inspired by Pavel Roskin's change in autoconf.
30049
30050 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
30051
30052         * lib/config.charset: Update for FreeBSD 4.2.
30053
30054 2001-01-27  Jim Meyering  <meyering@lucent.com>
30055
30056         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
30057         a use of AS_IF.
30058         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
30059
30060 2001-01-26  Jim Meyering  <meyering@lucent.com>
30061
30062         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
30063         quotearg.c includes it.
30064
30065 2001-01-26  Jim Meyering  <meyering@lucent.com>
30066
30067         * lib/quotearg.c: Include stddef.h.
30068         * lib/quote.c: Include stddef.h.
30069         Reported by Axel Kittenberger.
30070
30071         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
30072         line in double quotes so that it evokes a better diagnostic.
30073         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
30074         Reported by Axel Kittenberger.
30075
30076 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
30077
30078         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
30079         as if it was a `charset'.
30080
30081 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
30082
30083         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
30084         has const.
30085
30086 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
30087
30088         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
30089         to avoid a warning.  Add back 'const' to inptr.
30090
30091 2001-01-20  Jim Meyering  <meyering@lucent.com>
30092
30093         Be sure that headers are checked before used in code compiled
30094         for the type checks.
30095         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
30096         In place of that, invoke jm_CHECK_ALL_TYPES.
30097         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
30098         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
30099         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
30100         The check for ssize_t was mistakenly run before the test for unistd.h.
30101
30102         The configure-time check for stdbool.h was missing.
30103         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
30104         (jm_PREREQ_HASH): New function.
30105
30106 2001-01-17  Jim Meyering  <meyering@lucent.com>
30107
30108         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
30109         for autoconf-2.49c.
30110         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
30111
30112 2001-01-16  Jim Meyering  <meyering@lucent.com>
30113
30114         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
30115         From Bruno Haible.
30116
30117 2001-01-14  Jim Meyering  <meyering@lucent.com>
30118
30119         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
30120         foo and bar.  Create conftestdir/ in the script, not in the C code.
30121         Remove directories in the script, not in the C code.
30122         Remove conftestdir{,2} before trying to create the directory.
30123         Make the entire configure script fail if the mkdir fails.
30124
30125 2001-01-14  Jim Meyering  <meyering@lucent.com>
30126
30127         * lib/rename.c: New file.  From Volker Borchert.
30128         Include stdlib.h, string.h or strings.h, and xalloc.h.
30129         Use strip_trailing_slashes rather than open-coding it.
30130
30131 2001-01-03  Paul Eggert  <eggert@twinsun.com>
30132
30133         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
30134
30135 2001-01-03  Jim Meyering  <meyering@lucent.com>
30136
30137         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
30138         of local `inptr' to avoid warning with some system declarations of
30139         iconv.
30140
30141 2001-01-02  Volker Borchert  <bt@teknon.de>
30142
30143         * m4/rename.m4: New file.
30144         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
30145
30146 2001-01-01  Jim Meyering  <meyering@lucent.com>
30147
30148         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
30149         even on systems with utmpx.h.  It's necessary for the declaration of
30150         utmp's ut_user member.  Reported by Andreas Jaeger.
30151
30152         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
30153         available. They are required for the declarations of getgrgid and
30154         getpwuid resp.
30155         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
30156         Reported by Andreas Jaeger.
30157
30158 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
30159
30160         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
30161         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
30162         so `make install' also works in VPATH builds.
30163
30164 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
30165
30166         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
30167         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
30168         can be used in subdirectories.
30169
30170 2000-12-29  Paul Eggert  <eggert@twinsun.com>
30171
30172         * lib/modechange.c: Do not assume that mode_t uses the
30173         traditional octal encoding.  E.g. "chmod 1 FOO" should set
30174         the other-execute bit of FOO even if S_IXOTH != 1.
30175
30176         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
30177         WOTH, XOTH, ALLM): New macros.
30178         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
30179          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
30180         Use them.
30181         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
30182         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
30183         (mode_compile):
30184         No need to use uintmax_t; unsigned long is long enough.
30185         Don't bother to get suffix since we don't use it.
30186
30187 2000-12-26  Jim Meyering  <meyering@lucent.com>
30188
30189         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
30190         better with autoheader.
30191
30192 2000-12-24  Jim Meyering  <meyering@lucent.com>
30193
30194         * lib/hash.c (is_prime): Return explicit boolean values.
30195         (hash_get_first): Return NULL to appease Irix5.6's 89.
30196         Reported by Nelson Beebe.
30197
30198 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
30199
30200         * lib/localcharset.c (locale_charset): Add support for Win32.
30201
30202 2000-12-18  Paul Eggert  <eggert@twinsun.com>
30203
30204         * lib/physmem.h, lib/physmem.c: New files.
30205
30206         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
30207         (noinst_HEADERS): Add physmem.h.
30208
30209         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
30210         't' for compatibility with Solaris 8 sort.
30211
30212 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
30213
30214         * lib/config.charset: Add support for BeOS.
30215
30216 2000-12-17  Jim Meyering  <meyering@lucent.com>
30217
30218         * m4/dos.m4 (jm_AC_DOS): New file and macro.
30219         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
30220
30221 2000-12-16  Jim Meyering  <meyering@lucent.com>
30222
30223         This bug had a serious impact on chown: `chown N:M FILE' (for integer
30224         N and M) would have treated it like `chown N:N FILE'.
30225
30226         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
30227
30228 2000-12-16  Jim Meyering  <meyering@lucent.com>
30229
30230         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
30231         SHELLS_FILE to a file name that's useful on djgpp systems.
30232         Include stdlib.h.
30233         (ADDITIONAL_DEFAULT_SHELLS): Define.
30234         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
30235         Based mostly on a patch from Prashant TR.
30236
30237 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
30238
30239         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
30240         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
30241         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
30242
30243 2000-12-08  Andreas Schwab  <schwab@suse.de>
30244
30245         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
30246         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
30247
30248 2000-12-07  Jim Meyering  <meyering@lucent.com>
30249
30250         * lib/stripslash.c (ISSLASH): Define.
30251         (strip_trailing_slashes): Use ISSLASH rather than comparing against
30252         `/'.
30253         From Prashant TR.
30254
30255         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
30256         (dir_name_r): Declare this function as static.
30257         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
30258         manifest itself on a name containing a mix of slashes and
30259         backslashes.
30260         Make this function work with names starting with a DOS-style
30261         drive letter and colon prefix.
30262         (dir_name): Append `.' if necessary.
30263         Based mostly on patches from Prashant TR and Eli Zaretskii.
30264
30265         * lib/dirname.h (dir_name_r): Remove prototype.
30266
30267 2000-12-06  Paul Eggert  <eggert@twinsun.com>
30268
30269         * m4/off_t-format.m4: Remove this file.
30270         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
30271
30272 2000-12-06  Jim Meyering  <meyering@lucent.com>
30273
30274         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
30275         replacement strtoull, we may well need the replacement strtoul, too.
30276         Check for declarations of strtoul and strtoull.
30277         Check for strtol.  Mainly as a cue to cause automake to include
30278         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
30279         Check for limits.h -- strtol.c needs it.
30280
30281 2000-12-05  Jim Meyering  <meyering@lucent.com>
30282
30283         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
30284
30285 2000-12-04  Jim Meyering  <meyering@lucent.com>
30286
30287         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
30288         Also include memory.h, stdlib.h, unistd.h if appropriate.
30289         Reported by Andreas Jaeger (conflicting declaration of malloc).
30290
30291 2000-12-02  Jim Meyering  <meyering@lucent.com>
30292
30293         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
30294         * m4/jm-macros.m4 (jm_MACROS): require it.
30295
30296 2000-12-02  Jim Meyering  <meyering@lucent.com>
30297
30298         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
30299
30300 2000-12-01  Paul Eggert  <eggert@twinsun.com>
30301
30302         * lib/memrchr.c: Include <config.h> before any system include file.
30303
30304 2000-11-30  Jim Meyering  <meyering@lucent.com>
30305
30306         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
30307
30308 2000-11-30  Jim Meyering  <meyering@lucent.com>
30309
30310         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
30311
30312 2000-11-29  Paul Eggert  <eggert@twinsun.com>
30313
30314         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
30315
30316 2000-11-26  Jim Meyering  <meyering@lucent.com>
30317
30318         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
30319
30320 2000-11-22  Paul Eggert  <eggert@twinsun.com>
30321
30322         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
30323         size of (size_t) -1; it's not portable.
30324
30325 2000-11-17  Jim Meyering  <meyering@lucent.com>
30326
30327         * lib/strstr.c: Update from GNU libc.
30328
30329 2000-11-17  Akim Demaille  <akim@epita.fr>
30330
30331         * lib/obstack.h: Formatting changes.
30332         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
30333         prevent type checking.
30334         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
30335         cast the value to (void *): assigning a `foo *' to a `void *'
30336         variable is valid.
30337         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
30338
30339 2000-11-16  Jim Meyering  <meyering@lucent.com>
30340
30341         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
30342
30343 2000-11-11  Jim Meyering  <meyering@lucent.com>
30344
30345         * lib/error.c: Add a couple #includes, merging from GNU libc version.
30346
30347 2000-11-10  Jim Meyering  <meyering@lucent.com>
30348
30349         * lib/obstack.h: Update from GNU libc.
30350         * lib/obstack.c: Likewise.
30351
30352 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
30353
30354         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
30355
30356 2000-11-06  Paul Eggert  <eggert@twinsun.com>
30357
30358         * lib/getusershell.c (setusershell): Use rewind rather than
30359         fseek/fseeko, to avoid configuration hassles with fseeko.
30360         Don't bother opening SHELLS_FILE if shellstream is NULL;
30361         it's not necessary.
30362
30363 2000-11-05  Jim Meyering  <meyering@lucent.com>
30364
30365         * lib/makepath.h (make_dir): Declare.
30366         * lib/makepath.c (make_dir): Remove `static' attribute.
30367         Tweak a comment.
30368
30369 2000-11-04  Jim Meyering  <meyering@lucent.com>
30370
30371         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
30372
30373 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
30374
30375         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
30376         last one in a bucket, advance to the next bucket.
30377
30378 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
30379
30380         * lib/fnmatch.c: Do not comment out all the code if we are using
30381         the GNU C library, because in some cases we are replacing buggy
30382         code in the GNU C library itself.
30383
30384 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
30385
30386         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
30387         (regex_compile): Catch bogus \(\1\).
30388
30389 2000-10-30  Paul Eggert  <eggert@twinsun.com>
30390
30391         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
30392         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
30393         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
30394
30395 2000-10-30  Paul Eggert  <eggert@twinsun.com>
30396
30397         * lib/error.h, getline.h, modechange.h:
30398         Remove "2000" from Copyright line, as the file hasn't been
30399         changed this year other than in the copyright notice.
30400
30401         * lib/xalloc.h: Add "2000" to Copyright line, as this file
30402         was changed this year.
30403
30404 2000-10-29  Jim Meyering  <meyering@lucent.com>
30405
30406         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
30407         renaming.
30408         * m4/ls-mntd-fs.m4: Likewise
30409
30410 2000-10-29  Jim Meyering  <meyering@lucent.com>
30411
30412         * lib/xstat.in: Fix grammar in comment.
30413
30414 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
30415
30416         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
30417         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
30418         doesn't define __restrict_arr.
30419
30420 2000-10-28  Jim Meyering  <meyering@lucent.com>
30421
30422         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
30423         (jm_PREREQ_MEMCHR): New function.
30424
30425 2000-10-28  Jim Meyering  <meyering@lucent.com>
30426
30427         * lib/memchr.c: Update from libc.
30428         Adjust for portability:
30429         [HAVE_STDLIB_H]: Include stdlib.h.
30430         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
30431         Undef __memchr, too.
30432         [!weak_alias]: Define __memchr to memchr.
30433
30434         * lib/regex.c: Update from libc.
30435         * lib/regex.h: Likewise.
30436         * lib/getopt1.c: Likewise.
30437         * lib/memcmp.c: Likewise.
30438
30439         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
30440         Avoid using fseek, when possible -- it's broken by design.
30441         Patch by Ulrich Drepper.
30442
30443 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
30444
30445         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
30446         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
30447         Giving in to popular pressure to shut up the compiler with casts.
30448
30449 2000-10-26  Jim Meyering  <meyering@lucent.com>
30450
30451         * lib/strftime.c: Update from libc.
30452
30453 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
30454
30455         * regex.c: More `unsigned char' -> `re_char' changes.
30456         Also change several `int' into `re_wchar_t'.
30457         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
30458         (PUSH_FAILURE_POINTER): Don't cast any more.
30459         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
30460         We want GCC to complain, since this piece of code makes
30461         re_match non-reentrant, which *should* be fixed.
30462         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
30463         (EXTEND_BUFFER): Use RETALLOC.
30464         (SET_LIST_BIT): Don't cast.
30465         (re_wchar_t): New type.
30466         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
30467         that those two functions will always properly return.
30468         (IMMEDIATE_QUIT_CHECK): Cast to void.
30469         (analyse_first): Use recursion rather than an explicit stack.
30470         (re_compile_fastmap): Can't fail anymore.
30471         (re_search_2): Don't check re_compile_fastmap for failure.
30472         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
30473         Now also sets the new value (passed in a new argument).
30474         (re_match_2_internal): Use it.
30475         Also, use a new var `reg' of type size_t when looping through regs
30476         rather than reuse the inappropriate `mcnt'.
30477
30478 2000-10-25  Jim Meyering  <meyering@lucent.com>
30479
30480         * lib/obstack.c: Update from libc.
30481
30482 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
30483
30484         * regex.c (regex_compile): Change the way of handling a range from
30485         a char less than 256 to a char not less than 256.
30486
30487 2000-10-24  Andrew Innes  <andrewi@gnu.org>
30488
30489         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
30490         NT-Emacs only.
30491         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
30492         so that re_search functions only quit when callers expect them to.
30493
30494 2000-10-23  Jim Meyering  <meyering@lucent.com>
30495
30496         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
30497         wrong.  That set_locale call must not have any side effects.
30498         From Paul Eggert.
30499
30500 2000-10-22  Jim Meyering  <meyering@lucent.com>
30501
30502         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
30503         [CYCLIC]: Remove now-unused definition.
30504
30505         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
30506         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
30507         Suggestion from Ulrich Drepper.
30508
30509 2000-10-21  Jim Meyering  <meyering@lucent.com>
30510
30511         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
30512         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
30513         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
30514
30515 2000-10-21  Jim Meyering  <meyering@lucent.com>
30516
30517         * lib/dirname.c (memrchr): Declare if necessary.
30518         (dir_name): Remove the restriction that there be no
30519         trailing slashes.  Now, this code skips past them, effectively
30520         ignoring them.
30521         [TEST_DIRNAME] (main): New unit tests.
30522
30523         * lib/memrchr.c: New file from GNU libc.
30524         Undef __memrchr, too.
30525         [!weak_alias]: Define __memrchr to memrchr.
30526         Guard weak_alias use with `#ifdef weak_alias'.
30527
30528 2000-10-21  Jim Meyering  <meyering@lucent.com>
30529
30530         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
30531         (dir_name): Use dir_name_r.
30532         * lib/dirname.h (dir_name_r): Declare it.
30533
30534 2000-10-17  Jim Meyering  <meyering@lucent.com>
30535
30536         * lib/quote.h (PARAMS): Define and use.
30537         Reported by Akim Demaille.
30538
30539         * lib/getopt.c: Update from libc.
30540
30541 2000-10-16  Jim Meyering  <meyering@lucent.com>
30542
30543         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
30544         setlocale.
30545         From Jan Fedak.
30546
30547 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
30548
30549         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
30550
30551 2000-09-25  Jim Meyering  <meyering@lucent.com>
30552
30553         * lib/md5.h (rol): Define (from GnuPG).
30554
30555         * lib/sha.c: Give credit (GnuPG) where due.
30556         (M): Use rol rather than open-coding it.
30557         Add a FIXME comment.
30558
30559 2000-09-21  Jim Meyering  <meyering@lucent.com>
30560
30561         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
30562         Reported by Michael Stone.
30563
30564 2000-09-20  Jim Meyering  <meyering@lucent.com>
30565
30566         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
30567         (noinst_HEADERS): Add sha.h.
30568         Based on code from Scott G. Miller and from GnuPG.
30569
30570 2000-09-18  Jim Meyering  <meyering@lucent.com>
30571
30572         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
30573         LIBS. Otherwise, everyone ends up linking with -lelf for some
30574         configurations.
30575         Reported by Mike Stone.
30576
30577 2000-09-15  Jim Meyering  <meyering@lucent.com>
30578
30579         * lib/regex.c: Update from libc.
30580
30581 2000-09-10  Jim Meyering  <meyering@lucent.com>
30582
30583         * lib/getopt.c (_getopt_internal): Update from glibc.
30584
30585 2000-09-09  Jim Meyering  <meyering@lucent.com>
30586
30587         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
30588         think it should be used as a general replacement for isascii.
30589         * lib/fnmatch.c: Likewise.
30590         * lib/mbswidth.c: Likewise
30591         * lib/regex.c: Likewise.
30592
30593         Don't use atoi.
30594         * lib/userspec.c: Include sys/param.h and limits.h.
30595         Include xstrtol.h.
30596         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
30597         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
30598         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
30599         UID, GID.  Check range.
30600
30601 2000-09-06  Jim Meyering  <meyering@lucent.com>
30602
30603         * lib/getopt.c (_getopt_internal): Update from glibc.
30604
30605 2000-08-30  Jim Meyering  <meyering@lucent.com>
30606
30607         * lib/strftime.c: Merge in changes from GNU libc.
30608
30609 2000-08-26  Jim Meyering  <meyering@lucent.com>
30610
30611         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
30612         * m4/fpending.m4: New file.
30613
30614 2000-08-26  Jim Meyering  <meyering@lucent.com>
30615
30616         * lib/closeout.c: Include "__fpending.h".
30617         (close_stdout_status): Return right away if there's nothing to flush.
30618
30619         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
30620         * lib/__fpending.c: New file.
30621         * lib/__fpending.h: New file.
30622
30623 2000-08-20  Jim Meyering  <meyering@lucent.com>
30624
30625         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
30626         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
30627         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
30628
30629 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
30630
30631         Improve fileutils installation on systems where running
30632         programs (like install) can't be unlinked.
30633         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
30634         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
30635
30636 2000-08-07  Paul Eggert  <eggert@twinsun.com>
30637
30638         Standardize on "memory exhausted" instead of "Memory exhausted"
30639         or "virtual memory exhausted".
30640         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
30641         "virtual memory exhausted".
30642         * lib/same.c (same_name): Invoke xalloc_die instead of printing
30643         our own message.
30644         * lib/userspec.c (parse_user_spec): Likewise.
30645         * lib/bumpalloc.h: comment fix
30646         * lib/same.c, userspec.c: Include xalloc.h.
30647
30648         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
30649         not char *const and pointing to a constant array.
30650         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
30651         (xrealloc): Comment fix.
30652
30653         * lib/userspec.c (parse_user_spec):
30654         Don't translate a message until just before returning,
30655         to avoid unnecessary translation.
30656
30657 2000-08-07  Jim Meyering  <meyering@lucent.com>
30658
30659         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
30660         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
30661         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
30662         getgroups.c, gethostname.c, getopt.h, group-member.c,
30663         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
30664         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
30665         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
30666         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
30667         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
30668         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
30669         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
30670         yesno.c: Back out Copyright date changes for each file with no change
30671         this year.  This eases coordination with other programs using the same
30672         source code modules.  From Paul Eggert.
30673
30674 2000-08-06  Paul Eggert  <eggert@twinsun.com>
30675
30676         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
30677         not char, for compatibility with glibc 2.1.3 strftime.c.
30678
30679 2000-08-03  Greg McGary  <greg@mcgary.org>
30680
30681         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
30682         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
30683         (EXTEND_BUFFER): Use them.
30684
30685 2000-08-01  Jim Meyering  <meyering@lucent.com>
30686
30687         * lib/dirname.c (ISSLASH): Define.
30688         (BACKSLASH_IS_PATH_SEPARATOR): Define.
30689         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
30690         both `\' and `/' may be use as path separators.
30691         Based on a patch from Prashant TR.
30692
30693 2000-07-31  Paul Eggert  <eggert@twinsun.com>
30694
30695         * lib/quotearg.c (quotearg_n_options): Don't make the initial
30696         slot vector a constant, since it might get modified.
30697
30698 2000-07-31  Jim Meyering  <meyering@lucent.com>
30699
30700         * lib/xmalloc.c: Use `virtual memory exhausted', not
30701         `Memory exhausted'.
30702         * lib/obstack.c (print_and_abort): Likewise.
30703
30704 2000-07-30  Paul Eggert  <eggert@twinsun.com>
30705
30706         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
30707         buffer, so that the caller can always quote one small
30708         component of a "memory exhausted" message in slot 0.
30709         From a suggestion by Jim Meyering.
30710
30711 2000-07-30  Jim Meyering  <meyering@lucent.com>
30712
30713         * lib/makepath.c (make_path): Quote the other instance, too.
30714
30715         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
30716         (STATIC_BUF_SIZE): Define.
30717         (quotearg_n_options): Use only statically allocated storage when
30718         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
30719         than STATIC_BUF_SIZE.
30720
30721 2000-07-29  Jim Meyering  <meyering@lucent.com>
30722
30723         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
30724         * lib/dirname.c (dir_name): Likewise.
30725
30726         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
30727         `/'.
30728
30729         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
30730         (dir_name): Assert that there are no trailing slashes.
30731
30732 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
30733
30734         * lib/mbswidth.h (mbswidth): Add a flags argument.
30735         (mbswidth): New declaration.
30736         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
30737         * lib/mbswidth.c (mbswidth): Add a flags argument.
30738         (mbsnwidth): New function.
30739
30740 2000-07-24  Jim Meyering  <meyering@lucent.com>
30741
30742         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
30743
30744 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30745
30746         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
30747
30748 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30749
30750         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
30751         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
30752         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
30753         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
30754         invoke multibyte primitives.
30755
30756 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30757
30758         * lib/quotearg.c:
30759         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
30760         so that mbstate_t is always defined.
30761
30762         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
30763         be 1 in at least one GCC installation, and this configuration
30764         error is likely to be common.  Ignoring MB_LEN_MAX hurts
30765         performance on hosts that have mbrtowc but have only unibyte
30766         locales, but I assume these hosts are rare.
30767
30768 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30769
30770         * lib/mbswidth.c (_XOPEN_SOURCE):
30771         Don't define; this causes problems on Solaris 7.
30772         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
30773
30774 2000-07-23  Jim Meyering  <meyering@lucent.com>
30775
30776         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
30777         too: getgrgid, getpwuid, getuid.
30778
30779 2000-07-23  Jim Meyering  <meyering@lucent.com>
30780
30781         * lib/basename.c (base_name): Add an assertion.
30782
30783 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
30784
30785         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
30786         shadow its mbsinit function.
30787
30788 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
30789
30790         * lib/mbswidth.h: New file.
30791         * lib/mbswidth.c: New file.
30792         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
30793         (noinst_HEADERS): Add mbswidth.h.
30794
30795 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
30796
30797         * lib/config.charset: Add support for FreeBSD. Improve support for
30798         HP-UX and IRIX 6.
30799
30800 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
30801
30802         * m4/mbswidth.m4: New file.
30803         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
30804
30805 2000-07-15  Jim Meyering  <meyering@lucent.com>
30806
30807         * lib/makepath.c: Include quote.h.
30808         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
30809         corresponding argument in a `quote (...)' call.
30810         Give better diagnostics.
30811
30812         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
30813         (noinst_HEADERS): Add quote.h.
30814
30815         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
30816         from tar's src/misc.c.
30817         * lib/quote.h: New file.  Prototypes for same.
30818
30819 2000-07-14  Paul Eggert  <eggert@twinsun.com>
30820
30821         From a suggestion by Bruno Haible.
30822         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
30823         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
30824         to decide whether to define the BeOS workaround macro;
30825         this adjusts to the change to AC_MBSTATE_T.
30826
30827 2000-07-14  Jim Meyering  <meyering@lucent.com>
30828
30829         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
30830         jm_AC_TYPE_UINTMAX_T.
30831
30832 2000-07-13  Paul Eggert  <eggert@twinsun.com>
30833
30834         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
30835
30836         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
30837         quotearg_buffer_restyled): Add support for
30838         clocale_quoting_style.  Undo previous change to
30839         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
30840         and "{RIGHT QUOTATION MARK}" msgids.
30841
30842 2000-07-10  Paul Eggert  <eggert@twinsun.com>
30843
30844         From a suggestion by Bruno Haible.
30845         * m4/mbstate_t.m4 (AC_MBSTATE_T):
30846         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
30847         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
30848         and mbstate_t, to a single-part test that simply defines mbstate_t.
30849         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
30850         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
30851
30852 2000-07-10  Jim Meyering  <meyering@lucent.com>
30853
30854         * m4/strerror_r.m4: Mirror the correction made in autoconf.
30855
30856         * m4/gnu-source.m4: Output to confdefs.h directly.
30857         Suggestion from Akim Demaille.
30858
30859 2000-07-09  Paul Eggert  <eggert@twinsun.com>
30860
30861         The old behavior of quoting `like this' doesn't look good with
30862         newer, ISO-style fonts.  See:
30863         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
30864
30865         Instead, quote "like this" by default.  Let the translator
30866         tailor the locale-specific quoting behavior by providing
30867         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
30868
30869         * lib/quotearg.c (N_): New macro.
30870         (gettext_default): New function.
30871         (quotearg_buffer_restyled): Use
30872         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
30873         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
30874
30875 2000-07-09  Jim Meyering  <meyering@lucent.com>
30876
30877         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
30878         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
30879
30880         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
30881         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
30882
30883 2000-07-09  Jim Meyering  <meyering@lucent.com>
30884
30885         * lib/Most files: Update copyright dates to include 2000.
30886
30887 2000-07-08  Jim Meyering  <meyering@lucent.com>
30888
30889         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
30890         if not defined.
30891         (xgethostname): Remove now-unnecessary #ifdef.
30892         Move declaration of `err' into loop where it's used.
30893
30894 2000-07-05  Paul Eggert  <eggert@twinsun.com>
30895         and Bruno Haible  <haible@clisp.cons.org>
30896
30897         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
30898         only if the test for an object-type mbstate_t fails.  This
30899         prevents us from mistakenly reporting that mbstate_t is a
30900         system object type after we "#define mbstate_t int" to work
30901         around its lack.
30902
30903 2000-07-05  Paul Eggert  <eggert@twinsun.com>
30904         and Bruno Haible  <haible@clisp.cons.org>
30905
30906         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
30907
30908 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
30909
30910         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
30911         to strerror_r.
30912         Include <ctype.h> for use of isalpha.
30913
30914 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
30915
30916         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
30917         by allocating a larger buffer. Test the gethostname return value for
30918         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
30919         returns an error and ENAMETOOLONG isn't defined.
30920
30921 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
30922
30923         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
30924         dimension.
30925
30926 2000-07-04  Jim Meyering  <meyering@lucent.com>
30927
30928         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
30929         of the deprecated AC_CHECKING.
30930
30931 2000-07-04  Jim Meyering  <meyering@lucent.com>
30932
30933         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
30934         Reported by Bruno Haible.
30935
30936 2000-07-04  Jim Meyering  <meyering@lucent.com>
30937
30938         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
30939         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
30940         lacks mbrtowc.
30941
30942 2000-07-03  Paul Eggert  <eggert@twinsun.com>
30943
30944         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
30945         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
30946
30947 2000-07-03  Paul Eggert  <eggert@twinsun.com>
30948         and Bruno Haible  <haible@clisp.cons.org>
30949
30950         * lib/quotearg.c (mbrtowc):
30951         Assign to *pwc, and return 1 only if result is nonzero.
30952         (iswprint): Use ISPRINT when substituting our own mbrtowc.
30953
30954 2000-07-03  Jim Meyering  <meyering@lucent.com>
30955
30956         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
30957
30958 2000-07-03  Jim Meyering  <meyering@lucent.com>
30959
30960         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
30961         This is necessary to get a definition of e.g., UTMP_FILE on
30962         HP-UX 10.20.
30963         From Bob Proulx.
30964
30965 2000-07-02  Jim Meyering  <meyering@lucent.com>
30966
30967         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
30968
30969         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
30970         AC_LIBOBJ(function_name).
30971         * m4/chown.m4: Likewise.
30972         * m4/fnmatch.m4: Likewise.
30973         * m4/ftruncate.m4: Likewise.
30974         * m4/getgroups.m4: Likewise.
30975         * m4/getline.m4: Likewise.
30976         * m4/group-member.m4: Likewise.
30977         * m4/jm-macros.m4: Likewise.
30978         * m4/lstat.m4: Likewise.
30979         * m4/malloc.m4: Likewise.
30980         * m4/memcmp.m4: Likewise.
30981         * m4/nanosleep.m4: Likewise.
30982         * m4/putenv.m4: Likewise.
30983         * m4/realloc.m4: Likewise.
30984         * m4/regex.m4: Likewise.
30985         * m4/stat.m4: Likewise.
30986         * m4/strftime.m4: Likewise.
30987
30988 2000-07-02  Jim Meyering  <meyering@lucent.com>
30989
30990         * lib/quotearg.c (mbstate_t): Don't define here.
30991
30992 2000-07-02  Jim Meyering  <meyering@lucent.com>
30993
30994         * lib/nanosleep.c (SIGCONT): Define if not already defined.
30995
30996 2000-07-01  Jim Meyering  <meyering@lucent.com>
30997
30998         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
30999
31000 2000-07-01  Jim Meyering  <meyering@lucent.com>
31001
31002         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
31003         problem.
31004
31005 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
31006
31007         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
31008         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
31009
31010 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
31011
31012         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
31013         per change in ../m4/ls-mntd-fs.m4.
31014         (read_filesystem_list): Ignore symbolic links.
31015
31016 2000-06-29  Jim Meyering  <meyering@lucent.com>
31017
31018         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
31019         for declaration of strcmp.
31020
31021         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
31022
31023         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
31024         Avoid warning by casting result to `char *' to remove `const'.
31025
31026 2000-06-28  Jim Meyering  <meyering@lucent.com>
31027
31028         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
31029         included by quotearg.c, for which we perform this test.  From
31030         Bruno Haible.
31031
31032 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
31033
31034         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
31035         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
31036         <utmpx.h> exists, put readutmp.o into LIBOBJS.
31037
31038 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
31039
31040         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
31041
31042 2000-06-26  Paul Eggert  <eggert@twinsun.com>
31043
31044         savedir now sets errno on failure and invokes xmalloc to get memory.
31045         Fix a couple of other minor bugs while we're at it.
31046
31047         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
31048         (NAMLEN): Remove macro.
31049         (malloc, realloc): Remove decls.
31050         (stpcpy): Likewise.
31051         ("xalloc.h"): Include.
31052         (NAME_SIZE_DEFAULT): New macro.
31053         (savedir): Use xmalloc / xrealloc to allocate memory.
31054         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
31055         Skip "" directory entries.
31056         Use strlen to calculate directory entry length, since the old method
31057         is rarely used these days and isn't worth supporting.
31058         Don't use a pointer after freeing it.
31059         Check for integer overflow when calculating allocation size.
31060         Use memcpy to copy entries, instead of stpcpy.
31061         Set errno properly when returning NULL.
31062         Check for readdir error.
31063
31064 2000-06-26  Jim Meyering  <meyering@lucent.com>
31065
31066         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
31067
31068 2000-06-25  Jim Meyering  <meyering@lucent.com>
31069
31070         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
31071         Linux header bug when _XOPEN_SOURCE is defined to 500.
31072
31073 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
31074
31075         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
31076         deficiency.
31077
31078 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
31079
31080         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
31081         Include xalloc.h.
31082         Don't include <stdlib.h>.  Don't declare malloc, realloc.
31083
31084 2000-06-24  Jim Meyering  <meyering@lucent.com>
31085
31086         * m4/strerror_r.m4: Revive this file -- to try out an experimental
31087         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
31088         for which strerror does return char*, but which lacks a conveniently
31089         accessible declaration of the function.  If the compile-test says
31090         strerror_r doesn't work, then resort to a `run'-test that works on
31091         BeOS and segfaults on DEC Unix.
31092
31093 2000-06-24  Jim Meyering  <meyering@lucent.com>
31094
31095         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
31096
31097 2000-06-23  Paul Eggert  <eggert@twinsun.com>
31098
31099         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
31100         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
31101
31102 2000-06-23  Paul Eggert  <eggert@twinsun.com>
31103
31104         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
31105         (mbrtowc, mbstate_t): Define substitutes if
31106         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
31107         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
31108         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
31109
31110 2000-06-23  Jim Meyering  <meyering@lucent.com>
31111
31112         * m4/afs.m4: Add missing AC_MSG_RESULT.
31113         Reported by Bruno Haible.
31114
31115         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
31116         Suggestion from Bruno Haible.
31117
31118 2000-06-23  Jim Meyering  <meyering@lucent.com>
31119
31120         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
31121
31122 2000-06-21  Jim Meyering  <meyering@lucent.com>
31123
31124         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
31125
31126 2000-06-21  Jim Meyering  <meyering@lucent.com>
31127
31128         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
31129         (noinst_HEADERS): Add getstr.h.
31130
31131         * lib/getline.c (getstr): Move into a separate file.
31132         * lib/getstr.c (getstr): New file, extracted from getline.c, with
31133         the following changes: new parameter, delim2; both delim[12]
31134         parameters have type `int', not `char'.  The latter would lose
31135         with 8-bit delimiters.
31136         * lib/getstr.h: New file.
31137
31138 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
31139
31140         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
31141         than 1024, return a memory chunk of least possible size, instead
31142         of size PATH_MAX + 2. In the loop, increment the size proportionally.
31143         Use free/xmalloc instead of xrealloc to avoid copying for very long
31144         paths.
31145
31146 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
31147
31148         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
31149         the empty string.
31150
31151 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
31152
31153         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
31154         address, not strdup.  Include <stdlib.h> and don't declare free().
31155
31156 2000-06-19  Jim Meyering  <meyering@lucent.com>
31157
31158         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
31159
31160 2000-06-18  Jim Meyering  <meyering@lucent.com>
31161
31162         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
31163
31164         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
31165         `checking whether...' message to be consistent with that of the
31166         lstat test.
31167
31168 2000-06-18  Jim Meyering  <meyering@lucent.com>
31169
31170         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
31171         Besides, these days every porting target provides a mkdir function.
31172
31173         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
31174         needed. (this snippet comes from src/system.h).
31175
31176 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
31177
31178         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
31179
31180 2000-06-15  Paul Eggert  <eggert@twinsun.com>
31181
31182         * lib/human.c (adjust_value): New function.
31183         (human_readable_inexact): Apply rounding style even when
31184         printing approximate values.
31185
31186 2000-06-14  Paul Eggert  <eggert@twinsun.com>
31187
31188         * lib/human.c (human_readable_inexact): Allow an input block
31189         size that is not a multiple of the output block size, and vice versa.
31190         Reported by Piergiorgio Sartor.
31191
31192 2000-06-14  Paul Eggert  <eggert@twinsun.com>
31193
31194         * lib/getdate.y (get_date): Apply relative times after time
31195         zone indicator, not before.  Reported by Todd A. Jacobs.
31196
31197 2000-06-13  Jim Meyering  <meyering@lucent.com>
31198
31199         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
31200
31201         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
31202
31203 2000-06-12  Paul Eggert  <eggert@twinsun.com>
31204
31205         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
31206
31207 2000-06-12  Jim Meyering  <meyering@lucent.com>
31208
31209         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
31210         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
31211         optional argument.
31212         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
31213         the optional argument, `lib'.
31214
31215 2000-06-08  Jim Meyering  <meyering@lucent.com>
31216
31217         * m4/largefile.m4: Remove file (now that it's part of autoconf).
31218
31219 2000-06-04  Paul Eggert  <eggert@twinsun.com>
31220
31221         Rewrite largefile configuration so that we don't need to run
31222         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
31223         AC_CANONICAL_HOST in configure.in -- jmm]
31224
31225         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
31226         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
31227         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
31228         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
31229         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
31230         All uses changed.
31231         Instead of inspecting the output of getconf, try to compile the
31232         test program without and with the macro definition.
31233         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
31234         for getconf.  Instead, check for the needed flags by compiling
31235         test programs.
31236
31237 2000-06-04  Paul Eggert  <eggert@twinsun.com>
31238
31239         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
31240
31241 2000-06-04  Jim Meyering  <meyering@lucent.com>
31242
31243         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
31244         SunOS 4.1.4 for which gid_t is an unsigned type.
31245
31246 2000-06-03  Jim Meyering  <meyering@lucent.com>
31247
31248         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
31249         now that autoconf requires that.
31250
31251         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
31252         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
31253         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
31254
31255 2000-06-03  Jim Meyering  <meyering@lucent.com>
31256
31257         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
31258
31259 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
31260
31261         * m4/glibc21.m4: New file.
31262         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
31263
31264 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
31265
31266         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
31267         newer, don't install charset.alias.
31268         * lib/config.charset: Change the Linux/glibc rules so they become empty
31269         on glibc-2.1 or newer.
31270
31271 2000-06-02  Jim Meyering  <meyering@lucent.com>
31272
31273         * lib/mountlist.c: Back out last change.  Instead, do this...
31274         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
31275         me_dummy member using the same `ignore'-testing code.
31276         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
31277         fs_type strings.
31278         From Mark D. Roth.
31279
31280 2000-05-29  Jim Meyering  <meyering@lucent.com>
31281
31282         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
31283         mounts with the `ignore' attribute.  Based on a patch from
31284         Mark D. Roth.
31285
31286 2000-05-28  Jim Meyering  <meyering@lucent.com>
31287
31288         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
31289         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31290         * m4/stat.m4: Likewise.
31291         * m4/lstat.m4: Likewise.
31292         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
31293
31294         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
31295         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
31296
31297 2000-05-26  Jim Meyering  <meyering@lucent.com>
31298
31299         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
31300
31301 2000-05-24  Jim Meyering  <meyering@lucent.com>
31302
31303         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
31304         autoconf requires that.
31305         * m4/lib-check.m4: Likewise.
31306         * m4/jm-macros.m4: Likewise.
31307         * m4/strftime.m4: Likewise.
31308
31309         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
31310         AC_CHECK_DECLS, now that autoconf requires that.
31311
31312 2000-05-22  Jim Meyering  <meyering@lucent.com>
31313
31314         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31315         * m4/lstat.m4: Likewise.
31316
31317 2000-05-22  Jim Meyering  <meyering@lucent.com>
31318
31319         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
31320
31321 2000-05-20  Jim Meyering  <meyering@lucent.com>
31322
31323         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
31324         (jm_PREREQ): Use it.
31325
31326 2000-05-18  Jim Meyering  <meyering@lucent.com>
31327
31328         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
31329         back, too, since it may have been modified by allocate_entry.
31330         (hash_delete): Rewrite to use neither the assignment operator
31331         nor the comma operator in an if-expression.
31332
31333 2000-05-15  Paul Eggert  <eggert@twinsun.com>
31334
31335         * lib/closeout.c:
31336         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
31337         Remove; no longer needed.
31338         "quotearg.h": Add include.
31339         (file_name): Do not bother to explicitly initialize to NULL; it's less
31340         efficient on some hosts.
31341         (close_stdout_status): Remove test as to whether stdout was already
31342         closed; it breaks for the case "echo x | sort >&-".
31343         Quote file name colons.
31344         Do not assume that _("write error") lacks format strings.
31345
31346 2000-05-15  Jim Meyering  <meyering@lucent.com>
31347
31348         * lib/version-etc.c (version_etc_copyright): Update the copyright
31349         string used in all --version output.
31350
31351 2000-05-14  Jim Meyering  <meyering@lucent.com>
31352
31353         * lib/closeout.c (close_stdout_set_file_name): New function.
31354         (close_stdout_status): Use new file-scoped global.
31355         Return right away if fstat says the stdout file descriptor is invalid.
31356         * lib/closeout.h (close_stdout_set_file_name): Declare.
31357
31358 2000-05-10  Jim Meyering  <meyering@lucent.com>
31359
31360         * lib/closeout.c [default_exit_status]: New file-scoped variable.
31361         (close_stdout_set_status): New function.
31362         * lib/closeout.h (close_stdout_set_status): Declare.
31363
31364 2000-05-09  Jim Meyering  <meyering@lucent.com>
31365
31366         * m4/gettext.m4: Rename this...
31367         * m4/libintl.m4: ...to this.
31368
31369 2000-05-08  Jim Meyering  <meyering@lucent.com>
31370
31371         * lib/long-options.c: Don't include closeout.h.
31372         (parse_long_options): Don't call close_stdout for --version.
31373
31374 2000-05-06  Paul Eggert  <eggert@twinsun.com>
31375
31376         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
31377         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
31378         2.1.3 bug.  This avoids a clash when files like regex.c define
31379         _GNU_SOURCE.
31380
31381 2000-05-06  Jim Meyering  <meyering@lucent.com>
31382
31383         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
31384         (AC_REPLACE_FUNCS): Add strnlen.
31385
31386         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
31387         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
31388
31389         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
31390         AC_SEARCH_LIBS call for nanosleep.
31391         (LIB_NANOSLEEP): Set and AC_SUBST.
31392
31393 2000-05-06  Jim Meyering  <meyering@lucent.com>
31394
31395         * lib/strnlen.c: Undefine __strnlen and strnlen.
31396         [!weak_alias]: Define __strnlen to strnlen.
31397
31398         * lib/atexit.c: New file, from libiberty.
31399
31400 2000-05-06  Jim Meyering  <meyering@lucent.com>
31401
31402         * lib/closeout.c (close_stdout_status): Also check for errors on the
31403         stderr stream.
31404
31405 2000-05-05  Jim Meyering  <meyering@lucent.com>
31406
31407         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
31408         AC_SEARCH_LIBS call for clock_gettime.
31409         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
31410
31411         * m4/search-libs.m4: Update from autoconf.
31412
31413         su doesn't work on Solaris 2.6.
31414         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
31415         <shadow.h>.  Reported by Dragos Harabor.
31416
31417 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
31418
31419         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
31420         memcpy instead of xmalloc, xrealloc, path_concat.
31421         (locale_charset): Treat empty environment variables as absent.
31422         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
31423
31424 2000-05-04  Jim Meyering  <meyering@lucent.com>
31425
31426         * lib/getopt.c: Update from glibc.
31427         * lib/obstack.c: Likewise.
31428         * lib/obstack.h: Likewise.
31429         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
31430         file
31431
31432         * lib/regex.h: Likewise.
31433         * lib/strndup.c: Likewise.
31434         * lib/strnlen.c: New file, from glibc.
31435
31436 2000-05-03  Jim Meyering  <meyering@lucent.com>
31437
31438         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
31439
31440 2000-05-02  Paul Eggert  <eggert@twinsun.com>
31441
31442         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
31443         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
31444         compile-time test, rather than inspecting host and OS, to
31445         decide whether to define _LARGEFILE_SOURCE.
31446
31447 2000-05-01  Jim Meyering  <meyering@lucent.com>
31448
31449         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
31450
31451         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
31452         Based on a patch from Bruno Haible.
31453
31454 2000-05-01  Jim Meyering  <meyering@lucent.com>
31455
31456         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
31457
31458 2000-04-29  Jim Meyering  <meyering@lucent.com>
31459
31460         * lib/path-concat.c: Declare strdup only if it's not defined.
31461         * lib/canon-host.c: Likewise.
31462
31463 2000-04-28  Jim Meyering  <meyering@lucent.com>
31464
31465         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
31466         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
31467         is included first, then limits.h is included by locale.h by libintl.h.
31468         From John David Anglin.
31469
31470 2000-04-25  Jim Meyering  <meyering@lucent.com>
31471
31472         * lib/makepath.c (S_IRWXUGO): Define.
31473         (make_path): Always perform explicit chmod if MODE specifies any
31474         of the `special' permission bits.  Prompted by a bug report against
31475         install from Mate Wierdl and Joost van Baal.
31476
31477 2000-04-18  Jim Meyering  <meyering@lucent.com>
31478
31479         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
31480         (jm_PREREQ): Use it.
31481
31482 2000-04-18  Jim Meyering  <meyering@lucent.com>
31483
31484         * lib/README: New file.
31485
31486         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
31487         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
31488
31489 2000-04-17  Jim Meyering  <meyering@lucent.com>
31490
31491         Get it right :-)
31492         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
31493         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
31494         Suggestion from Akim Demaille.
31495
31496 2000-04-17  Jim Meyering  <meyering@lucent.com>
31497
31498         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
31499         the definition of it to rpl_strftime also defined-away the system's
31500         declaration.
31501
31502 2000-04-15  Jim Meyering  <meyering@lucent.com>
31503
31504         Use `C' to denote so-called `contiguous' files, the same way
31505         that tar does.
31506         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
31507         (ftypelet): Use S_ISCTG.
31508         From Michael Deutschmann.
31509
31510 2000-04-14  Jim Meyering  <meyering@lucent.com>
31511
31512         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
31513         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
31514         clobbered.
31515
31516 2000-04-14  Jim Meyering  <meyering@lucent.com>
31517
31518         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
31519
31520 2000-04-13  Jim Meyering  <meyering@lucent.com>
31521
31522         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
31523         AH_VERBATIM to insert required #ifndef into config.h.in.
31524         Suggestion from Akim Demaille.
31525
31526 2000-04-12  Jim Meyering  <meyering@lucent.com>
31527
31528         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
31529         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
31530         Christian Krackowizer.
31531
31532         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
31533         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
31534         (AC_SYS_LARGEFILE): Require.
31535         (AM_C_PROTOTYPES): Require.
31536
31537 2000-04-08  Jim Meyering  <meyering@lucent.com>
31538
31539         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
31540         names don't conflict.  Reported by Eli Zaretskii.
31541
31542 2000-04-07  Jim Meyering  <meyering@lucent.com>
31543
31544         * lib/putenv.c: Move inclusion of errno.h so it follows that of
31545         sys/types.h, to work around system header problems on AIX 3.2.5.
31546         From Bruno Haible.
31547
31548 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
31549
31550         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
31551         bug.  Deal with the different error behavior of Irix iconv.
31552
31553 2000-04-05  Paul Eggert  <eggert@twinsun.com>
31554
31555         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
31556         IRIX if the installer said otherwise.
31557
31558 2000-04-05  Jim Meyering  <meyering@lucent.com>
31559
31560         Portability tweaks required for ultrix4.3.
31561         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
31562         (jm_CHECK_DECLS): Add getutent to the list of functions.
31563         (_jm_DECL_HEADERS): Add utmpx.h.
31564         From John David Anglin.
31565
31566         * m4/strftime.m4: Back out the 2000-04-02 change.
31567         Instead of that change, simply undefine putenv in the test program.
31568
31569 2000-04-05  Jim Meyering  <meyering@lucent.com>
31570
31571         Portability tweaks required for ultrix4.3.
31572         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
31573         getutent.
31574         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
31575         * lib/canon-host.c: Declare strdup.
31576         * lib/path-concat.c: Likewise.
31577         From John David Anglin.
31578
31579 2000-04-04  Jim Meyering  <meyering@lucent.com>
31580
31581         Be more DOS 8.3-friendly.
31582         * lib/ref-add.sin: Renamed from ref-add.sed.in.
31583         * lib/ref-del.sin: Renamed from ref-del.sed.in.
31584         * lib/Makefile.am: Reflect renaming.
31585         Reported by Eli Zaretskii.
31586
31587         Use a temporary file name that won't clash with `charset.alias'
31588         in the DOS 8.3 name space.
31589         * lib/Makefile.am (charset_tmp): Define.
31590         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
31591         (uninstall-local): Likewise.
31592         Reported by Eli Zaretskii.
31593
31594 2000-04-03  Jim Meyering  <meyering@lucent.com>
31595
31596         * m4/gettext.m4: Fix typo in comment.
31597
31598         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
31599         textutils/configure.in).  Suggestion from Paul Eggert.
31600         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
31601
31602 2000-04-02  Paul Eggert  <eggert@twinsun.com>
31603
31604         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
31605         variable in the shell rather than using putenv, which isn't
31606         portable.  This avoids the configure-time inter-test dependency
31607         on the potentially-renamed putenv function.
31608
31609 2000-03-30  Paul Eggert  <eggert@twinsun.com>
31610
31611         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
31612         before checking struct stat.st_blksize, so that
31613         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
31614
31615 2000-03-29  Paul Eggert  <eggert@twinsun.com>
31616
31617         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
31618         since strftime.c uses HAVE_STRFTIME to decide whether to use
31619         the underlying strftime.
31620
31621 2000-03-29  Paul Eggert  <eggert@twinsun.com>
31622
31623         * lib/time/strftime.c (my_strftime): Make sure we call the system
31624         strftime, not ourselves, when invoking the underlying strftime.
31625
31626 2000-03-24  Jim Meyering  <meyering@lucent.com>
31627
31628         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
31629         (charset_alias): Define.
31630         (install-exec-local): Factor out common code.
31631         (uninstall-local): Split lines longer than 80.
31632         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
31633         (SUFFIXES): Define.
31634         (.sed.in.sed): New rule.  Don't redirect directly to $@.
31635         (CLEANFILES): Add ref-add.sed and ref-del.sed.
31636
31637 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
31638
31639         * lib/config.charset: Output a line containing "Packages using this
31640         file".
31641         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
31642         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
31643         ref-del.sed): New rules.
31644
31645 2000-03-17  Jim Meyering  <meyering@lucent.com>
31646
31647         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
31648         Otherwise, include <strings.h>
31649
31650 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
31651
31652         * lib/unicodeio.c (utf8_wctomb): New function.
31653         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
31654         format instead of in UCS-4 with platform dependent endianness.
31655
31656 2000-03-10  Jim Meyering  <meyering@lucent.com>
31657
31658         * m4/lib-check.m4: Look for getspnam in -lgen, too.
31659         From Marco Franzen.
31660
31661 2000-03-07  Paul Eggert  <eggert@twinsun.com>
31662
31663         * lib/savedir.c (savedir): Work even if directory size is
31664         negative; this can happen with some screwy NFS configurations.
31665
31666 2000-03-06  Jim Meyering  <meyering@lucent.com>
31667
31668         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
31669         if it's NULL (because we ran out of memory).  From Bruno Haible.
31670
31671 2000-03-05  Jim Meyering  <meyering@lucent.com>
31672
31673         * lib/localcharset.c ("path-concat.h"): Include.
31674         (get_charset_aliases): Use path_concat instead of ANSI string
31675         concatenation.
31676
31677         * lib/unicodeio.h (PARAMS): Define.
31678         Use it to guard prototype.
31679
31680 2000-03-04  Jim Meyering  <meyering@lucent.com>
31681
31682         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
31683         for lib/localcharset.c.
31684
31685 2000-03-04  Jim Meyering  <meyering@lucent.com>
31686
31687         * lib/Makefile.am (install-exec-local): Create $(libdir) before
31688         installing into it.
31689         (uninstall-local): Uncomment this rule so `make distcheck' works
31690         once again.
31691
31692         * lib/unicodeio.c (<errno.h>): Include it.
31693         (errno): Declare if not defined.
31694
31695         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
31696
31697         * lib/config.charset: New version, incorporating remarks from a linux
31698         i18n mailing list.  From Bruno Haible.
31699
31700 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
31701
31702         * m4/codeset.m4: New file.
31703         * m4/iconv.m4: New file.
31704         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
31705
31706 2000-03-03  Jim Meyering  <meyering@lucent.com>
31707
31708         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
31709
31710 2000-03-02  Jim Meyering  <meyering@lucent.com>
31711
31712         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
31713         the messages come out on separate lines.
31714
31715         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
31716         rather than jm_CHECK_DECLARATIONS.
31717         * m4/decl.m4: Remove now-unused file.
31718
31719         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
31720         geteuid.
31721
31722 2000-03-02  Jim Meyering  <meyering@lucent.com>
31723
31724         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
31725
31726 2000-03-01  Jim Meyering  <meyering@lucent.com>
31727
31728         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
31729         * lib/unicodeio.c: Likewise.
31730
31731 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
31732
31733         * lib/config.charset: New file.
31734         * lib/localcharset.c: New file.
31735         * lib/unicodeio.h, lib/unicodeio.c: New files.
31736         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
31737         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
31738         (noinst_HEADERS): Add unicodeio.h.
31739         (all-local, install-exec-local, charset.alias): New targets.
31740
31741 2000-02-28  Paul Eggert  <eggert@twinsun.com>
31742
31743         * lib/quotearg.c (ALERT_CHAR): New macro.
31744         (quotearg_buffer_restyled): Use it.
31745
31746 2000-02-27  Jim Meyering  <meyering@lucent.com>
31747
31748         * m4/check-decl.m4: Add getenv to the list.
31749
31750 2000-02-27  Jim Meyering  <meyering@lucent.com>
31751
31752         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
31753         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
31754
31755         * lib/backupfile.c: Guard inclusion of stdlib.h with
31756         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
31757         Declare malloc if needed.
31758
31759         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
31760         `#ifndef HAVE_DECL..'
31761         now that autoconf always defines the HAVE_DECL_ symbols.
31762         * lib/human.c: Likewise.
31763         * lib/same.c: Likewise.
31764         * lib/strtoumax.c: Likewise.
31765
31766         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
31767         declaration check was not run.
31768         * lib/hash.c: Likewise.
31769         * lib/human.c: Likewise.
31770         * lib/same.c: Likewise.
31771         * lib/strtoumax.c: Likewise.
31772
31773         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
31774         `.', then first look up the entire `.'-containing string as a login
31775         name.
31776
31777 2000-02-23  Jim Meyering  <meyering@lucent.com>
31778
31779         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
31780         in place of my hack.
31781
31782 2000-02-18  Paul Eggert  <eggert@twinsun.com>
31783
31784         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
31785         (textint): New typedef.
31786         (parser_control): Member year changed from int to textint.
31787         All uses changed.
31788         (YYSTYPE): Removed; replaced by %union with int and textint members.
31789         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
31790         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
31791         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
31792         (tSNUMBER, tUNUMBER): Now of type <textintval>.
31793         (date, number, to_year): Use width of number in digits, not its value,
31794         to determine whether it's a 2-digit year, or a 2-digit time.
31795         (yylex): Store number of digits of numeric tokens.
31796         Reported by John Kendall.
31797
31798         (parser_control): Changed from struct parser_control to typedef (for
31799         consistency).  All uses changed.
31800
31801         (tID): Removed; not used.
31802         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
31803
31804 2000-02-14  Paul Eggert  <eggert@twinsun.com>
31805
31806         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
31807         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
31808
31809 2000-02-12  Jim Meyering  <meyering@lucent.com>
31810
31811         * lib/userspec.c (ISDIGIT): Define it.
31812         (isdigit): Remove definition.
31813         (is_number): Use ISDIGIT, not isdigit.
31814         <libintl.h>: Include.
31815         (_ and N_): Define.
31816         (parse_user_spec): Mark translatable strings.
31817
31818 2000-02-10  Jim Meyering  <meyering@lucent.com>
31819
31820         With these changes, nanosleep.[ch] are finally enough like the other
31821         lib/* replacement files to compile on a few more losing systems.
31822
31823         * lib/nanosleep.h: Don't include config.h.
31824         Remove prototype from declaration of nanosleep.
31825         (PARAMS): Remove now-unneeded definition.
31826         * lib/nanosleep.c: #undef nanosleep.
31827         (rpl_nanosleep): Rename from nanosleep.
31828
31829 2000-02-10  Jim Meyering  <meyering@lucent.com>
31830
31831         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
31832         gnu_nanosleep to rpl_nanosleep.
31833
31834 2000-02-09  Jim Meyering  <meyering@lucent.com>
31835
31836         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
31837         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
31838
31839 2000-02-08  Akim Demaille  <akim@epita.fr>
31840
31841         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
31842         `[' and `]' and remove uses of `changequote'.
31843         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
31844         (AC_SYS_LARGEFILE): Likewise.
31845         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31846         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
31847         of changequote.
31848         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
31849         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
31850         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
31851         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
31852
31853 2000-02-05  Jim Meyering  <meyering@lucent.com>
31854
31855         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
31856         Remove explicit use of AC_HEADER_TIME.  It is required by
31857         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
31858         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
31859         in autoconf whereby the expansion of the latter ended up preceding
31860         the expansion of its prerequisite, AC_HEADER_TIME.
31861         Reported by Volker Borchert.
31862
31863 2000-02-03  Jim Meyering  <meyering@lucent.com>
31864
31865         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
31866
31867 2000-02-03  Jim Meyering  <meyering@lucent.com>
31868
31869         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
31870         rather than with `#if HAVE_UTMPNAME'.
31871
31872 2000-02-02  Jim Meyering  <meyering@lucent.com>
31873
31874         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
31875         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
31876         Reported by Eli Zaretskii.
31877
31878 2000-02-01  Jim Meyering  <meyering@lucent.com>
31879
31880         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
31881
31882 2000-01-31  Jim Meyering  <meyering@lucent.com>
31883
31884         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
31885         functions.  Add the time.h and sys/time.h headers along with the
31886         AC_REQUIRE'ment of AC_HEADER_TIME.
31887
31888 2000-01-31  Jim Meyering  <meyering@lucent.com>
31889
31890         * lib/nanosleep.h (nanosleep): Guard declaration with
31891         `#if ! HAVE_DECL_NANOSLEEP'.
31892         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
31893         the declaration in that vendor's sys/timers.h.
31894         Reported by Christian Krackowizer.
31895
31896         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
31897         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
31898         (ISPRINT): Likewise.
31899         Reported by Tom Tromey.
31900
31901 2000-01-30  Jim Meyering  <meyering@lucent.com>
31902
31903         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
31904
31905         * m4/prereq.m4 (utmp_includes): Define.
31906         Check for ut_user and ut_name members in both struct utmpx
31907         and struct utmp.
31908
31909 2000-01-30  Jim Meyering  <meyering@lucent.com>
31910
31911         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
31912         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
31913         header files where only utmpx.ut_user is declared.
31914
31915         * lib/readutmp.h (UT_USER): Define.
31916
31917 2000-01-29  Jim Meyering  <meyering@lucent.com>
31918
31919         * m4/lib-check.m4: New file containing library-related checks from
31920         fileutils and sh-utils (textutils had none).
31921
31922 2000-01-28  Jim Meyering  <meyering@lucent.com>
31923
31924         * m4/perl.m4: Change format of warning message to look more like that
31925         from the missing script.  Suggestion from François Pinard.
31926
31927 2000-01-25  Jim Meyering  <meyering@lucent.com>
31928
31929         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
31930         well as time.h in the compile check.
31931         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
31932         Fix typo in cross-compiling case: s/yes/no/.
31933
31934 2000-01-23  Jim Meyering  <meyering@lucent.com>
31935
31936         * m4/jm-macros.m4: Move df-related tests here from
31937         fileutils/configure.in
31938
31939         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
31940         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
31941
31942         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
31943         s/space/ac_fsusage_space/.
31944         (jm_FILE_SYSTEM_USAGE): Take two parameters.
31945
31946         * m4/ftruncate.m4: New file (derived from part of
31947         fileutils/configure.in).
31948         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
31949         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
31950
31951         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
31952         AC_SUBST these here, rather than just in sh-util/configure.in, so
31953         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
31954         all the same.
31955         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
31956         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
31957         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
31958         (AC_SUBST(POW_LIBM)): Likewise.
31959         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
31960
31961 2000-01-23  Jim Meyering  <meyering@lucent.com>
31962
31963         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
31964         obstack.c.
31965
31966 2000-01-22  Jim Meyering  <meyering@lucent.com>
31967
31968         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
31969
31970         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
31971
31972         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
31973         configure.in
31974         (AC_CHECK_HEADERS): Likewise for sh-utils.
31975         (AC_CHECK_HEADERS): Likewise for textutils.
31976         Merge the three lists of headers.
31977
31978         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
31979         from fileutils' configure.in.
31980
31981         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
31982         code. Moved tests into their own function (_jm_DECL_HEADERS) in
31983         check-decl.m4.
31984
31985         * m4/check-decl.m4: Use #if rather than #ifdef.
31986         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
31987         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
31988         (_jm_DECL_HEADERS): Define new function.
31989         (jm_CHECK_DECLARATIONS): Require it.
31990
31991 2000-01-22  Jim Meyering  <meyering@lucent.com>
31992
31993         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
31994         [! HAVE_DECL_STRTOULL]: Declare strtoull.
31995         Required for some AIX systems.  Reported by Christian Krackowizer.
31996         [TESTING] (main): New function.
31997
31998         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
31999         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
32000         letters.
32001
32002         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
32003         iswprint.
32004
32005         * lib/strverscmp.c (ISDIGIT): Define.
32006         (strverscmp): Use ISDIGIT, not isdigit.
32007
32008 2000-01-19  Jim Meyering  <meyering@lucent.com>
32009
32010         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
32011         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
32012         defines `struct timespec' in <sys/time.h>
32013
32014         * m4/c-bs-a.m4: Remove uses of changequote altogether.
32015         Thanks to Akim for explaining.
32016
32017 2000-01-17  Paul Eggert  <eggert@twinsun.com>
32018
32019         * lib/nanosleep.c (nanosleep):
32020         Don't use SA_INTERRUPT to decide whether to call sigaction, as
32021         POSIX.1 doesn't require SA_INTERRUPT and some systems
32022         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
32023         it's been part of POSIX.1 since day 1 (in 1988).
32024
32025 2000-01-17  Jim Meyering  <meyering@lucent.com>
32026
32027         * lib/interlock: Remove unused file.  Reported by François Pinard.
32028
32029 2000-01-16  Paul Eggert  <eggert@twinsun.com>
32030
32031         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
32032         alert, backslash, formfeed, and vertical tab unnecessarily in
32033         shell quoting style.
32034
32035 2000-01-16  Jim Meyering  <meyering@lucent.com>
32036
32037         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
32038         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
32039         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
32040         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
32041
32042 2000-01-16  Jim Meyering  <meyering@lucent.com>
32043
32044         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
32045         because the latter didn't work.
32046
32047 2000-01-15  Jim Meyering  <meyering@lucent.com>
32048
32049         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
32050         (AC_REPLACE_FUNCS): Add memcpy and memset.
32051         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
32052         Add strpbrk.
32053         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
32054
32055 2000-01-12  Jim Meyering  <meyering@lucent.com>
32056
32057         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
32058         (jm_PREREQ): Use it.
32059         (jm_PREREQ_READUTMP): New macro.
32060         (jm_PREREQ): Use it.
32061
32062 2000-01-11  Paul Eggert  <eggert@twinsun.com>
32063
32064         Quote multibyte characters correctly.
32065         * m4/c-bs-a.m4: New file.
32066         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
32067         (jm_PREREQ): Use it.
32068
32069 2000-01-11  Paul Eggert  <eggert@twinsun.com>
32070
32071         * m4/uintmax_t.m4: Port to autoconf 2.13.
32072
32073 2000-01-08  Jim Meyering  <meyering@ascend.com>
32074
32075         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
32076         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
32077
32078 2000-01-04  Jim Meyering  <meyering@ascend.com>
32079
32080         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
32081         jm_STRUCT_DIRENT_D_TYPE.
32082         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
32083         jm_STRUCT_DIRENT_D_INO.
32084         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
32085         jm_STRUCT_UTIMBUF.
32086         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
32087         renamings.
32088         * m4/utime.m4: Likewise.
32089
32090         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
32091         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
32092
32093 2000-01-03  Paul Eggert  <eggert@twinsun.com>
32094
32095         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
32096         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
32097
32098 2000-01-02  Jim Meyering  <meyering@ascend.com>
32099
32100         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
32101         remember if this is necessary.
32102
32103 1999-12-26  Jim Meyering  <meyering@ascend.com>
32104
32105         * m4/jm-macros.m4: Use it here.
32106         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
32107
32108 1999-12-23  Jim Meyering  <meyering@ascend.com>
32109
32110         * m4/jm-macros.m4: Check for clock_gettime (moved from
32111         fileutils/configure.in)
32112         Check for gettimeofday.
32113
32114 1999-12-20  Jim Meyering  <meyering@ascend.com>
32115
32116         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
32117         autoconf-2.14a-1999-12-20.
32118
32119 1999-12-19  Jim Meyering  <meyering@ascend.com>
32120
32121         * m4/lstat-slash.m4: New file.
32122         * m4/jm-macros.m4: Use the new macro:
32123         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
32124
32125 1999-12-07  Jim Meyering  <meyering@ascend.com>
32126
32127         * m4/perl.m4: Require that File::Compare be available, too.
32128         Too many systems seem to lack it.
32129
32130         * m4/strftime.m4: Add checks for most of the cpp macros tested in
32131         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
32132
32133 1999-11-18  Paul Eggert  <eggert@twinsun.com>
32134
32135         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
32136         problem with the QNX 4.25 shell, which doesn't propagate exit
32137         status of failed commands inside shell assignments.
32138
32139 1999-11-17  Jim Meyering  <meyering@ascend.com>
32140
32141         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
32142
32143 1999-11-07  Jim Meyering  <meyering@ascend.com>
32144
32145         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
32146
32147 1999-11-06  Jim Meyering  <meyering@ascend.com>
32148
32149         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
32150         * m4/jm-macros.m4 (jm_MACROS): Use it here.
32151
32152 1999-11-05  Jim Meyering  <meyering@ascend.com>
32153
32154         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
32155         configure.in of textutils, fileutils, and sh-utils into this one
32156         (shared between those packages) file.
32157         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
32158         AC_STRUCT_ST_BLKSIZE.
32159
32160 1999-11-03  Jim Meyering  <meyering@ascend.com>
32161
32162         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
32163         of AC_CHECK_TYPE checks includes unistd.h.
32164         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
32165         Suggestion from Akim Demaille.
32166
32167 1999-10-30  Jim Meyering  <meyering@ascend.com>
32168
32169         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
32170         m4-quoted string.
32171         * m4/ls-mntd-fs.m4: Likewise.
32172         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
32173         * m4/jm-winsz1.m4: Likewise.
32174
32175         * m4/const.m4: Remove file, since the fix made it into the experimental
32176         version of autoconf.
32177         * m4/mktime.m4: Likewise.
32178
32179         * m4/check-type.m4: Remove file, now that the latest version of
32180         AC_CHECK_TYPE takes a third arg to specify additional #includes.
32181
32182         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
32183         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
32184         AC_CHECK_TYPE.
32185
32186 1999-10-04  Jim Meyering  <meyering@ascend.com>
32187
32188         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
32189
32190 1999-09-22  Paul Eggert  <eggert@twinsun.com>
32191
32192         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
32193         2.95.1 bug with HP-UX 10.20.
32194
32195 1999-09-17  Jim Meyering  <meyering@ascend.com>
32196
32197         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
32198         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
32199         due to missing strdup (against sh-utils-2.0).
32200
32201 1999-08-29  Jim Meyering  <meyering@ascend.com>
32202
32203         * m4/jm-macros.m4: Require jm_BISON.
32204         * m4/bison.m4: New file.
32205
32206 1999-08-17  Paul Eggert  <eggert@twinsun.com>
32207
32208         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
32209         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
32210
32211 1999-08-05  Jim Meyering  <meyering@ascend.com>
32212
32213         * m4/getline.m4: Rename test file from conftestdata to conftest.data
32214         to avoid conflicts with `conftest' on 8+3 filesystems.
32215         Suggestion from Eli Zaretskii.
32216
32217 1999-08-04  Jim Meyering  <meyering@ascend.com>
32218
32219         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
32220         fileutils and sh-utils (textutils's getline test was inadequate).
32221         (AM_FUNC_GETLINE): Run this test.
32222         (AC_CHECK_FUNCS): Check for getdelim.
32223         Reported by Bob Proulx.
32224
32225 1999-08-02  Jim Meyering  <meyering@ascend.com>
32226
32227         * m4/jm-macros.m4: Add a comment.
32228
32229 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32230
32231         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
32232         <inttypes.h> defines strtoumax as a macro (and not as a
32233         function).
32234
32235 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32236
32237         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
32238         that we can shift, multiply and divide unsigned long long
32239         values; Ultrix cc can't do it.
32240
32241 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32242
32243         * m4/mktime.m4: New file, which is a preview of what should appear
32244         in the next public autoconf release.
32245
32246 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32247
32248         * m4/lfs.m4: Remove this file.
32249         * m4/largefile.m4: New file.  It contains the old contents of
32250         lfs.m4, except that all names with prefix AC_LFS have been
32251         changed to use the prefix AC_SYS_LARGEFILE instead, to be
32252         compatible with future autoconf versions.  Also, some minor m4
32253         quoting problems have been fixed.
32254
32255 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32256
32257         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
32258         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
32259         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
32260         and simplify the shell code.
32261
32262 1999-08-01  Jim Meyering  <meyering@ascend.com>
32263
32264         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
32265         m4.
32266
32267 1999-07-20  Jim Meyering  <meyering@ascend.com>
32268
32269         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
32270
32271 1999-07-15  Jim Meyering  <meyering@ascend.com>
32272
32273         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
32274
32275 1999-05-22  Jim Meyering  <meyering@ascend.com>
32276
32277         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
32278
32279 1999-05-20  Jim Meyering  <meyering@ascend.com>
32280
32281         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
32282         Add a colon after each `then' in case $4 is empty.
32283
32284 1999-05-16  Jim Meyering  <meyering@ascend.com>
32285
32286         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
32287
32288 1999-05-10  Jim Meyering  <meyering@ascend.com>
32289
32290         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
32291
32292         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
32293         AC_FUNC_MKTIME.
32294
32295 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
32296
32297         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
32298
32299 1999-05-04  Paul Eggert  <eggert@twinsun.com>
32300
32301         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
32302         not CPPFLAGS, so that linking works correctly in IRIX.
32303
32304 1999-04-30  Paul Eggert  <eggert@twinsun.com>
32305
32306         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
32307
32308 1999-04-20  Paul Eggert  <eggert@twinsun.com>
32309
32310         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
32311         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
32312         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
32313         jm_AC_TYPE_UNSIGNED_LONG_LONG.
32314         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
32315
32316         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
32317
32318 1999-04-20  Jim Meyering  <meyering@ascend.com>
32319
32320         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
32321         AC_REPLACE xstroull if necessary.  From Paul Eggert.
32322         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
32323
32324 1999-04-18  Jim Meyering  <meyering@ascend.com>
32325
32326         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
32327         * m4/jm-macros.m4: Use it.
32328
32329 1999-04-06  Jim Meyering  <meyering@ascend.com>
32330
32331         * m4/strftime.m4: Remove test for %f.
32332
32333 1999-03-29  Jim Meyering  <meyering@ascend.com>
32334
32335         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
32336         superset of the AC_TYPE_* checks in the textutils, fileutils,
32337         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
32338         AC_TYPE_PID_T.
32339
32340 1999-03-28  Jim Meyering  <meyering@ascend.com>
32341
32342         * m4/jm-macros.m4: Define GNU_PACKAGE here.
32343         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
32344         replaced e.g., in the *.sh files of the sh-utils.
32345
32346 1999-03-20  Jim Meyering  <meyering@ascend.com>
32347
32348         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
32349         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
32350         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
32351
32352 1999-03-19  Jim Meyering  <meyering@ascend.com>
32353
32354         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
32355
32356 1999-03-12  Jim Meyering  <meyering@ascend.com>
32357
32358         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
32359
32360 1999-03-07  Jim Meyering  <meyering@ascend.com>
32361
32362         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
32363         declared.
32364
32365 1999-02-17  Jim Meyering  <meyering@ascend.com>
32366
32367         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
32368         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
32369
32370 1999-02-07  Jim Meyering  <meyering@ascend.com>
32371
32372         * m4/group-member.m4: New file -- extracted from sh-utils'
32373         configure.in.
32374
32375         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
32376         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
32377
32378 1999-02-06  Jim Meyering  <meyering@ascend.com>
32379
32380         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
32381         * m4/fnmatch.m4: Likewise.
32382         * m4/getgroups.m4: Likewise.
32383         * m4/lstat.m4: Likewise.
32384         * m4/malloc.m4: Likewise.
32385         * m4/putenv.m4: Likewise.
32386         * m4/realloc.m4: Likewise.
32387         * m4/regex.m4: Likewise.
32388         * m4/stat.m4: Likewise.
32389         * m4/strftime.m4: Likewise.
32390         Suggestion from Alain Magloire.
32391
32392         * m4/chown.m4: Use `.$ac_objext', not `.o'.
32393         * m4/fnmatch.m4: Likewise.
32394         * m4/getgroups.m4: Likewise.
32395         * m4/getline.m4: Likewise.
32396         * m4/lstat.m4: Likewise.
32397         * m4/malloc.m4: Likewise.
32398         * m4/memcmp.m4: Likewise.
32399         * m4/putenv.m4: Likewise.
32400         * m4/realloc.m4: Likewise.
32401         * m4/regex.m4: Likewise.
32402         * m4/stat.m4: Likewise.
32403         * m4/strftime.m4: Likewise.
32404         Suggestion from Alain Magloire.
32405
32406         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
32407         an argument.
32408
32409         * m4/regex.m4: Add a run-time Test for proper operation of
32410         re_compile_pattern.
32411
32412 1999-01-31  Jim Meyering  <meyering@ascend.com>
32413
32414         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
32415
32416 1999-01-30  Jim Meyering  <meyering@ascend.com>
32417
32418         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
32419
32420         * m4/jm-mktime.m4: Make this a wrapper around the official
32421         AM_FUNC_MKTIME rather than my private copy, now that the official one
32422         is up to date.
32423         * m4/mktime.m4: Remove file.
32424
32425         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
32426         * m4/uptime.m4: Likewise.
32427         * m4/uintmax_t.m4: Likewise.
32428
32429 1999-01-28  Jim Meyering  <meyering@ascend.com>
32430
32431         * m4/jm-macros.m4: Use jm_AFS.
32432         * m4/afs.m4: New file (from fileutils' configure.in).
32433
32434         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
32435         * m4/chown.m4: Likewise.
32436         * m4/d-ino.m4: Likewise.
32437         * m4/d-type.m4: Likewise.
32438         * m4/fnmatch.m4: Likewise.
32439         * m4/getgroups.m4: Likewise.
32440         * m4/gettext.m4: Likewise.
32441         * m4/jm-mktime.m4: Likewise.
32442         * m4/jm-winsz2.m4: Likewise.
32443         * m4/lcmessage.m4: Likewise.
32444         * m4/ls-mntd-fs.m4: Likewise.
32445         * m4/malloc.m4: Likewise.
32446         * m4/memcmp.m4: Likewise.
32447         * m4/putenv.m4: Likewise.
32448         * m4/realloc.m4: Likewise.
32449         * m4/st_mtim.m4: Likewise.
32450         * m4/strftime.m4: Likewise.
32451
32452 1999-01-16  Jim Meyering  <meyering@ascend.com>
32453
32454         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
32455         (ARGMATCH_DIE_DECL): Define.
32456
32457 1999-01-12  Jim Meyering  <meyering@ascend.com>
32458
32459         * m4/Makefile.am.in: Rewrite to avoid using fmt.
32460         Reported by Lars Hecking.
32461
32462 1999-01-10  Jim Meyering  <meyering@ascend.com>
32463
32464         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
32465         gross kludge.
32466         * m4/inttypes_h.m4: Likewise.
32467         * m4/lstat.m4: Likewise.
32468         * m4/malloc.m4: Likewise.
32469         * m4/readdir.m4: Likewise.
32470         * m4/realloc.m4: Likewise.
32471         * m4/st_dm_mode.m4: Likewise.
32472         * m4/stat.m4: Likewise.
32473         * m4/utimbuf.m4: Likewise.
32474         * m4/utimes.m4: Likewise.
32475
32476         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
32477         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
32478         comments in config.h.in are meaningful.
32479
32480         * m4/jm-macros.m4: Require autoconf-2.13 here.
32481
32482         * m4/regex.m4: By default, don't use the included regex.c on systems
32483         with glibc 2.  Suggestion from Uli Drepper.
32484
32485 1999-01-02  Jim Meyering  <meyering@ascend.com>
32486
32487         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
32488
32489 1998-12-18  Jim Meyering  <meyering@ascend.com>
32490
32491         * m4/Makefile.am.in (Makefile.am): Simplify rule.
32492         Based on a suggestion from Lars Hecking.
32493
32494 1998-11-16  Paul Eggert  <eggert@twinsun.com>
32495
32496         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
32497
32498 1998-11-16  Jim Meyering  <meyering@ascend.com>
32499
32500         * m4/lfs.m4: Double-quote the `uname...` expression.
32501
32502 1998-11-14  Jim Meyering  <meyering@ascend.com>
32503
32504         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
32505         * m4/stat.m4: Likewise.
32506
32507 1998-11-03  Jim Meyering  <meyering@ascend.com>
32508
32509         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
32510         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
32511
32512 1998-10-18  Jim Meyering  <meyering@ascend.com>
32513
32514         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
32515
32516 1998-10-17  Jim Meyering  <meyering@ascend.com>
32517
32518         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
32519         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
32520         calls for those previously hard-coded headers.  Instead, take a new
32521         parameter.
32522         (jm_CHECK_DECLARATIONS): Reflect interface change.
32523         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
32524         (jm_CHECK_DECL_LOCALTIME_R): New macro.
32525
32526         * m4/mktime.m4: Test for spring-forward gap before long-running test.
32527
32528 1998-10-14  Jim Meyering  <meyering@ascend.com>
32529
32530         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
32531         instead of "TZ=America/Vancouver".  From Paul Eggert.
32532
32533 1998-10-11  Jim Meyering  <meyering@ascend.com>
32534
32535         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
32536         This adds a test for a recently added compatibility fix for mktime.c.
32537         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
32538
32539 1998-09-27  Jim Meyering  <meyering@ascend.com>
32540
32541         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
32542
32543         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
32544         ../configure.in, including a change from Gordon Matzigkeit to allow
32545         cross-compiling for the Hurd.
32546
32547         * m4/glibc.m4: New file/macro to test for the GNU C Library
32548         versions 1 and 2.  From Gordon Matzigkeit.
32549         Indent.
32550
32551 1998-09-21  Jim Meyering  <meyering@ascend.com>
32552
32553         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
32554
32555 1998-08-18  Paul Eggert  <eggert@twinsun.com>
32556
32557         Port nanosecond-resolution times to UnixWare 2.1.2 and
32558         pedantic Solaris 2.6.
32559
32560         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
32561         AC_STRUCT_ST_MTIM.
32562         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
32563         Generate name of ns member, instead of just 1 or undef.
32564         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
32565
32566 1998-08-15  Jim Meyering  <meyering@ascend.com>
32567
32568         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
32569         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
32570         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
32571         instead of jm_TYPE_SSIZE_T.
32572
32573 1998-08-12  Jim Meyering  <meyering@ascend.com>
32574
32575         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
32576
32577 1998-08-02  Jim Meyering  <meyering@ascend.com>
32578
32579         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
32580         in acconfig.h manually.
32581
32582 1998-07-31  Paul Eggert  <eggert@twinsun.com>
32583
32584         * m4/st_mtim.m4: New file.
32585
32586 1998-07-28  Jim Meyering  <meyering@ascend.com>
32587
32588         * m4/utimes.m4: Undef stat.
32589
32590 1998-07-25  Jim Meyering  <meyering@ascend.com>
32591
32592         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
32593         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
32594
32595 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
32596
32597         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
32598         uid and gid actually remain unchanged.
32599
32600 1998-07-07  Jim Meyering  <meyering@ascend.com>
32601
32602         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
32603
32604 1998-07-04  Jim Meyering  <meyering@ascend.com>
32605
32606         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
32607         to prove that this macro can be used in packages without regex.c.
32608
32609 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
32610
32611         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
32612         is to be used.
32613
32614 1998-07-03  Jim Meyering  <meyering@ascend.com>
32615
32616         * m4/gettext.m4: Add -lintl if it's found to be necessary.
32617
32618         * m4/gettext.m4: New file -- from gettext-0.10.35.
32619         * m4/lcmessage.m4: Likewise.
32620         * m4/progtest.m4: Likewise.
32621
32622         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
32623         * m4/jm-macros.m4: Require the new macro.
32624
32625 1998-06-29  Jim Meyering  <meyering@ascend.com>
32626
32627         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
32628         for the definition of NGROUPS (used in a system header included
32629         by sys/mount.h).
32630
32631 1998-06-28  Jim Meyering  <meyering@ascend.com>
32632
32633         * m4/ls-mntd-fs.m4: New file.
32634         * m4/fstypename.m4: New file.
32635
32636         * m4/jm-macros.m4: Require the new macro.
32637         * m4/jm-glibc-io.m4: New file.
32638
32639 1998-05-19  Jim Meyering  <meyering@ascend.com>
32640
32641         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
32642         * m4/lchown.m4: New file.
32643
32644         * m4/Makefile.am.in: New file.
32645         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
32646
32647 1998-05-14  Jim Meyering  <meyering@ascend.com>
32648
32649         * m4/Makefile.am (EXTRA_DIST): Add them.
32650         * m4/jm-macros.m4: New file.
32651         * m4/utimbuf.m4: New file.
32652
32653 1998-05-12  Jim Meyering  <meyering@ascend.com>
32654
32655         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
32656
32657 1998-05-11  Jim Meyering  <meyering@ascend.com>
32658
32659         * m4/isc-posix.m4: New file.
32660
32661 1998-05-10  Jim Meyering  <meyering@ascend.com>