10ff83933ebbeeacde95919060e63bb1f58108bd
[gnulib.git] / ChangeLog
1 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
2
3         * lib/gethostname.c: Include limits.h.
4
5 2009-08-02  Simon Josefsson  <simon@josefsson.org>
6             Bruno Haible  <bruno@clisp.org>
7
8         Ensure HOST_NAME_MAX as part of the gethostname module.
9         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
10         define also HOST_NAME_MAX.
11         * tests/test-gethostname.c: Include <limits.h>.
12         (main): Check also HOST_NAME_MAX.
13         * doc/posix-headers/limits.texi: Document the mingw problem.
14
15 2009-08-02  Bruno Haible  <bruno@clisp.org>
16
17         * lib/gethostname.c (gethostname): Fix handling of large len argument.
18         Add comments.
19
20 2009-03-31  Simon Josefsson  <simon@josefsson.org>
21
22         * lib/gethostname.c: Add Windows wrapper.
23         * m4/gethostname.m4: Look for gethostname in -lws2_32.
24         * modules/gethostname: Depend on sys_socket & errno, for also
25         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
26         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
27
28 2009-07-31  Jim Meyering  <meyering@redhat.com>
29
30         getloadavg: fix symbol name in comment
31         * lib/getloadavg.c: Correct a typo I introduced when adding
32         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
33         Matt Kraai spotted the problem.
34
35 2009-07-29  Matt Kraai  <mkraai@beckman.com>
36
37         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
38         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
39         code also if ! defined N_NAME_POINTER.
40         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
42         but the n_name member is a 12-byte array.
43
44 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
45
46         update-copyright: generalize comment handling
47         * build-aux/update-copyright: Handle copyright statements
48         within more comment styles.
49         Document usage.
50         Report any file with an external copyright holder or parse failure.
51
52 2009-07-29  Jim Meyering  <meyering@redhat.com>
53
54         mktime: correct setting of REPLACE_MKTIME
55         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
56
57         update-copyright: new module
58         * modules/update-copyright: New file.
59         * build-aux/update-copyright: New file.
60         * MODULES.html.sh (maint+release support): Add update-copyright.
61
62 2009-07-27  Bruno Haible  <bruno@clisp.org>
63
64         Fix compilation error when <ctime> is used and mktime is replaced.
65         * lib/time.in.h (mktime): New declaration.
66         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
67         REPLACE_MKTIME instead of defining mktime in config.h.
68         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
69         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
70         Reported by Ross McFarland <rwmcfa1@neces.com>.
71
72 2009-07-27  Bruno Haible  <bruno@clisp.org>
73
74         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
75         Reported by Matt Kraai <mkraai@beckman.com>.
76
77 2009-07-25  Jim Meyering  <meyering@redhat.com>
78
79         maint.mk: avoid warnings about missing files
80         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
81         diagnostic when .prev-version does not exist.
82         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
83         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
84         nonexistent cfg.mk.
85         Suggestions from Simon Josefsson.
86
87 2009-07-25  Bruno Haible  <bruno@clisp.org>
88
89         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
90         defined as macros. Needed on QNX 6.4.1.
91         Reported by Matt Kraai <mkraai@beckman.com>.
92
93 2009-07-23  Jim Meyering  <meyering@redhat.com>
94
95         maint.mk: invoke "make dist" with a working value of XZ_OPT
96         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
97
98 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
99
100         Make fseeko.c compile on QNX.
101         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
102
103 2009-07-22  Peter Simons  <simons@cryp.to>
104
105         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
106         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
107         * lib/md4.h: Likewise.
108         * lib/md5.h: Likewise.
109         * lib/sha1.h: Likewise.
110         * lib/sha256.h: Likewise.
111         * lib/sha512.h: Likewise.
112
113         tests-sha1: don't assign literal string to 'char *' variable
114         * tests/test-sha1.c (main): Declare locals with "const" to match
115         attributes of the right hand side.
116
117 2009-07-21  Eric Blake  <ebb9@byu.net>
118
119         dup2: fix more mingw problems
120         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
121         fd to itself.
122         * doc/posix-functions/dup2.texi (dup2): Document the bug.
123         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
124         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
125         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
126         care of mingw bugs.
127
128 2009-07-21  Jim Meyering  <meyering@redhat.com>
129
130         vc-list-files: avoid failure when /bin/sh is dash
131         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
132         On some Debian based systems, /bin/sh is a symlink to dash, and running
133         this command would omit the "/" following each 'tests' prefix:
134           dash -x build-aux/vc-list-files -C . tests
135         That is because bash and dash work differently:
136           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
137           bash ok
138           dash odd
139
140 2009-07-21  Eric Blake  <ebb9@byu.net>
141
142         dup2-tests: test previous patch
143         * modules/dup2-tests: New file.
144         * tests/test-dup2.c: Likewise.
145         * tests/test-open.c (main): Avoid unspecified behavior.
146         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
147         test.
148
149         dup2: work around mingw and cygwin 1.5 bug
150         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
152         * modules/unistd (Makefile.am): Substitute it.
153         * lib/unistd.in.h (dup2): Declare the replacement.
154         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
155         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
156         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
157         * modules/execute (Depends-on): Add dup2.
158         * modules/fseterr (Depends-on): Likewise.
159         * modules/pipe (Depends-on): Likewise.
160         * modules/posix_spawn-internal (Depends-on): Likewise.
161
162 2009-07-21  Bruno Haible  <bruno@clisp.org>
163
164         * modules/.gitattributes: New file.
165
166 2009-07-20  Bruno Haible  <bruno@clisp.org>
167
168         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
169         (main): Use it.
170
171 2009-07-20  Eric Blake  <ebb9@byu.net>
172
173         test-pipe: make a bit more robust.
174         * tests/test-pipe.c (myerr): Allow error messages regardless of
175         what we do to stderr.
176         (test_pipe): Rearrange to avoid deadlock.
177         (child_main): Try a larger read, to ensure we avoided deadlock.
178         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
179         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
180         if misused.
181
182 2009-07-19  Jim Meyering  <meyering@redhat.com>
183
184         fts: avoid false-positive cycle-detection
185         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
186         for each new command line argument.
187
188 2009-07-19  Bruno Haible  <bruno@clisp.org>
189
190         Fix build error on mingw with the modules sys_select and unistd.
191         * modules/acl-tests (Depends-on): Add close.
192         * modules/binary-io-tests (Depends-on): Likewise.
193         * modules/closein-tests (Depends-on): Likewise.
194         * modules/flock-tests (Depends-on): Likewise.
195         * modules/fsync-tests (Depends-on): Likewise.
196         * modules/lseek-tests (Depends-on): Likewise.
197         * modules/pipe-tests (Depends-on): Likewise.
198         * modules/posix_spawn-tests (Depends-on): Likewise.
199         * modules/posix_spawnp-tests (Depends-on): Likewise.
200         * modules/stat-time-tests (Depends-on): Likewise.
201         * modules/yesno-tests (Depends-on): Likewise.
202
203 2009-07-19  Bruno Haible  <bruno@clisp.org>
204
205         Unify conditionals.
206         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
207         macros, not at the compiler macros.
208         * lib/pipe.c: Likewise.
209         * lib/execute.c: Likewise.
210         * lib/spawni.c: Likewise.
211
212 2009-07-19  Bruno Haible  <bruno@clisp.org>
213
214         Fix handling of closed stdin/stdout/stderr on mingw.
215         * lib/w32spawn.h: Include unistd.h.
216         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
217         file descriptor with O_NOINHERIT flag.
218         (fd_safer_noinherit): New function, based on fd-safer.c.
219         (dup_safer_noinherit): New function, based on dup-safer.c.
220         (undup_safer_noinherit): New function.
221         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
222         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
223         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
224         instead of fd_safer.
225         * tests/test-pipe.c: Include <windows.h>.
226         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
227
228         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
229         from main.
230         (test_pipe): Pass an extra argument for disambiguation.
231         (main): Invoke parent_main or child_main.
232
233         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
234         consistently.
235
236 2009-07-18  Eric Blake  <ebb9@byu.net>
237
238         test-pipe: fix mingw build
239         * tests/test-pipe.c (main): Avoid fcntl on mingw.
240
241 2009-07-18  Bruno Haible  <bruno@clisp.org>
242
243         * modules/pipe-tests (Makefile.am): Fix typo.
244
245 2009-07-18  Eric Blake  <ebb9@byu.net>
246
247         error: fix mingw build
248         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
249         Reported by Bruno Haible.
250
251         error: avoid undefined use of stdout
252         * lib/error.c (error, error_at_line): Check that fd 1 is open
253         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
254         is handling faults and the close_stdout module wants to report the
255         detection of closed stdout as an error.
256
257 2009-07-17  Eric Blake  <ebb9@byu.net>
258
259         pipe: be robust in face of closed fds
260         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
261         should cause child to misbehave.
262         * modules/pipe-tests: New module.
263         * tests/test-pipe.c: New file.
264         * tests/test-pipe.sh: New file.
265         Reported by Akim Demaille.
266
267 2009-07-14  Bruno Haible  <bruno@clisp.org>
268
269         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
270         Reported by anonymous kc.
271
272 2009-07-07  Jim Meyering  <meyering@redhat.com>
273
274         maint.mk: don't look for translatable strings in *.m4 or *.mk
275         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
276         when searching for translatable strings.
277
278 2009-07-05  Jim Meyering  <meyering@redhat.com>
279
280         remove superfluous parentheses in STREQ definition
281         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
282         * lib/getugroups.c (STREQ): Likewise.
283         * lib/fnmatch.c (STREQ): Likewise.
284         Spotted by Bruno Haible.
285
286 2009-07-04  Jim Meyering  <meyering@redhat.com>
287
288         argv-iter: new module
289         * MODULES.html.sh: Add argv-iter.
290         * lib/argv-iter.c, lib/argv-iter.h: New files.
291         * modules/argv-iter: New file.
292         * modules/argv-iter-tests: New file.
293         * tests/test-argv-iter.c: Test it.
294
295 2009-07-04  Bruno Haible  <bruno@clisp.org>
296
297         Fix assertion.
298         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
299         contains more exact copies of a given entry than file2, leave the extra
300         copies unpaired rather than aborting.
301         Reported by Eric Blake.
302
303 2009-07-02  Bruno Haible  <bruno@clisp.org>
304
305         Speedup git-merge-changelog for git cherry-pick.
306         * lib/git-merge-changelog.c (struct entries_mapping): New type.
307         (entries_mapping_get): New function, extracted from compute_mapping.
308         (entries_mapping_reverse_get): New function.
309         (compute_mapping): Add a 'full' argument. Return the result in a
310         'struct entries_mapping'.
311         (main): Update. Access the mappings through entries_mapping_get.
312         Reported by Eric Blake.
313
314 2009-07-02  Bruno Haible  <bruno@clisp.org>
315
316         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
317         best_i.
318
319 2009-07-02  Bruno Haible  <bruno@clisp.org>
320
321         Speed up approximate search for matching ChangeLog entries.
322         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
323         argument. Call fstrcmp_bounded instead of fstrcmp.
324         (compute_mapping, try_split_merged_entry, main): Update callers.
325
326 2009-07-02  Bruno Haible  <bruno@clisp.org>
327
328         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
329
330 2009-06-30  Bruno Haible  <bruno@clisp.org>
331
332         Reduce the number of uc_is_cased calls.
333         * lib/unicase.h (casing_suffix_context_t): Add
334         'first_char_except_ignorable' field.
335         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
336         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
337         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
338         Update initializer.
339         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
340         case-ignorable characters.
341         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
342         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
343         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
344         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
345         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
346
347 2009-06-30  Bruno Haible  <bruno@clisp.org>
348
349         Tests for module 'unicase/ignorable'.
350         * modules/unicase/ignorable-tests: New file.
351         * tests/unicase/test-ignorable.c: New file, generated by
352         gen-uni-tables.
353
354         Tests for module 'unicase/cased'.
355         * modules/unicase/cased-tests: New file.
356         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
357         * tests/unicase/test-predicate-part1.h: New file, derived from
358         tests/unictype/test-predicate-part1.h.
359         * tests/unicase/test-predicate-part2.h: New file, same as
360         tests/unictype/test-predicate-part2.h.
361
362         Fix evaluation of "Before C" condition of FINAL_SIGMA.
363         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
364         (output_casing_properties): New function.
365         (main): Call it.
366         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
367         * lib/unicase/cased.c: Include unictype/bitmap.h.
368         (uc_is_cased): Define through a bitmap lookup.
369         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
370         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
371         (uc_is_case_ignorable): Define through a bitmap lookup.
372         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
373         lib/unictype/bitmap.h.
374         (Depends-on): Add inline. Clean up.
375         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
376         lib/unictype/bitmap.h.
377         (Depends-on): Add inline. Clean up.
378         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
379         recognition.
380         * tests/unicase/test-u16-tolower.c (main): Likewise.
381         * tests/unicase/test-u32-tolower.c (main): Likewise.
382
383 2009-06-30  Bruno Haible  <bruno@clisp.org>
384
385         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
386         * lib/unicase/u16-casemap.c: Likewise.
387         * lib/unicase/u32-casemap.c: Likewise.
388
389 2009-06-29  Bruno Haible  <bruno@clisp.org>
390
391         Define u32_casefold as a wrapper around u32_ct_casefold.
392         * lib/unicase/u32-casefold.c: Update.
393         * modules/unicase/u32-casefold (Depends-on): Add
394         unicase/u32-ct-casefold, unicase/empty-prefix-context,
395         unicase/empty-suffix-context. Clean up.
396
397         Define u16_casefold as a wrapper around u16_ct_casefold.
398         * lib/unicase/u16-casefold.c: Update.
399         * modules/unicase/u16-casefold (Depends-on): Add
400         unicase/u16-ct-casefold, unicase/empty-prefix-context,
401         unicase/empty-suffix-context. Clean up.
402
403         Define u8_casefold as a wrapper around u8_ct_casefold.
404         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
405         * lib/unicase/u8-casefold.c: Update.
406         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
407         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
408
409         Define u32_totitle as a wrapper around u32_ct_totitle.
410         * lib/unicase/u32-totitle.c: Update.
411         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
412         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
413
414         Define u16_totitle as a wrapper around u16_ct_totitle.
415         * lib/unicase/u16-totitle.c: Update.
416         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
417         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
418
419         Define u8_totitle as a wrapper around u8_ct_totitle.
420         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
421         functions.
422         (FUNC): Delegate to U_CT_TOTITLE.
423         * lib/unicase/u8-totitle.c: Update.
424         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
425         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
426
427         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
428         invocation.
429         * modules/unicase/u32-tolower (Depends-on): Add
430         unicase/empty-prefix-context, unicase/empty-suffix-context.
431
432         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
433         invocation.
434         * modules/unicase/u16-tolower (Depends-on): Add
435         unicase/empty-prefix-context, unicase/empty-suffix-context.
436
437         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
438         * modules/unicase/u8-tolower (Depends-on): Add
439         unicase/empty-prefix-context, unicase/empty-suffix-context.
440
441         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
442         invocation.
443         * modules/unicase/u32-toupper (Depends-on): Add
444         unicase/empty-prefix-context, unicase/empty-suffix-context.
445
446         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
447         invocation.
448         * modules/unicase/u16-toupper (Depends-on): Add
449         unicase/empty-prefix-context, unicase/empty-suffix-context.
450
451         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
452         * modules/unicase/u8-toupper (Depends-on): Add
453         unicase/empty-prefix-context, unicase/empty-suffix-context.
454
455         New module 'unicase/u32-ct-casefold'.
456         * lib/unicase/u32-ct-casefold.c: New file.
457         * modules/unicase/u32-ct-casefold: New file.
458
459         New module 'unicase/u16-ct-casefold'.
460         * lib/unicase/u16-ct-casefold.c: New file.
461         * modules/unicase/u16-ct-casefold: New file.
462
463         New module 'unicase/u8-ct-casefold'.
464         * lib/unicase/u8-ct-casefold.c: New file.
465         * lib/unicase/u-ct-casefold.h: New file, derived from
466         lib/unicase/u-casefold.h.
467         * modules/unicase/u8-ct-casefold: New file.
468
469         New module 'unicase/u32-ct-totitle'.
470         * lib/unicase/u32-ct-totitle.c: New file.
471         * modules/unicase/u32-ct-totitle: New file.
472
473         New module 'unicase/u16-ct-totitle'.
474         * lib/unicase/u16-ct-totitle.c: New file.
475         * modules/unicase/u16-ct-totitle: New file.
476
477         New module 'unicase/u8-ct-totitle'.
478         * lib/unicase/u8-ct-totitle.c: New file.
479         * lib/unicase/u-ct-totitle.h: New file, derived from
480         lib/unicase/u-totitle.h.
481         * modules/unicase/u8-ct-totitle: New file.
482
483         New module 'unicase/u32-ct-tolower'.
484         * lib/unicase/u32-ct-tolower.c: New file.
485         * modules/unicase/u32-ct-tolower: New file.
486
487         New module 'unicase/u16-ct-tolower'.
488         * lib/unicase/u16-ct-tolower.c: New file.
489         * modules/unicase/u16-ct-tolower: New file.
490
491         New module 'unicase/u8-ct-tolower'.
492         * lib/unicase/u8-ct-tolower.c: New file.
493         * modules/unicase/u8-ct-tolower: New file.
494
495         New module 'unicase/u32-ct-toupper'.
496         * lib/unicase/u32-ct-toupper.c: New file.
497         * modules/unicase/u32-ct-toupper: New file.
498
499         New module 'unicase/u16-ct-toupper'.
500         * lib/unicase/u16-ct-toupper.c: New file.
501         * modules/unicase/u16-ct-toupper: New file.
502
503         New module 'unicase/u8-ct-toupper'.
504         * lib/unicase/u8-ct-toupper.c: New file.
505         * modules/unicase/u8-ct-toupper: New file.
506
507         Add context arguments to u*_casemap functions.
508         * lib/unicase/unicasemap.h: Include unicase.h.
509         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
510         suffix_context arguments.
511         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
512         functions.
513         (FUNC): Add prefix_context and suffix_context arguments. Use
514         uc_is_cased and uc_is_case_ignorable.
515         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
516         * lib/unicase/u16-casemap.c: Likewise.
517         * lib/unicase/u32-casemap.c: Likewise.
518         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
519         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
520         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
521         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
522         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
523         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
524
525         New module 'unicase/u32-suffix-context'.
526         * lib/unicase/u32-suffix-context.c: New file.
527         * modules/unicase/u32-suffix-context: New file.
528
529         New module 'unicase/u16-suffix-context'.
530         * lib/unicase/u16-suffix-context.c: New file.
531         * modules/unicase/u16-suffix-context: New file.
532
533         New module 'unicase/u8-suffix-context'.
534         * lib/unicase/u8-suffix-context.c: New file.
535         * lib/unicase/u-suffix-context.h: New file.
536         * modules/unicase/u8-suffix-context: New file.
537
538         New module 'unicase/empty-suffix-context'.
539         * lib/unicase/empty-suffix-context.c: New file.
540         * modules/unicase/empty-suffix-context: New file.
541
542         New module 'unicase/u32-prefix-context'.
543         * lib/unicase/u32-prefix-context.c: New file.
544         * modules/unicase/u32-prefix-context: New file.
545
546         New module 'unicase/u16-prefix-context'.
547         * lib/unicase/u16-prefix-context.c: New file.
548         * modules/unicase/u16-prefix-context: New file.
549
550         New module 'unicase/u8-prefix-context'.
551         * lib/unicase/u8-prefix-context.c: New file.
552         * lib/unicase/u-prefix-context.h: New file.
553         * lib/unicase/context.h: New file.
554         * modules/unicase/u8-prefix-context: New file.
555
556         New module 'unicase/empty-prefix-context'.
557         * lib/unicase/empty-prefix-context.c: New file.
558         * modules/unicase/empty-prefix-context: New file.
559
560         New module 'unicase/ignorable'.
561         * lib/unicase/ignorable.c: New file.
562         * modules/unicase/ignorable: New file.
563
564         New module 'unicase/cased'.
565         * lib/unicase/caseprop.h: New file.
566         * lib/unicase/cased.c: New file.
567         * modules/unicase/cased: New file.
568
569         New functions for case mapping of substrings.
570         * lib/unicase.h (casing_prefix_context_t): New type.
571         (unicase_empty_prefix_context): New variable.
572         (u8_casing_prefix_context, u16_casing_prefix_context,
573         u32_casing_prefix_context, u8_casing_prefixes_context,
574         u16_casing_prefixes_context, u32_casing_prefixes_context): New
575         declarations.
576         (casing_suffix_context_t): New type.
577         (unicase_empty_suffix_context): New variable.
578         (u8_casing_suffix_context, u16_casing_suffix_context,
579         u32_casing_suffix_context, u8_casing_suffixes_context,
580         u16_casing_suffixes_context, u32_casing_suffixes_context,
581         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
582         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
583         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
584         declarations.
585
586 2009-06-28  Jim Meyering  <meyering@redhat.com>
587
588         boostrap: indent only with spaces
589         * build-aux/bootstrap: Indent only with spaces, never TABs.
590
591         bootstrap: split long lines
592         * build-aux/bootstrap: Keep line length < 80.
593
594         bootstrap: sync from coreutils
595         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
596         just as autoreconf does.  Verify a list of prerequisite
597         package-name,version-number pairs if defined in bootstrap.conf.
598         Refer to README-prereq, if prerequisites are not satisfied.
599
600 2009-06-27  Eric Blake  <ebb9@byu.net>
601
602         tests: add test for bogus NULL definition
603         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
604         * tests/test-stdlib.c: Likewise.
605         * tests/test-string.c: Likewise.
606         * tests/test-locale.c: Likewise.
607         * tests/test-unistd.c: Likewise.
608         * modules/stdio-tests (Depends-on): Add verify.
609         * modules/stdlib-tests (Depends-on): Likewise.
610         * modules/string-tests (Depends-on): Likewise.
611         * modules/locale-tests (Depends-on): Likewise.
612         * modules/unistd-tests (Depends-on): Likewise.
613
614 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
615
616         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
617         self-explaining comment.
618         * m4/selinux-selinux-h: Update serial.
619         (gl_LIBSELINUX): New macro, adding a warning for missing development
620         packages to code extracted from...
621         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
622         Add warning for missing development packages here, too.
623
624 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
625
626         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
627
628 2009-06-25  Eric Blake  <ebb9@byu.net>
629
630         version-etc: fix regression
631         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
632         gcc.
633         (version_etc): Use it, to catch bugs with trailing NULL.
634         * lib/version-etc.c (version_etc_arn): Delete unused argument.
635         (version_etc_va): Fix logic bug.
636         * modules/version-etc-tests: Add test.
637         * tests/test-version-etc.c: New file.
638         * tests/test-version-etc.sh: Likewise.
639
640 2009-06-25  Sam Steingold  <sds@gnu.org>
641
642         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
643         mbtowc declaration.
644
645 2009-06-25  Eric Blake  <ebb9@byu.net>
646
647         fpurge: migrate into <stdio.h>
648         * lib/fpurge.h: Delete...
649         * lib/stdio.in.h (fpurge): ...and declare here, instead.
650         * lib/fpurge.c (fpurge): Change declaring header.
651         * modules/fpurge (Files): Drop deleted file.
652         (Depends-on): Add stdio.
653         (configure.ac): Set witness.
654         * modules/stdio (Makefile.am): Support fpurge macros.
655         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
656         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
657         * lib/fflush.c: Update client.
658         * tests/test-fpurge.c: Likewise.
659         * NEWS: Mention the change.
660
661 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
662
663        * lib/argp-version-etc.c (program_authors): Add const
664        qualifier.
665        * lib/version-etc.c: Fix typos in the comments.
666        * modules/argp-version-etc: Depends on version-etc.
667
668 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
669
670         argp-version-etc: new module.
671
672         * lib/argp-version-etc.c: New file.
673         * lib/argp-version-etc.h: New file.
674         * modules/argp-version-etc: New file.
675         * modules/argp-version-etc-tests: New file.
676         * tests/test-argp-version-etc.c: New test.
677         * tests/test-argp-version-etc-1.sh: New test.
678
679 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
680
681         Provide additional interfaces and documentation for version-etc
682         module.
683
684         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
685         interfaces.
686         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
687         prototypes.
688
689 2009-06-24  Bruno Haible  <bruno@clisp.org>
690
691         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
692         HAVE_LIB${NAME} macro.
693         Reported by Sam Steingold <sds@gnu.org>.
694
695 2009-06-23  Simon Josefsson  <simon@josefsson.org>
696
697         * modules/hash-tests (test_hash_LDADD): Link to libintl when
698         needed.
699
700 2009-06-21  Bruno Haible  <bruno@clisp.org>
701
702         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
703         work.
704         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
705         together with LIB${NAME}, LTLIB${NAME}.
706         Reported by Sam Steingold <sds@gnu.org>.
707
708 2009-06-20  Jim Meyering  <meyering@redhat.com>
709
710         tests: make sc_require_test_exit_idiom more generic
711         * top/maint.mk (Exit_witness_file): New overridable variable.
712         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
713         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
714
715 2009-06-19  Jim Meyering  <meyering@redhat.com>
716
717         hash: reverse order of src/dst parameters in an internal interface
718         * lib/hash.c (transfer_entries): Reverse order of parameters to
719         put DST before SRC.  Adjust callers.
720
721         tests: test-hash: avoid wholesale duplication
722         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
723         Instead, use a loop and add a single conditional.
724
725         tests: test-hash: allow seed selection via a command line argument
726         * tests/test-hash.c (get_seed): New function.
727         (main): Use it.
728
729 2009-06-19  Eric Blake  <ebb9@byu.net>
730
731         hash: avoid memory leak on allocation failure
732         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
733         failure.  Factor repeated algorithm...
734         (transfer_entries): ...into new helper routine.
735         (hash_delete): React to hash_rehash return value.
736
737         hash: reduce memory pressure in hash_rehash no-op case
738         * lib/hash.c (next_prime): Avoid overflow.
739         (hash_initialize): Factor bucket size computation...
740         (compute_bucket_size): ...into new helper function.
741         (hash_rehash): Use new function and open coding to reduce memory
742         pressure, and avoid a memory leak in USE_OBSTACK code.
743         Reported by Jim Meyering.
744
745 2009-06-18  Eric Blake  <ebb9@byu.net>
746
747         hash: make rotation more obvious
748         * modules/hash (Depends-on): Add bitrotate and stdint.
749         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
750         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
751         (SIZE_MAX): Rely on headers for definition.
752         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
753         (raw_hasher): Use rotr_sz.
754         Suggested by Jim Meyering.
755
756         hash: fix memory leak in last patch
757         * lib/hash.c (hash_rehash): Avoid memory leak.
758
759         hash: avoid no-op rehashing
760         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
761
762         hash: provide default callback functions
763         * lib/hash.c (raw_hasher, raw_comparator): New functions.
764         (hash_initialize): Use them as defaults.
765         * tests/test-hash.c (main): Test this.
766
767         hash: minor optimization
768         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
769         when possible.
770         (hash_initialize): Document this promise.
771         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
772         * tests/test-hash.c (hash_compare_strings): Test this.
773
774 2009-06-18  Bruno Haible  <bruno@clisp.org>
775
776         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
777         going to be replaced anyway.
778
779 2009-06-18  Bruno Haible  <bruno@clisp.org>
780
781         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
782         in one place.
783         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
784         be replaced anyway.
785
786 2009-06-18  Eric Blake  <ebb9@byu.net>
787
788         hash: check for resize before insertion
789         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
790         threshold before insertion, so that a pathological hash_rehash
791         that fills every bucket can still trigger another rehash.
792
793 2009-06-18  Jim Meyering  <meyering@redhat.com>
794
795         hash-tests: add a loop around the small tests
796         * tests/test-hash.c (main): Repeat small tests with selected
797         small initial table sizes.
798
799 2009-06-17  Eric Blake  <ebb9@byu.net>
800
801         hash: minor cleanups
802         * lib/hash.h (hash_entry): Make opaque, by moving...
803         * lib/hash.c (hash_entry): ...here.
804         (hash_insert): Clarify restrictions on what can be inserted.
805         (hash_get_next): Clarify when it is safe to remove an element
806         during traversal.
807         (check_tuning): Skip verification when tuning is known safe.
808         (hash_initialize): Clarify restrictions on tuning.
809
810 2009-06-17  Jim Meyering  <jim@meyering.net>
811         and Eric Blake  <ebb9@byu.net>
812
813         hash-tests: new module
814         * modules/hash-tests: New file.
815         * tests/test-hash.c: New file.
816
817 2009-06-17  Eric Blake  <ebb9@byu.net>
818
819         strstr-simple: document new module
820         * MODULES.html.sh: Document new module.
821
822         strstr, strcasestr: replace on platforms with broken memchr
823         * modules/strstr: Split into...
824         * modules/strstr-simple: ...new module that does not care about
825         performance, but does care about glibc bug.
826         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
827         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
828         if platform memchr is broken, per Debian bug 521737.
829         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
830         memchr.
831         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
832         * doc/posix-functions/strstr.texi (strstr): Document the fix.
833         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
834         * modules/mountlist (Depends-on): Add strstr-simple.
835         * modules/gen-uni-tables (Depends-on): Likewise.
836         * modules/argz (Depends-on): Add strstr.
837
838 2009-06-17  Bruno Haible  <bruno@clisp.org>
839
840         * modules/posix_spawn-internal (Depends-on): Add errno.
841
842 2009-06-17  Bruno Haible  <bruno@clisp.org>
843
844         Define missing ESTALE on Interix 3.5.
845         * lib/errno.in.h (ESTALE): Assign a value if missing.
846         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
847         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
848         missing.
849         * doc/posix-headers/errno.texi: Mention the Interix bug.
850         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
851
852 2009-06-15  Eric Blake  <ebb9@byu.net>
853
854         memchr, memchr2: add valgrind exception
855         * lib/memchr.valgrind: New file.
856         * lib/memchr2.valgrind: New file.
857         * modules/memchr (Files): Distribute valgrind file.
858         * modules/memchr2 (Files): Likewise.
859
860         docs: memchr is no longer obsolete
861         * MODULES.html.sh: Move memchr from obsolete to string.h section.
862         * lib/string.in.h (memchr): Simplify logic.
863
864 2009-06-14  Jim Meyering  <meyering@redhat.com>
865
866         link-follow: fix the "checking..." message to not mention trailing slash
867         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
868         never considered trailing slashes.
869
870 2009-06-14  Bruno Haible  <bruno@clisp.org>
871
872         * m4/memchr.m4: Mention also the bug on IA-64.
873         * doc/posix-functions/memchr.texi: Likewise.
874
875 2009-06-12  Eric Blake  <ebb9@byu.net>
876
877         memchr: detect broken x86_64 and alpha implementations
878         * modules/memchr-tests (Depends-on): Move mmap detection...
879         * modules/memchr (Depends-on): ...here.
880         (configure.ac): Set indicator.
881         * lib/string.in.h (memchr): Declare replacement.
882         * modules/string (Makefile.am): Trigger replacement.
883         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
884         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
885         bugs.
886         * doc/posix-functions/memchr.texi (memchr): Document the bug.
887         * modules/getpagesize (License): Relax license.
888
889 2009-06-11  Bruno Haible  <bruno@clisp.org>
890
891         * lib/idpriv.h: Add more references.
892
893 2009-06-08  Bruno Haible  <bruno@clisp.org>
894
895         Tests for module 'idpriv-droptemp'.
896         * modules/idpriv-droptemp-tests: New file.
897         * tests/test-idpriv-droptemp.sh: New file.
898         * tests/test-idpriv-droptemp.su.sh: New file.
899         * tests/test-idpriv-droptemp.c: New file.
900
901         New module 'idpriv-droptemp'.
902         * lib/idpriv-droptemp.c: New file.
903         * modules/idpriv-droptemp: New file.
904
905 2009-06-08  Bruno Haible  <bruno@clisp.org>
906
907         Tests for module 'idpriv-drop'.
908         * modules/idpriv-drop-tests: New file.
909         * tests/test-idpriv-drop.sh: New file.
910         * tests/test-idpriv-drop.su.sh: New file.
911         * tests/test-idpriv-drop.c: New file.
912
913         New module 'idpriv-drop'.
914         * lib/idpriv.h: New file.
915         * lib-idpriv-drop.c: New file.
916         * m4/idpriv.m4: New file.
917         * modules/idpriv-drop: New file.
918
919 2009-06-08  Bruno Haible  <bruno@clisp.org>
920
921         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
922         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
923         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
924         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
925         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
926         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
927         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
928
929 2009-06-08  Eric Blake  <ebb9@byu.net>
930
931         test-strstr: use memory fence, when possible
932         * tests/test-strstr.c (main): Use memory fence, in order to be
933         more likely to trigger Debian bug 521737.
934         * modules/strstr-tests (Files): Pull in additional files.
935
936         memchr: no longer obsolete, for wider field testing
937         * modules/memchr (Status, Notice): Delete, this module is no
938         longer obsolete.
939         * modules/vasnprintf (Depends-on): Add memchr.
940
941 2009-06-07  Jim Meyering  <meyering@redhat.com>
942
943         hash: declare some functions with the warn_unused_result attribute
944         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
945
946 2009-06-07  Bruno Haible  <bruno@clisp.org>
947
948         * tests/test-alignof.c: Don't test int64_t if it does not exist.
949         Reported by Eric Blake.
950
951 2009-06-06  Eric Blake  <ebb9@byu.net>
952
953         test-alignof: fix typo with long double
954         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
955         compiler error.
956
957 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
958
959         Escape non-texinfo { and }s.
960         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
961         markup error.
962
963 2009-06-04  Jim Meyering  <meyering@redhat.com>
964
965         gitlog-to-changelog: don't infloop on an empty commit log
966         * build-aux/gitlog-to-changelog: Warn about an empty log message.
967         Reported by Boris Petersen <transacid@centerim.org>.
968
969 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
970
971         version-etc: extend for packagers
972         Add three new configure options, intended for packagers:
973           --with-packager="packager name"
974           --with-packager-version="packager-specific version"
975           --with-packager-bug-reports="packager bug reporting"
976         An example with coreutils:
977           $ ./configure \
978             --with-packager=Gentoo \
979             --with-packager-bug-report=http://bugs.gentoo.org/ \
980             --with-packager-version="patchset 1.6"
981           $ ./src/ls --version | head -n3
982           ls (GNU coreutils) 7.1-dirty
983           Packaged by Gentoo (patchset 1.6)
984           Copyright (C) 2009 Free Software Foundation, Inc.
985         Note that the bug reporting info via --help doesn't show up because
986         coreutils uses its own custom emit_bug_reporting_address() implementation
987         in src/system.h.  If it didn't, it'd look like:
988           $ ./src/ls --help | tail -n4
989           Report bugs to <bug-coreutils@gnu.org>.
990           Report Gentoo bugs to <http://bugs.gentoo.org/>.
991           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
992           General help using GNU software: <http://www.gnu.org/gethelp/>.
993         * lib/version-etc.c: Print new information, if provided.
994         * m4/version-etc.m4: New file.
995         * modules/version-etc (Files): Add m4/version-etc.m4.
996         (configure.ac): Add gl_VERSION_ETC.
997
998 2009-05-31  Bruno Haible  <bruno@clisp.org>
999
1000         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
1001         and 'int64_t'.
1002         * modules/alignof-tests (Dependencies): Add stdint.
1003         Reported by Eric Blake.
1004
1005 2009-05-31  Bruno Haible  <bruno@clisp.org>
1006
1007         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
1008         restriction due to compiler bugs.
1009         Reported by Eric Blake.
1010
1011 2009-05-31  Simon Josefsson  <simon@josefsson.org>
1012             Bruno Haible  <bruno@clisp.org>
1013
1014         Fix test-alignof failure.
1015         * lib/alignof.h (alignof_slot): New macro.
1016         (alignof_type): New macro, with the same semantics as the previous
1017         'alignof'.
1018         (alignof): Alias to alignof_slot.
1019         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
1020         check that the results are usable as constant expressions.
1021
1022 2009-05-31  Bruno Haible  <bruno@clisp.org>
1023
1024         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
1025         * tests/test-memchr.c (main): Check that memchr does not read past the
1026         first occurrence of the byte.
1027         * tests/test-strstr.c (main): Update comment.
1028         Suggested by Eric Blake.
1029
1030 2009-05-30  Bruno Haible  <bruno@clisp.org>
1031
1032         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
1033         detail how to use dumpbin.
1034         Reported by David Byron <dbyron@dbyron.com>.
1035
1036 2009-06-02  Simon Josefsson  <simon@josefsson.org>
1037
1038         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
1039
1040 2009-06-02  Simon Josefsson  <simon@josefsson.org>
1041
1042         * m4/manywarnings.m4: Add GCC 4.4 warnings.
1043
1044 2009-05-28  Bruno Haible  <bruno@clisp.org>
1045
1046         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
1047         build-aux/ files.
1048
1049 2009-05-28  Simon Josefsson  <simon@josefsson.org>
1050
1051         * gnulib-tool (func_import): Transform license on build-aux/ files too.
1052
1053 2009-05-27  Simon Josefsson  <simon@josefsson.org>
1054
1055         * gnulib-tool (sed_transform_main_lib_file)
1056         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
1057         regexps.
1058
1059 2009-05-26  Simon Josefsson  <simon@josefsson.org>
1060
1061         * tests/test-strstr.c: Add another self-test.
1062         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
1063         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
1064
1065 2009-05-23  Bruno Haible  <bruno@clisp.org>
1066
1067         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
1068         change.
1069
1070 2009-05-21  Bruno Haible  <bruno@clisp.org>
1071
1072         Simplify use of mode_t varargs.
1073         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
1074         uses 'mode_t' or 'int'.
1075         * lib/openat.c (openat): Likewise.
1076         * lib/open-safer.c (open_safer): Likewise.
1077         * m4/mode_t.m4: New file.
1078         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
1079         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
1080         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
1081         * modules/open (Files): Add m4/mode_t.m4.
1082         * modules/openat (Files): Likewise.
1083         * modules/fcntl-safer (Files): Likewise.
1084         Suggested by Eric Blake.
1085
1086 2009-05-21  Pádraig Brady  <P@draigbrady.com>
1087
1088         * doc/glibc-functions/fallocate.texi: New file.
1089         * doc/gnulib.texi: Include it.
1090
1091 2009-05-21  Eric Blake  <ebb9@byu.net>
1092             Bruno Haible  <bruno@clisp.org>
1093
1094         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
1095         invocations.
1096         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
1097
1098 2009-05-21  Eric Blake  <ebb9@byu.net>
1099             Bruno Haible  <bruno@clisp.org>
1100
1101         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
1102         include_next. Fix of 2008-11-20 commit.
1103         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
1104         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
1105         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
1106         NEXT_MATH_H.
1107         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
1108         instead of NEXT_MATH_H.
1109
1110 2009-05-21  Bruno Haible  <bruno@clisp.org>
1111
1112         Avoid redefinition warnings for SIZE_MAX.
1113         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
1114         Reported by Simon Josefsson.
1115
1116 2009-05-21  Bruno Haible  <bruno@clisp.org>
1117
1118         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
1119         AC_CACHE_VAL.
1120
1121 2009-05-20  Bruno Haible  <bruno@clisp.org>
1122
1123         Make zeroptr.h work on mingw.
1124         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
1125         mprotect.
1126         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
1127         * modules/memchr2-tests (configure.ac): Likewise.
1128         * modules/memcmp-tests (configure.ac): Likewise.
1129         * modules/memmem-tests (configure.ac): Likewise.
1130         * modules/memrchr-tests (configure.ac): Likewise.
1131         Reported by Simon Josefsson.
1132
1133 2009-05-20  Simon Josefsson  <simon@josefsson.org>
1134
1135         * tests/test-glob.c: Include string.h for strcmp prototype.
1136
1137 2009-05-20  Simon Josefsson  <simon@josefsson.org>
1138
1139         * modules/getdelim (Depends-on): Add explicit stdint, although it
1140         was implicitly already pulled in via realloc-posix.
1141         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
1142
1143 2009-05-20  Simon Josefsson  <simon@josefsson.org>
1144
1145         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
1146         G. Christensen" <tgc@jupiterrise.com>.
1147         * m4/sys_socket_h.m4: Check for sa_family_t.
1148         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
1149         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
1150         * tests/test-sys_socket.c: Check that sa_family_t works.
1151
1152 2009-05-18  Eric Blake  <ebb9@byu.net>
1153
1154         maint.mk: allow gnulib_dir in VPATH build
1155         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
1156
1157 2009-05-15  Jim Meyering  <meyering@redhat.com>
1158
1159         maint.mk: Give gnulib_dir a default definition.
1160         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
1161         Thus, most packages no longer need to specify this variable in cfg.mk
1162
1163 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
1164
1165         rename.m4: fix typos that would make non-mingw cross-configure fail
1166         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
1167
1168 2009-05-13  Eric Blake  <ebb9@byu.net>
1169
1170         mmap-anon: avoid out-of-order autoconf expansion
1171         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
1172         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
1173         * modules/memchr-tests (Depends-on): Add extensions.
1174         * modules/memchr2-tests (Depends-on): Add extensions.
1175         * modules/memcmp-tests (Depends-on): Add extensions.
1176         * modules/memmem-tests (Depends-on): Add extensions.
1177         * modules/memrchr-tests (Depends-on): Add extensions.
1178
1179 2009-05-13  Bruno Haible  <bruno@clisp.org>
1180
1181         Make some tests ISO C 99 compliant.
1182         * tests/zerosize-ptr.h: New file.
1183         * tests/test-memchr.c: Include zerosize-ptr.h.
1184         (main): Use a zero-size object pointer instead of NULL.
1185         * tests/test-memchr2.c: Include zerosize-ptr.h.
1186         (main): Use a zero-size object pointer instead of NULL.
1187         * tests/test-memcmp.c: Include zerosize-ptr.h.
1188         (main): Use a zero-size object pointer instead of NULL.
1189         * tests/test-memmem.c: Include zerosize-ptr.h.
1190         (main): Use a zero-size object pointer instead of NULL.
1191         * tests/test-memrchr.c: Include zerosize-ptr.h.
1192         (main): Use a zero-size object pointer instead of NULL.
1193         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
1194         m4/mmap-anon.m4.
1195         (Depends-on): Add getpagesize.
1196         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
1197         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
1198         m4/mmap-anon.m4.
1199         (Depends-on): Add getpagesize.
1200         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
1201         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
1202         m4/mmap-anon.m4.
1203         (Depends-on): Add getpagesize.
1204         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
1205         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
1206         m4/mmap-anon.m4.
1207         (Depends-on): Add getpagesize.
1208         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
1209         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
1210         m4/mmap-anon.m4.
1211         (Depends-on): Add getpagesize.
1212         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
1213
1214 2009-05-12  Bruno Haible  <bruno@clisp.org>
1215
1216         Tests for module 'alignof'.
1217         * modules/alignof-tests: New file.
1218         * tests/test-alignof.c: New file.
1219
1220 2009-05-12  Bruno Haible  <bruno@clisp.org>
1221
1222         Fix alignof macro.
1223         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
1224         vendor compilers that are always correct.
1225
1226 2009-05-12  Bruno Haible  <bruno@clisp.org>
1227
1228         Make the MAP_ANONYMOUS detection work on HP-UX 11.
1229         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
1230         not whether its fully works.
1231
1232 2009-05-12  Bruno Haible  <bruno@clisp.org>
1233
1234         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
1235
1236 2009-05-12  Jim Meyering  <meyering@redhat.com>
1237
1238         * top/maint.mk: Adjust backslash alignment.
1239
1240 2009-05-11  Simon Josefsson  <simon@josefsson.org>
1241
1242         * top/maint.mk: Make $(srcdir)/build-aux configurable.
1243
1244 2009-05-11  Eric Blake  <ebb9@byu.net>
1245
1246         argp: avoid undefined behavior
1247         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
1248         macros.
1249
1250 2009-05-08  Simon Josefsson  <simon@josefsson.org>
1251
1252         * tests/test-vc-list-files-git.sh: Do git config of user.email and
1253         user.name to prevent git commit from complaining.
1254
1255 2009-05-10  Bruno Haible  <bruno@clisp.org>
1256
1257         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
1258         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
1259         it rewrites every file name only once.
1260         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
1261
1262 2009-05-08  Bruno Haible  <bruno@clisp.org>
1263
1264         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
1265         instead of 'max'.
1266
1267 2009-05-08  Simon Josefsson  <simon@josefsson.org>
1268
1269         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
1270         sockaddr_storage test.
1271
1272 2009-05-07  Simon Josefsson  <simon@josefsson.org>
1273
1274         * modules/sys_socket (Makefile.am): Substitute
1275         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
1276         * m4/sys_socket_h.m4: Check for sockaddr_storage.
1277         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
1278         * tests/test-sys_socket.c: Check sockaddr_storage.
1279
1280 2009-05-08  Bruno Haible  <bruno@clisp.org>
1281
1282         New module 'alignof'.
1283         * lib/alignof.h: New file.
1284         * modules/alignof: New file.
1285
1286 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
1287             Bruno Haible  <bruno@clisp.org>
1288
1289         Fix test-file-has-acl on FreeBSD.
1290         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
1291         mask is implicitly added.
1292         * tests/test-file-has-acl.c: Include <signal.h>.
1293         (main): Terminate the test after 5 seconds.
1294         * modules/acl-tests (configure.ac): Check for alarm function.
1295
1296 2009-05-04  Bruno Haible  <bruno@clisp.org>
1297
1298         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
1299         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
1300         * modules/errno (configure.ac): Drop AC_REQUIRE.
1301         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
1302         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
1303
1304 2009-05-04  Simon Josefsson  <simon@josefsson.org>
1305
1306         * modules/glob-tests: New module.
1307         * tests/test-glob.c: Add.
1308
1309 2009-05-04  Simon Josefsson  <simon@josefsson.org>
1310
1311         * modules/fnmatch-tests: New module.
1312         * tests/test-fnmatch.c: Add.
1313
1314 2009-05-04  Eric Blake  <ebb9@byu.net>
1315
1316         maint: make the new no-submodule-changes rule VPATH-safe
1317         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
1318
1319 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
1320             Bruno Haible  <bruno@clisp.org>
1321
1322         acl: Fix infinite loop on FreeBSD.
1323         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
1324         of return value from acl_get_entry.
1325         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
1326         Likewise.
1327
1328 2009-05-03  Bruno Haible  <bruno@clisp.org>
1329
1330         * lib/acl-internal.h (acl_entries): Clarify return value.
1331         * lib/acl_entries.c (acl_entries): Likewise.
1332
1333 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
1334
1335         Bug fix in acl module.
1336         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
1337
1338 2009-05-03  Bruno Haible  <bruno@clisp.org>
1339
1340         Create gperf-generated file in the source dir, not in the build dir.
1341         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
1342         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
1343         * modules/unicase/locale-language (unicase/locale-languages.h):
1344         Likewise.
1345         * modules/unicase/special-casing (unicase/special-casing-table.h):
1346         Likewise.
1347         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
1348         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
1349         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
1350         Reported by Ralf Wildenhues.
1351
1352 2009-05-03  Bruno Haible  <bruno@clisp.org>
1353
1354         * modules/fnmatch (Description, configure.ac): Taken from
1355         fnmatch-posix.
1356         * modules/fnmatch-posix: Turn into a symbolic reference to the
1357         'fnmatch' module, and deprecate.
1358         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
1359
1360 2009-05-03  Bruno Haible  <bruno@clisp.org>
1361
1362         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
1363         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
1364         Reported by Ralf Wildenhues.
1365
1366 2009-05-04  Simon Josefsson  <simon@josefsson.org>
1367
1368         * m4/fnmatch.m4: Fix fnmatch re-define.
1369
1370 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
1371
1372         priv-set: new module and tests; adapt write-any-file
1373         * lib/priv-set.c: New file.
1374         * lib/priv-set.h: New file.
1375         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
1376         * lib/write-any-file.c: Simplify by using priv-set module.
1377         * m4/priv-set.m4: New file.
1378         * modules/priv-set: New file.
1379         * modules/unlinkdir: Add dependency on priv-set module.
1380         * modules/write-any-file: Likewise.
1381
1382         Tests for module 'priv-set'.
1383         * modules/priv-set-tests: New file.
1384         * tests/test-priv-set.c: New file.
1385
1386 2009-05-03  Jim Meyering  <meyering@redhat.com>
1387             Bruno Haible  <bruno@clisp.org>
1388
1389         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
1390         use the converted UTF-8 variant of the name instead.
1391
1392 2009-05-03  Jim Meyering  <meyering@redhat.com>
1393
1394         tests: tighten some getdate tests
1395         * tests/test-getdate.c (main): Tighten tests: require equality,
1396         not just greater than.  Set TZ envvar to UTC0.
1397
1398 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
1399
1400         getdate: correctly interpret "next monday" when run on a Monday
1401         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
1402         that e.g., "next tues" (when run on a tuesday) results in a date
1403         that is one week in the future, and not today's date.
1404         I.e., add a week when the wday is the same as the current one.
1405         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
1406         and earlier by Martin Bernreuther and Jan Minář.
1407         * tests/test-getdate.c (main): Check that "next DAY" is always in
1408         the future and that "last DAY" is always in the past.
1409
1410 2009-05-02  Jim Meyering  <meyering@redhat.com>
1411
1412         build: ensure that a release build fails when a submodule is unclean
1413         * top/maint.mk (no-submodule-changes): New rule.
1414         (alpha beta major): Depend on it.
1415
1416 2009-05-02  Bruno Haible  <bruno@clisp.org>
1417
1418         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
1419         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
1420         shell variable gl_fnmatch_required to detect which variant is
1421         requested.
1422         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
1423         gl_FUNC_FNMATCH_POSIX.
1424         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
1425         exclude fnmatch-posix.
1426
1427 2009-05-02  Bruno Haible  <bruno@clisp.org>
1428
1429         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
1430         * modules/mbsrtowcs (License): Change to LGPLv2+.
1431         * modules/strnlen1 (License): Likewise.
1432         Reported by Simon Josefsson.
1433
1434 2009-05-02  Bruno Haible  <bruno@clisp.org>
1435
1436         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
1437         "cross".
1438         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
1439         gnulib-tool was called with option --source-base=lib.
1440
1441 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1442
1443         Use automake *-local hooks without commands, for extensibility.
1444         * modules/localcharset (Makefile.am): Rename install-exec-local
1445         rule to install-exec-localcharset, and make it a prerequisite of
1446         install-exec-local.  Likewise, rename the uninstall-local rule to
1447         uninstall-localcharset, and make it a prerequisite of the former.
1448
1449 2009-05-01  Bruno Haible  <bruno@clisp.org>
1450
1451         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
1452         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
1453         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
1454         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
1455         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
1456         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
1457         m4/locale-zh.m4, m4/codeset.m4.
1458
1459         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
1460         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
1461         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
1462         m4/locale-zh.m4.
1463
1464         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
1465         REPLACE_WCRTOMB if mbstate_t must be replaced.
1466         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
1467         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
1468
1469 2009-05-01  Bruno Haible  <bruno@clisp.org>
1470
1471         Avoid compiler warnings when redefining macros defined by <libintl.h>.
1472         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
1473         dngettext, dcngettext, textdomain, bindtextdomain,
1474         bind_textdomain_codeset): Undefine before redefining.
1475
1476 2009-04-30  Bruno Haible  <bruno@clisp.org>
1477
1478         Fix bug introduced on 2009-04-25.
1479         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
1480         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
1481         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
1482         is defined.
1483         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
1484         is defined.
1485         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
1486         is defined.
1487         Reported by Elbert_Pol <elbert.pol@gmail.com>.
1488
1489 2009-04-28  Bruno Haible  <bruno@clisp.org>
1490
1491         Comment tweaks.
1492         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
1493         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
1494         * lib/unicase.h (u*_casexfrm): Likewise.
1495         Reported by Paolo Bonzini.
1496
1497 2009-04-28  Bruno Haible  <bruno@clisp.org>
1498
1499         Fix a compilation error.
1500         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
1501         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
1502         Reported by Jim Meyering.
1503
1504 2009-04-27  Bruno Haible  <bruno@clisp.org>
1505
1506         New module 'libunistring'.
1507         * modules/libunistring: New file.
1508         * m4/libunistring.m4: New file.
1509         * MODULES.html.sh (Unicode string functions): Add it.
1510
1511 2009-04-27  Eric Blake  <ebb9@byu.net>
1512
1513         maint.mk: allow package-specific header to provide <config.h>
1514         * top/maint.mk (sc_require_config_h): New variable.
1515         (sc_require_config_h, sc_require_config_h_first): Use it.
1516
1517 2009-04-27  Simon Josefsson  <simon@josefsson.org>
1518
1519         * top/maint.mk (sc_avoid_if_before_free): Except
1520         useless-if-before-free script.
1521
1522 2009-04-27  Eric Blake  <ebb9@byu.net>
1523
1524         maintainer-makefile: depend on all required helper scripts
1525         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
1526         useless-if-before-free.
1527         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
1528         version, rather than assuming gnulib checkout is available.
1529         Reported by Simen Josefsson.
1530
1531 2009-04-26  Bruno Haible  <bruno@clisp.org>
1532
1533         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
1534         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
1535         "../" or "..".
1536
1537 2009-04-26  Bruno Haible  <bruno@clisp.org>
1538
1539         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
1540         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
1541         AC_LIB_HAVE_LINKFLAGS.
1542
1543 2009-04-26  Bruno Haible  <bruno@clisp.org>
1544
1545         Simplify calling convention of u*_conv_from_encoding.
1546         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
1547         u32_conv_from_encoding): Expect a resultbuf argument and return the
1548         result directly as a pointer.
1549         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
1550         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
1551         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
1552         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
1553         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
1554         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
1555         Update.
1556         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
1557         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
1558         * lib/vasnprintf.c (VASNPRINTF): Update.
1559         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
1560         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
1561         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
1562         * NEWS: Mention the change.
1563
1564 2009-04-26  Bruno Haible  <bruno@clisp.org>
1565
1566         Simplify calling convention of u*_conv_to_encoding.
1567         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
1568         u32_conv_to_encoding): Expect a resultbuf argument and return the
1569         result directly as a pointer.
1570         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
1571         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
1572         freeing scaled_offsets if mem_iconveha failed.
1573         * lib/unicase/u-casexfrm.h (FUNC): Update.
1574         * lib/uninorm/u-normxfrm.h (FUNC): Update.
1575         * lib/vasnprintf.c (VASNPRINTF): Update.
1576         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
1577         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
1578         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
1579         * NEWS: Mention the change.
1580
1581 2009-04-26  Bruno Haible  <bruno@clisp.org>
1582
1583         Avoid test failures on AIX and OSF/1.
1584         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
1585         malloc(0).
1586         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
1587         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
1588         Likewise.
1589         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
1590         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
1591         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
1592         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
1593         * doc/posix-functions/malloc.texi: Document the portability problem
1594         related to malloc(0).
1595
1596 2009-04-26  Bruno Haible  <bruno@clisp.org>
1597
1598         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
1599         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
1600         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
1601
1602 2009-04-25  Bruno Haible  <bruno@clisp.org>
1603
1604         Avoid link error when creating a namespace clean library.
1605         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
1606         as macro with arguments if already defined as an alias.
1607         * lib/signbitf.c (gl_signbitf): Don't undefine.
1608         * lib/signbitd.c (gl_signbitd): Don't undefine.
1609         * lib/signbitl.c (gl_signbitl): Don't undefine.
1610
1611 2009-04-25  Jim Meyering  <meyering@redhat.com>
1612
1613         vc-list-files: fix another quoting bug
1614         * build-aux/vc-list-files: Avoid sed backslash expansion
1615         of pathological directory names.
1616
1617 2009-04-25  Eric Blake  <ebb9@byu.net>
1618
1619         vc-list-files: fix shell quoting error
1620         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
1621         timestamp.
1622
1623 2009-04-25  Jim Meyering  <meyering@redhat.com>
1624
1625         vc-list-files: restore lost functionality with subdir argument
1626         * build-aux/vc-list-files: When given a non-"." sub-directory
1627         argument, substitute the $dir/ prefix back onto each resulting name.
1628         Otherwise, coreutils' root_tests check would fail.
1629
1630 2009-04-24  Eric Blake  <ebb9@byu.net>
1631
1632         vc-list-files: ignore git symlinks
1633         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
1634         than ls-files, to ignore git symlinks.
1635
1636         maint.mk: import improvements from m4
1637         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
1638         (move_if_change): Delete unused macro.
1639         (news-date-check, vc-diff-check): Support VPATH builds.
1640         (announcement): Likewise.  Split --bootstrap-tools list...
1641         (boostrap-tools): ...into separate list, which can be overridden
1642         in cfg.mk.
1643         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
1644         requiring dependency on useless-if-before-free module.
1645         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
1646         Support VPATH builds.
1647
1648 2009-04-24  Jim Meyering  <meyering@redhat.com>
1649
1650         maint.mk: remove coreutils-specific rules and variables
1651         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
1652         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
1653         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
1654
1655         maint.mk: remove obsolete rule
1656         * top/maint.mk (rel-check): Remove rule.
1657         (WGET, WGETFLAGS): Remove now-unused variables.
1658
1659 2009-04-24  Simon Josefsson  <simon@josefsson.org>
1660
1661         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
1662         consistency.
1663
1664         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
1665         '$(PATH_SEPARATOR)' instead of ':'.
1666
1667 2009-04-24  Simon Josefsson  <simon@josefsson.org>
1668
1669         * lib/getopt1.c (main): Use 'const' for static array.
1670
1671 2009-04-24  Simon Josefsson  <simon@josefsson.org>
1672
1673         * top/maint.mk: Sync with coreutils.
1674         * NEWS: Explain incompatibilities.
1675
1676 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1677             Bruno Haible  <bruno@clisp.org>
1678
1679         Fix cross-compilation results.
1680         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
1681         statement, as third argument of AC_TRY_RUN.
1682         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
1683         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
1684         Likewise.
1685         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
1686         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
1687         Likewise.
1688         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1689         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
1690         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
1691
1692 2009-04-20  Bruno Haible  <bruno@clisp.org>
1693
1694         Avoid test failure on mingw.
1695         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
1696
1697 2009-04-20  Bruno Haible  <bruno@clisp.org>
1698
1699         Avoid compilation error on mingw.
1700         * modules/localename-tests (Depends-on): Add locale.
1701
1702 2009-04-19  Bruno Haible  <bruno@clisp.org>
1703
1704         Support for building a shared library on Windows platforms.
1705         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
1706         (main): Test the presence of UNINORM_NFC here.
1707         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
1708         (main): Test the presence of UNINORM_NFD here.
1709         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
1710         (main): Test the presence of UNINORM_NFKC here.
1711         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
1712         (main): Test the presence of UNINORM_NFKD here.
1713
1714 2009-04-19  Bruno Haible  <bruno@clisp.org>
1715
1716         Avoid a compiler warning.
1717         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
1718         Change type of variable 'sequence'.
1719
1720 2009-04-19  Bruno Haible  <bruno@clisp.org>
1721
1722         * modules/configmake (Makefile.am): When the contents of configmake.h
1723         does not change, arrange to preserve its modification time.
1724
1725 2009-04-17  Simon Josefsson  <simon@josefsson.org>
1726
1727         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
1728         gettext domain.
1729
1730 2009-04-16  Jim Meyering  <meyering@redhat.com>
1731
1732         useless-if-before-free: improve conversion code
1733         * build-aux/useless-if-before-free: Adjust code-in-comment to match
1734         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
1735
1736 2009-04-14  Bruno Haible  <bruno@clisp.org>
1737
1738         * modules/fcntl (Depends-on): Add extensions.
1739         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
1740
1741 2009-04-12  Ben Pfaff  <blp@gnu.org>
1742
1743         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
1744         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
1745
1746 2009-03-20  Ben Pfaff  <blp@gnu.org>
1747
1748         Make rename replace existing destinations on Windows.
1749         * m4/rename.m4: Add test for Mingw.
1750         * lib/rename.c: Add rename replacement that uses MoveFileEx with
1751         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
1752         * doc/posix-functions/rename.texi: Document.
1753
1754 2009-04-10  Bruno Haible  <bruno@clisp.org>
1755
1756         New include file "iconveh.h".
1757         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
1758         * lib/striconveh.h: Include it.
1759         (enum iconv_ilseq_handler): Remove definition.
1760         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
1761         striconveh.h.
1762         * lib/striconveha.c: Include striconveh.h.
1763         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
1764         * modules/striconveh (Files): Add lib/iconveh.h.
1765         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
1766         lib/striconveh.h.
1767
1768 2009-04-10  Bruno Haible  <bruno@clisp.org>
1769
1770         * lib/uniconv.h: Update comment.
1771
1772 2009-04-10  Bruno Haible  <bruno@clisp.org>
1773
1774         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
1775         always.
1776         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
1777         * lib/unistr/u16-mbtouc-aux.c: Likewise.
1778         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
1779         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
1780         "unistring-notinline.h", so that the function gets defined always.
1781         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
1782         * lib/unistr/u8-uctomb.c: Likewise.
1783         * lib/unistr/u16-mbtouc.c: Likewise.
1784         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
1785         * lib/unistr/u16-uctomb.c: Likewise.
1786         * lib/unistr/u32-mbtouc.c: Likewise.
1787         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
1788         * lib/unistr/u32-uctomb.c: Likewise.
1789
1790 2009-04-10  Bruno Haible  <bruno@clisp.org>
1791
1792         Mark 'utime' obsolete.
1793         * modules/utime (Status, Notice): New sections.
1794         Suggested by Jim Meyering.
1795
1796         Fix cross-compile guess for utime test.
1797         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
1798         autoconf.
1799         * doc/posix-functions/utime.texi: Give more precisions.
1800         Reported by Jan <ipif@ymail.com>.
1801
1802 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
1803
1804         filevercmp: correct today's change
1805         * lib/filevercmp.c: Also handle coreutils' test inputs.
1806         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
1807
1808         Fix regression in 'filevercmp' module. Thanks Sven Joachim
1809         for reporting it.
1810         * lib/filevercmp.c: Special handle for "", "." and "..".
1811         * tests/test-filevercmp.c: Enlarge the set suite.
1812
1813 2009-04-07  Jim Meyering  <meyering@redhat.com>
1814
1815         useless-if-before-free: show how to remove braced useless free, too
1816         * build-aux/useless-if-before-free: still only in a comment, though.
1817
1818 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
1819
1820         maint.mk: import changes to syntax-check macros from coreutils
1821         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
1822         Use them in the relevant macros.
1823
1824 2009-04-06  Bruno Haible  <bruno@clisp.org>
1825
1826         Fix unportable use of bit-fields.
1827         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
1828         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
1829         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
1830
1831 2009-04-06  Bruno Haible  <bruno@clisp.org>
1832
1833         Avoid test failures on AIX and OSF/1.
1834         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
1835         that malloc(0) = NULL.
1836         * tests/unicase/test-u8-tolower.c (check): Likewise.
1837         * tests/unicase/test-u8-totitle.c (check): Likewise.
1838         * tests/unicase/test-u8-toupper.c (check): Likewise.
1839         * tests/unicase/test-u16-casefold.c (check): Likewise.
1840         * tests/unicase/test-u16-tolower.c (check): Likewise.
1841         * tests/unicase/test-u16-totitle.c (check): Likewise.
1842         * tests/unicase/test-u16-toupper.c (check): Likewise.
1843         * tests/unicase/test-u32-casefold.c (check): Likewise.
1844         * tests/unicase/test-u32-tolower.c (check): Likewise.
1845         * tests/unicase/test-u32-totitle.c (check): Likewise.
1846         * tests/unicase/test-u32-toupper.c (check): Likewise.
1847         * tests/uninorm/test-u8-nfc.c (check): Likewise.
1848         * tests/uninorm/test-u8-nfd.c (check): Likewise.
1849         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
1850         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
1851         * tests/uninorm/test-u16-nfc.c (check): Likewise.
1852         * tests/uninorm/test-u16-nfd.c (check): Likewise.
1853         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
1854         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
1855         * tests/uninorm/test-u32-nfc.c (check): Likewise.
1856         * tests/uninorm/test-u32-nfd.c (check): Likewise.
1857         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
1858         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
1859
1860 2009-04-05  Bruno Haible  <bruno@clisp.org>
1861
1862         Work around an autoconf limitation.
1863         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
1864         comment line if it would be longer than 3 KB.
1865
1866 2009-04-05  Bruno Haible  <bruno@clisp.org>
1867
1868         Avoid test failure with libiconv-1.13.
1869         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
1870         of the expected test results.
1871
1872 2009-04-05  Bruno Haible  <bruno@clisp.org>
1873
1874         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
1875         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
1876         that it should be installed.
1877
1878 2009-04-05  Bruno Haible  <bruno@clisp.org>
1879
1880         * gnulib-tool: New option --copy-file.
1881         (func_usage): Document it.
1882         (func_dest_tmpfilename): Moved out of func_import.
1883         (func_add_file, func_update_file): New functions, extracted from
1884         func_import.
1885         (func_import): Update.
1886
1887 2009-04-05  Karl Berry  <karl@gnu.org>
1888
1889         * README: prominently mention gnulib-tool.
1890         Rearrange sections so getting the code is near the top.
1891
1892 2009-04-05  Bruno Haible  <bruno@clisp.org>
1893
1894         * lib/unicase.h: Mention u*_cmp2.
1895         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
1896         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
1897         * lib/unicase/ulc-casecmp.c: Likewise.
1898         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
1899         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
1900         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
1901         unistr/u8-cmp.
1902         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
1903         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
1904         unistr/u16-cmp.
1905         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
1906         unistr/u32-cmp.
1907
1908         * lib/uninorm.h: Mention u*_cmp2.
1909         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
1910         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
1911         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
1912         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
1913         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
1914         unistr/u8-cmp.
1915         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
1916         unistr/u16-cmp.
1917         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
1918         unistr/u32-cmp.
1919
1920         New module 'unistr/u32-cmp2'.
1921         * lib/unistr/u32-cmp2.c: New file.
1922         * modules/unistr/u32-cmp2: New file.
1923
1924         New module 'unistr/u16-cmp2'.
1925         * lib/unistr/u16-cmp2.c: New file.
1926         * modules/unistr/u16-cmp2: New file.
1927
1928         New module 'unistr/u8-cmp2'.
1929         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
1930         * lib/unistr/u8-cmp2.c: New file.
1931         * lib/unistr/u-cmp2.h: New file.
1932         * modules/unistr/u8-cmp2: New file.
1933
1934 2009-04-05  Bruno Haible  <bruno@clisp.org>
1935
1936         * lib/unictype.h (uc_property_is_valid): New macro.
1937         * tests/unictype/test-pr_byname.c (main): Use it.
1938
1939         * lib/unistr.h: Doc fixes.
1940         * lib/uniconv.h: Doc fixes.
1941         * lib/unictype.h: Doc fixes.
1942
1943 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
1944
1945         Port coreutils 7.2 to Solaris 8.
1946
1947         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
1948         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
1949         for Solaris 8.  This is a bit of a hack, as it means it's the
1950         caller's responsibility to add -lnsl if needed, but most likely it
1951         won't be needed since only getaddrinfo uses this and getaddrinfo
1952         isn't needed on Solaris 8.
1953
1954         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
1955         problem to Solaris 8 encountered with coreutils 7.2, which
1956         resulted in a message "fnmatch.c:292: warning: passing argument 4
1957         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
1958         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
1959
1960 2009-04-03  Simon Josefsson  <simon@josefsson.org>
1961
1962         * m4/ld-version-script.m4: Add FIXME comment.
1963
1964 2009-04-02  Simon Josefsson  <simon@josefsson.org>
1965
1966         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
1967         SOVERSION variable.
1968
1969 2009-04-02  Bruno Haible  <bruno@clisp.org>
1970
1971         * Makefile (info, html, dvi, pdf): Combine the rules.
1972         Suggested by Jim Meyering.
1973
1974 2009-04-01  Bruno Haible  <bruno@clisp.org>
1975
1976         * Makefile (info, html, dvi, pdf): New targets.
1977         Reported by Reuben Thomas <rrt@sc3d.org>.
1978
1979 2009-04-01  Bruno Haible  <bruno@clisp.org>
1980
1981         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
1982         can be put into PATH.
1983         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
1984
1985 2009-04-01  Bruno Haible  <bruno@clisp.org>
1986
1987         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
1988
1989 2009-04-01  Bruno Haible  <bruno@clisp.org>
1990
1991         Rename module 'visibility'.
1992         * modules/lib-symbol-visibility: Renamed from modules/visibility.
1993         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
1994         * doc/gnulib.texi: Update.
1995         * MODULES.html.sh (Misc): Update.
1996         * NEWS: Mention the change.
1997
1998 2009-04-01  Simon Josefsson  <simon@josefsson.org>
1999
2000         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
2001         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
2002         Eric Blake <ebb9@byu.net> for review.
2003         * MODULES.html.sh: Add lib-msvc-compat.
2004         * doc/gnulib.texi: Link to new section.
2005         * m4/ld-output-def.m4: New file.
2006         * doc/ld-output-def.texi: New file.
2007
2008 2009-04-01  Simon Josefsson  <simon@josefsson.org>
2009
2010         Rename ld-version-script to lib-symbol-versions.  Suggested by
2011         Bruno Haible <bruno@clisp.org>.
2012         * modules/ld-version-script: Renamed to lib-symbol-versions.
2013         * doc/ld-version-script.texi: Fix module name.
2014         * MODULES.html.sh: Add lib-symbol-versions.
2015
2016 2009-03-31  Simon Josefsson  <simon@josefsson.org>
2017
2018         * modules/u64-tests: New file.
2019         * tests/test-u64.c: New file.
2020
2021 2009-03-04  Simon Josefsson  <simon@josefsson.org>
2022
2023         * MODULES.html.sh: Mention u64.
2024         * modules/u64: New module.
2025         * modules/crypto/sha512: Depend on u64 module instead of providing
2026         u64.h.
2027
2028 2009-03-27  Eric Blake  <ebb9@byu.net>
2029
2030         test-strerror: make debugging EAI_SYSTEM easier
2031         * modules/getaddrinfo-tests (Depends-on): Add strerror.
2032         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
2033         failure was EAI_SYSTEM.
2034
2035 2009-03-25  Bruno Haible  <bruno@clisp.org>
2036
2037         Fix a problem with --enable-relocatable on Solaris 7.
2038         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
2039         since 2008-02-24.
2040
2041 2009-03-25  Eric Blake  <ebb9@byu.net>
2042
2043         test-sockets: avoid gcc warning
2044         * tests/test-sockets.c (main): Silence compiler warning.
2045
2046 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
2047
2048         New modules nproc, pthread, contributed by Glen Lenker.
2049
2050         * MODULES.html.sh: Add pthread, nproc.
2051         * lib/nproc.c: New file.
2052         * lib/nproc.h: New file.
2053         * lib/pthread.in.h: New file.
2054         * m4/pthread.m4: New file.
2055         * modules/nproc: New file.
2056         * modules/pthread: New file.
2057
2058 2009-03-24  Simon Josefsson  <simon@josefsson.org>
2059
2060         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
2061         New variable.
2062
2063 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
2064
2065         filevercmp: handle simple~ and numbered.~3~ backup suffixes
2066         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
2067         * tests/test-filevercmp.c: Add tests for backup suffixes.
2068
2069 2009-03-24  Simon Josefsson  <simon@josefsson.org>
2070
2071         * modules/stdlib (Depends-on): Add stdint, needed when defining
2072         struct random_data on, for example, HP-UX 10.20.  Reported by
2073         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2074
2075 2009-03-24  Simon Josefsson  <simon@josefsson.org>
2076
2077         * lib/readline.c (readline): Call fflush on stdout after printing
2078         prompt.
2079
2080 2009-03-20  Bruno Haible  <bruno@clisp.org>
2081
2082         Remove dependency from 'close' module to -lws2_32 on native Windows.
2083         * lib/close-hook.h: New file.
2084         * lib/close-hook.c: New file.
2085         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
2086         w32sock.h.
2087         (_gl_close_fd_maybe_socket): Remove function.
2088         (rpl_close): Invoke execute_all_close_hooks instead of
2089         _gl_close_fd_maybe_socket.
2090         * lib/sockets.c: Include close-hook.h, w32sock.h.
2091         (close_fd_maybe_socket): New function, essentially from lib/close.c.
2092         (close_sockets_hook): New variable.
2093         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
2094         (gl_sockets_cleanup): Unregister it.
2095         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
2096         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
2097         * modules/close-hook: New file.
2098         * modules/close (Files): Remove lib/w32sock.h.
2099         (Depends-on): Add close-hook.
2100         (Link): Remove section.
2101         * modules/sockets (Files): Add lib/w32sock.h.
2102         (Depends-on): Add close-hook.
2103         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
2104         invocation.
2105         * NEWS: Mention that LIB_CLOSE is gone.
2106
2107 2009-03-23  Eric Blake  <ebb9@byu.net>
2108
2109         signal-tests: test previous patch
2110         * tests/test-signal.c: New file.
2111         * modules/signal-tests: Likewise.
2112
2113         signal.h: always support 'volatile sig_atomic_t'
2114         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
2115         (gl_SIGNAL_H_DEFAULTS): Add a default.
2116         * modules/signal (Makefile.am): Substitute if needed.
2117         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
2118         users can blindly add volatile.
2119         * doc/posix-headers/signal.texi (signal.h): Document it.
2120         Reported by Matthew Woehlke.
2121
2122 2009-03-23  Jim Meyering  <meyering@redhat.com>
2123
2124         pathmax: PATH_MAX: use pathconf only when available
2125         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
2126         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
2127         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
2128         This avoids a link failure in a PSP cross-compilation environment
2129         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
2130
2131         * lib/vasnprintf.c (divide): Fix typo in comment.
2132
2133 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2134
2135         * gnulib-tool (func_filter_filelist): Fix comment.
2136
2137 2009-03-20  Bruno Haible  <bruno@clisp.org>
2138
2139         Make sockets.h self-contained.
2140         * lib/sockets.c: Include sockets.h first.
2141         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
2142
2143 2009-03-19  Eric Blake  <ebb9@byu.net>
2144
2145         doc: mention more functions added in cygwin 1.7.0
2146         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
2147         addition.
2148         * doc/posix-functions/log2f.texi: Likewise.
2149
2150 2009-03-19  Jim Meyering  <meyering@redhat.com>
2151
2152         fsusage: avoid syntax error due to statement-before-declaration
2153         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
2154         after all declarations.  Reported by Matthew Woehlke in
2155         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
2156
2157 2009-03-18  Eric Blake  <ebb9@byu.net>
2158
2159         build-aux/compile: sync from automake
2160         * build-aux/compile: New file, from automake.
2161         * config/srclist.txt: Mention build-aux/compile.
2162
2163 2009-03-17  Bruno Haible  <bruno@clisp.org>
2164
2165         * lib/git-merge-changelog.c: Fix typo in comment.
2166         Reported by Reuben Thomas <rrt@sc3d.org>.
2167
2168 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
2169
2170         * m4/regex.m4: update and improve help for
2171         --without-included-regex.
2172
2173 2009-03-17  Simon Josefsson  <simon@josefsson.org>
2174
2175         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
2176         failure on missing include files.
2177
2178 2009-03-17  Eric Blake  <ebb9@byu.net>
2179
2180         doc: mention more functions added in cygwin 1.7.0
2181         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
2182         addition.
2183         * doc/posix-functions/fwscanf.texi: Likewise.
2184         * doc/posix-functions/swprintf.texi: Likewise.
2185         * doc/posix-functions/swscanf.texi: Likewise.
2186         * doc/posix-functions/vfwprintf.texi: Likewise.
2187         * doc/posix-functions/vfwscanf.texi: Likewise.
2188         * doc/posix-functions/vswprintf.texi: Likewise.
2189         * doc/posix-functions/vswscanf.texi: Likewise.
2190         * doc/posix-functions/vwprintf.texi: Likewise.
2191         * doc/posix-functions/vwscanf.texi: Likewise.
2192         * doc/posix-functions/wcscasecmp.texi: Likewise.
2193         * doc/posix-functions/wcsdup.texi: Likewise.
2194         * doc/posix-functions/wcsftime.texi: Likewise.
2195         * doc/posix-functions/wcsncasecmp.texi: Likewise.
2196         * doc/posix-functions/wprintf.texi: Likewise.
2197         * doc/posix-functions/wscanf.texi: Likewise.
2198         * doc/glibc-functions/gethostbyname2.texi: Likewise.
2199
2200 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2201
2202         maint.mk: really add $(AM_MAKEFLAGS)
2203         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
2204         was inadvertently omitted in the last commit.
2205         Spotted by Bruno Haible.
2206
2207         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
2208         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
2209         $(AM_MAKEFLAGS)' rather than plain `make'.
2210
2211         gnulib-tool: execute $MAKE not make
2212         * gnulib-tool: Default $MAKE to 'make'.
2213         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
2214         than make.  Initialize $MAKE in the do-autobuild script.
2215
2216         gnulib-tool: use $MAKE not make in generated files
2217         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
2218         make, in generated files.  Initialize $MAKE in the do-autobuild
2219         script.
2220
2221         * top/GNUmakefile (_have-git-version-gen): Fix typo.
2222
2223         GNUmakefile: disable parallelism only for multiple, recursive targets
2224         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
2225         additions in the Makefile.
2226         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
2227         by Automake.
2228         (.NOTPARALLEL): Only disable parallel builds if multiple targets
2229         are listed on the command line and at least one of them is
2230         listed in $(ALL_RECURSIVE_TARGETS).
2231
2232 2009-03-14  Bruno Haible  <bruno@clisp.org>
2233
2234         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
2235         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
2236         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
2237         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
2238         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
2239         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
2240         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
2241         unistr/u8-uctomb.
2242         * modules/unistr/u8-strchr (Depends-on): Likewise.
2243         * modules/unistr/u8-strrchr (Depends-on): Likewise.
2244         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
2245         unistr/u16-uctomb.
2246         * modules/unistr/u16-strchr (Depends-on): Likewise.
2247         * modules/unistr/u16-strrchr (Depends-on): Likewise.
2248
2249 2009-03-12  Bruno Haible  <bruno@clisp.org>
2250
2251         Work around select() bug on Interix 3.5.
2252         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
2253         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
2254         * m4/select.m4: New file.
2255         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
2256         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
2257         * modules/select (Files): Add m4/select.m4.
2258         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
2259         * modules/nanosleep (Depends-on): Add select.
2260         * modules/poll (Depends-on): Likewise.
2261         * doc/posix-functions/select.texi: Mention the Interix bug.
2262         Reported by Markus Duft <mduft@gentoo.org>.
2263
2264         * lib/select.c: Renamed from lib/winsock-select.c.
2265         * modules/select (Files): Add lib/select.c, remove
2266         lib/winsock-select.c.
2267         (configure.ac): Update.
2268
2269 2009-03-12  Jim Meyering  <meyering@redhat.com>
2270
2271         avoid gcc warnings about unused macro definitions
2272         * lib/readtokens.c (STREQ): Remove unused definition.
2273         * lib/xmalloc.c (SIZE_MAX): Likewise.
2274         * lib/openat-die.c (N_): Likewise.
2275         * lib/mountlist.c (SIZE_MAX): Remove definition.
2276         Instead, include <stdint.h>.
2277         * lib/readutmp.c: Likewise.
2278         * modules/readutmp (Depends-on): Add stdint.
2279         * modules/mountlist (Depends-on): Add stdint.
2280         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
2281
2282 2009-03-10  Bruno Haible  <bruno@clisp.org>
2283
2284         Tests for module 'mbmemcasecoll'.
2285         * modules/mbmemcasecoll-tests: New file.
2286         * tests/test-mbmemcasecoll1.sh: New file.
2287         * tests/test-mbmemcasecoll2.sh: New file.
2288         * tests/test-mbmemcasecoll3.sh: New file.
2289         * tests/test-mbmemcasecoll.c: New file.
2290
2291         New module 'mbmemcasecoll'.
2292         * lib/mbmemcasecoll.h: New file.
2293         * lib/mbmemcasecoll.c: New file.
2294         * modules/mbmemcasecoll: New file.
2295
2296         * tests/test-mbmemcasecmp.h: New file, extracted from
2297         tests/test-mbmemcasecmp.c.
2298         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
2299         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
2300         (main): Update.
2301         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
2302
2303 2009-03-09  Bruno Haible  <bruno@clisp.org>
2304
2305         Tests for module 'mbmemcasecmp'.
2306         * modules/mbmemcasecmp-tests: New file.
2307         * tests/test-mbmemcasecmp1.sh: New file.
2308         * tests/test-mbmemcasecmp2.sh: New file.
2309         * tests/test-mbmemcasecmp3.sh: New file.
2310         * tests/test-mbmemcasecmp.c: New file.
2311
2312         New module 'mbmemcasecmp'.
2313         * lib/mbmemcasecmp.h: New file.
2314         * lib/mbmemcasecmp.c: New file.
2315         * modules/mbmemcasecmp: New file.
2316
2317 2009-03-09  Bruno Haible  <bruno@clisp.org>
2318
2319         Tests for module 'unicase/ulc-casecoll'.
2320         * modules/unicase/ulc-casecoll-tests: New file.
2321         * tests/unicase/test-ulc-casecoll1.sh: New file.
2322         * tests/unicase/test-ulc-casecoll2.sh: New file.
2323         * tests/unicase/test-ulc-casecoll.c: New file.
2324
2325         New module 'unicase/ulc-casecoll'.
2326         * lib/unicase.h (ulc_casecoll): New declaration.
2327         * lib/unicase/ulc-casecoll.c: New file.
2328         * modules/unicase/ulc-casecoll: New file.
2329
2330         New module 'unicase/ulc-casexfrm'.
2331         * lib/unicase.h (ulc_casexfrm): New declaration.
2332         * lib/unicase/ulc-casexfrm.c: New file.
2333         * modules/unicase/ulc-casexfrm: New file.
2334
2335 2009-03-09  Bruno Haible  <bruno@clisp.org>
2336
2337         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
2338         invocations.
2339
2340         * m4/mbscasecmp.m4: Remove file.
2341         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
2342         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
2343
2344         * m4/mbscasestr.m4: Remove file.
2345         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
2346         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
2347
2348         * m4/mbschr.m4: Remove file.
2349         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
2350         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
2351
2352         * m4/mbscspn.m4: Remove file.
2353         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
2354         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
2355
2356         * m4/mbslen.m4: Remove file.
2357         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
2358         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
2359
2360         * m4/mbsncasecmp.m4: Remove file.
2361         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
2362         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
2363
2364         * m4/mbsnlen.m4: Remove file.
2365         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
2366         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
2367
2368         * m4/mbspbrk.m4: Remove file.
2369         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
2370         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
2371
2372         * m4/mbspcasecmp.m4: Remove file.
2373         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
2374         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
2375
2376         * m4/mbsrchr.m4: Remove file.
2377         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
2378         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
2379
2380         * m4/mbssep.m4: Remove file.
2381         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
2382         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
2383
2384         * m4/mbsspn.m4: Remove file.
2385         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
2386         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
2387
2388         * m4/mbsstr.m4: Remove file.
2389         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
2390         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
2391
2392         * m4/mbstok_r.m4: Remove file.
2393         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
2394         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
2395
2396         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
2397
2398         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
2399         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
2400
2401         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
2402
2403 2009-03-08  Bruno Haible  <bruno@clisp.org>
2404
2405         Tests for module 'unicase/ulc-casecmp'.
2406         * modules/unicase/ulc-casecmp-tests: New file.
2407         * tests/unicase/test-ulc-casecmp1.sh: New file.
2408         * tests/unicase/test-ulc-casecmp2.sh: New file.
2409         * tests/unicase/test-ulc-casecmp.c: New file.
2410
2411         New module 'unicase/ulc-casecmp'.
2412         * lib/unicase.h (ulc_casecmp): New declaration.
2413         * lib/unicase/ulc-casecmp.c: New file.
2414         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
2415         'const SRC_UNIT *'.
2416         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
2417         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
2418         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
2419         * modules/unicase/ulc-casecmp: New file.
2420
2421         Tests for module 'unicase/u32-is-cased'.
2422         * modules/unicase/u32-is-cased-tests: New file.
2423         * tests/unicase/test-u32-is-cased.c: New file.
2424
2425         Tests for module 'unicase/u16-is-cased'.
2426         * modules/unicase/u16-is-cased-tests: New file.
2427         * tests/unicase/test-u16-is-cased.c: New file.
2428
2429         Tests for module 'unicase/u8-is-cased'.
2430         * modules/unicase/u8-is-cased-tests: New file.
2431         * tests/unicase/test-u8-is-cased.c: New file.
2432         * tests/unicase/test-is-cased.h: New file.
2433
2434         New module 'unicase/u32-is-cased'.
2435         * lib/unicase/u32-is-cased.c: New file.
2436         * modules/unicase/u32-is-cased: New file.
2437
2438         New module 'unicase/u16-is-cased'.
2439         * lib/unicase/u16-is-cased.c: New file.
2440         * modules/unicase/u16-is-cased: New file.
2441
2442         New module 'unicase/u8-is-cased'.
2443         * lib/unicase/u8-is-cased.c: New file.
2444         * lib/unicase/u-is-cased.h: New file.
2445         * modules/unicase/u8-is-cased: New file.
2446
2447         Tests for module 'unicase/u32-is-casefolded'.
2448         * modules/unicase/u32-is-casefolded-tests: New file.
2449         * tests/unicase/test-u32-is-casefolded.c: New file.
2450
2451         Tests for module 'unicase/u16-is-casefolded'.
2452         * modules/unicase/u16-is-casefolded-tests: New file.
2453         * tests/unicase/test-u16-is-casefolded.c: New file.
2454
2455         Tests for module 'unicase/u8-is-casefolded'.
2456         * modules/unicase/u8-is-casefolded-tests: New file.
2457         * tests/unicase/test-u8-is-casefolded.c: New file.
2458         * tests/unicase/test-is-casefolded.h: New file.
2459
2460         New module 'unicase/u32-is-casefolded'.
2461         * lib/unicase/u32-is-casefolded.c: New file.
2462         * modules/unicase/u32-is-casefolded: New file.
2463
2464         New module 'unicase/u16-is-casefolded'.
2465         * lib/unicase/u16-is-casefolded.c: New file.
2466         * modules/unicase/u16-is-casefolded: New file.
2467
2468         New module 'unicase/u8-is-casefolded'.
2469         * lib/unicase/u8-is-casefolded.c: New file.
2470         * modules/unicase/u8-is-casefolded: New file.
2471
2472         Tests for module 'unicase/u32-is-titlecase'.
2473         * modules/unicase/u32-is-titlecase-tests: New file.
2474         * tests/unicase/test-u32-is-titlecase.c: New file.
2475
2476         Tests for module 'unicase/u16-is-titlecase'.
2477         * modules/unicase/u16-is-titlecase-tests: New file.
2478         * tests/unicase/test-u16-is-titlecase.c: New file.
2479
2480         Tests for module 'unicase/u8-is-titlecase'.
2481         * modules/unicase/u8-is-titlecase-tests: New file.
2482         * tests/unicase/test-u8-is-titlecase.c: New file.
2483         * tests/unicase/test-is-titlecase.h: New file.
2484
2485         New module 'unicase/u32-is-titlecase'.
2486         * lib/unicase/u32-is-titlecase.c: New file.
2487         * modules/unicase/u32-is-titlecase: New file.
2488
2489         New module 'unicase/u16-is-titlecase'.
2490         * lib/unicase/u16-is-titlecase.c: New file.
2491         * modules/unicase/u16-is-titlecase: New file.
2492
2493         New module 'unicase/u8-is-titlecase'.
2494         * lib/unicase/u8-is-titlecase.c: New file.
2495         * modules/unicase/u8-is-titlecase: New file.
2496
2497         Tests for module 'unicase/u32-is-lowercase'.
2498         * modules/unicase/u32-is-lowercase-tests: New file.
2499         * tests/unicase/test-u32-is-lowercase.c: New file.
2500
2501         Tests for module 'unicase/u16-is-lowercase'.
2502         * modules/unicase/u16-is-lowercase-tests: New file.
2503         * tests/unicase/test-u16-is-lowercase.c: New file.
2504
2505         Tests for module 'unicase/u8-is-lowercase'.
2506         * modules/unicase/u8-is-lowercase-tests: New file.
2507         * tests/unicase/test-u8-is-lowercase.c: New file.
2508         * tests/unicase/test-is-lowercase.h: New file.
2509
2510         New module 'unicase/u32-is-lowercase'.
2511         * lib/unicase/u32-is-lowercase.c: New file.
2512         * modules/unicase/u32-is-lowercase: New file.
2513
2514         New module 'unicase/u16-is-lowercase'.
2515         * lib/unicase/u16-is-lowercase.c: New file.
2516         * modules/unicase/u16-is-lowercase: New file.
2517
2518         New module 'unicase/u8-is-lowercase'.
2519         * lib/unicase/u8-is-lowercase.c: New file.
2520         * modules/unicase/u8-is-lowercase: New file.
2521
2522         Tests for module 'unicase/u32-is-uppercase'.
2523         * modules/unicase/u32-is-uppercase-tests: New file.
2524         * tests/unicase/test-u32-is-uppercase.c: New file.
2525
2526         Tests for module 'unicase/u16-is-uppercase'.
2527         * modules/unicase/u16-is-uppercase-tests: New file.
2528         * tests/unicase/test-u16-is-uppercase.c: New file.
2529
2530         Tests for module 'unicase/u8-is-uppercase'.
2531         * modules/unicase/u8-is-uppercase-tests: New file.
2532         * tests/unicase/test-u8-is-uppercase.c: New file.
2533         * tests/unicase/test-is-uppercase.h: New file.
2534
2535         New module 'unicase/u32-is-uppercase'.
2536         * lib/unicase/u32-is-uppercase.c: New file.
2537         * modules/unicase/u32-is-uppercase: New file.
2538
2539         New module 'unicase/u16-is-uppercase'.
2540         * lib/unicase/u16-is-uppercase.c: New file.
2541         * modules/unicase/u16-is-uppercase: New file.
2542
2543         New module 'unicase/u8-is-uppercase'.
2544         * lib/unicase/u8-is-uppercase.c: New file.
2545         * modules/unicase/u8-is-uppercase: New file.
2546
2547         New module 'unicase/u32-is-invariant'.
2548         * lib/unicase/u32-is-invariant.c: New file.
2549         * modules/unicase/u32-is-invariant: New file.
2550
2551         New module 'unicase/u16-is-invariant'.
2552         * lib/unicase/u16-is-invariant.c: New file.
2553         * modules/unicase/u16-is-invariant: New file.
2554
2555         New module 'unicase/u8-is-invariant'.
2556         * lib/unicase/u8-is-invariant.c: New file.
2557         * lib/unicase/invariant.h: New file.
2558         * lib/unicase/u-is-invariant.h: New file.
2559         * modules/unicase/u8-is-invariant: New file.
2560
2561         Tests for module 'unicase/u32-casecoll'.
2562         * modules/unicase/u32-casecoll-tests: New file.
2563         * tests/unicase/test-u32-casecoll.c: New file.
2564
2565         Tests for module 'unicase/u16-casecoll'.
2566         * modules/unicase/u16-casecoll-tests: New file.
2567         * tests/unicase/test-u16-casecoll.c: New file.
2568
2569         Tests for module 'unicase/u8-casecoll'.
2570         * modules/unicase/u8-casecoll-tests: New file.
2571         * tests/unicase/test-u8-casecoll.c: New file.
2572
2573         New module 'unicase/u32-casecoll'.
2574         * lib/unicase/u32-casecoll.c: New file.
2575         * modules/unicase/u32-casecoll: New file.
2576
2577         New module 'unicase/u16-casecoll'.
2578         * lib/unicase/u16-casecoll.c: New file.
2579         * modules/unicase/u16-casecoll: New file.
2580
2581         New module 'unicase/u8-casecoll'.
2582         * lib/unicase/u8-casecoll.c: New file.
2583         * lib/unicase/u-casecoll.h: New file.
2584         * modules/unicase/u8-casecoll: New file.
2585
2586         New module 'unicase/u32-casexfrm'.
2587         * lib/unicase/u32-casexfrm.c: New file.
2588         * modules/unicase/u32-casexfrm: New file.
2589
2590         New module 'unicase/u16-casexfrm'.
2591         * lib/unicase/u16-casexfrm.c: New file.
2592         * modules/unicase/u16-casexfrm: New file.
2593
2594         New module 'unicase/u8-casexfrm'.
2595         * lib/unicase/u8-casexfrm.c: New file.
2596         * lib/unicase/u-casexfrm.h: New file.
2597         * modules/unicase/u8-casexfrm: New file.
2598
2599         Tests for module 'unicase/u32-casecmp'.
2600         * modules/unicase/u32-casecmp-tests: New file.
2601         * tests/unicase/test-u32-casecmp.c: New file.
2602
2603         Tests for module 'unicase/u16-casecmp'.
2604         * modules/unicase/u16-casecmp-tests: New file.
2605         * tests/unicase/test-u16-casecmp.c: New file.
2606
2607         Tests for module 'unicase/u8-casecmp'.
2608         * modules/unicase/u8-casecmp-tests: New file.
2609         * tests/unicase/test-u8-casecmp.c: New file.
2610         * tests/unicase/test-casecmp.h: New file.
2611
2612         New module 'unicase/u32-casecmp'.
2613         * lib/unicase/u32-casecmp.c: New file.
2614         * modules/unicase/u32-casecmp: New file.
2615
2616         New module 'unicase/u16-casecmp'.
2617         * lib/unicase/u16-casecmp.c: New file.
2618         * modules/unicase/u16-casecmp: New file.
2619
2620         New module 'unicase/u8-casecmp'.
2621         * lib/unicase/u8-casecmp.c: New file.
2622         * lib/unicase/u-casecmp.h: New file.
2623         * modules/unicase/u8-casecmp: New file.
2624
2625         Tests for module 'unicase/u32-casefold'.
2626         * modules/unicase/u32-casefold-tests: New file.
2627         * tests/unicase/test-u32-casefold.c: New file.
2628
2629         Tests for module 'unicase/u16-casefold'.
2630         * modules/unicase/u16-casefold-tests: New file.
2631         * tests/unicase/test-u16-casefold.c: New file.
2632
2633         Tests for module 'unicase/u8-casefold'.
2634         * modules/unicase/u8-casefold-tests: New file.
2635         * tests/unicase/test-u8-casefold.c: New file.
2636
2637         New module 'unicase/u32-casefold'.
2638         * lib/unicase/u32-casefold.c: New file.
2639         * modules/unicase/u32-casefold: New file.
2640
2641         New module 'unicase/u16-casefold'.
2642         * lib/unicase/u16-casefold.c: New file.
2643         * modules/unicase/u16-casefold: New file.
2644
2645         New module 'unicase/u8-casefold'.
2646         * lib/unicase/u8-casefold.c: New file.
2647         * lib/unicase/u-casefold.h: New file.
2648         * modules/unicase/u8-casefold: New file.
2649
2650         New module 'unicase/tocasefold'.
2651         * lib/unicase/casefold.h: New file.
2652         * lib/unicase/tocasefold.c: New file.
2653         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
2654         * modules/unicase/tocasefold: New file.
2655
2656         Tests for module 'unicase/u32-totitle'.
2657         * modules/unicase/u32-totitle-tests: New file.
2658         * tests/unicase/test-u32-totitle.c: New file.
2659
2660         Tests for module 'unicase/u16-totitle'.
2661         * modules/unicase/u16-totitle-tests: New file.
2662         * tests/unicase/test-u16-totitle.c: New file.
2663
2664         Tests for module 'unicase/u8-totitle'.
2665         * modules/unicase/u8-totitle-tests: New file.
2666         * tests/unicase/test-u8-totitle.c: New file.
2667
2668         New module 'unicase/u32-totitle'.
2669         * lib/unicase/u32-totitle.c: New file.
2670         * modules/unicase/u32-totitle: New file.
2671
2672         New module 'unicase/u16-totitle'.
2673         * lib/unicase/u16-totitle.c: New file.
2674         * modules/unicase/u16-totitle: New file.
2675
2676         New module 'unicase/u8-totitle'.
2677         * lib/unicase/u8-totitle.c: New file.
2678         * lib/unicase/u-totitle.h: New file.
2679         * modules/unicase/u8-totitle: New file.
2680
2681         Tests for module 'unicase/u32-tolower'.
2682         * modules/unicase/u32-tolower-tests: New file.
2683         * tests/unicase/test-u32-tolower.c: New file.
2684
2685         Tests for module 'unicase/u16-tolower'.
2686         * modules/unicase/u16-tolower-tests: New file.
2687         * tests/unicase/test-u16-tolower.c: New file.
2688
2689         Tests for module 'unicase/u8-tolower'.
2690         * modules/unicase/u8-tolower-tests: New file.
2691         * tests/unicase/test-u8-tolower.c: New file.
2692
2693         New module 'unicase/u32-tolower'.
2694         * lib/unicase/u32-tolower.c: New file.
2695         * modules/unicase/u32-tolower: New file.
2696
2697         New module 'unicase/u16-tolower'.
2698         * lib/unicase/u16-tolower.c: New file.
2699         * modules/unicase/u16-tolower: New file.
2700
2701         New module 'unicase/u8-tolower'.
2702         * lib/unicase/u8-tolower.c: New file.
2703         * modules/unicase/u8-tolower: New file.
2704
2705         Tests for module 'unicase/u32-toupper'.
2706         * modules/unicase/u32-toupper-tests: New file.
2707         * tests/unicase/test-u32-toupper.c: New file.
2708
2709         Tests for module 'unicase/u16-toupper'.
2710         * modules/unicase/u16-toupper-tests: New file.
2711         * tests/unicase/test-u16-toupper.c: New file.
2712
2713         Tests for module 'unicase/u8-toupper'.
2714         * modules/unicase/u8-toupper-tests: New file.
2715         * tests/unicase/test-u8-toupper.c: New file.
2716
2717         New module 'unicase/u32-toupper'.
2718         * lib/unicase/u32-toupper.c: New file.
2719         * modules/unicase/u32-toupper: New file.
2720
2721         New module 'unicase/u16-toupper'.
2722         * lib/unicase/u16-toupper.c: New file.
2723         * modules/unicase/u16-toupper: New file.
2724
2725         New module 'unicase/u8-toupper'.
2726         * lib/unicase/u8-toupper.c: New file.
2727         * modules/unicase/u8-toupper: New file.
2728
2729         New module 'unicase/u32-casemap'.
2730         * lib/unicase/u32-casemap.c: New file.
2731         * modules/unicase/u32-casemap: New file.
2732
2733         New module 'unicase/u16-casemap'.
2734         * lib/unicase/u16-casemap.c: New file.
2735         * modules/unicase/u16-casemap: New file.
2736
2737         New module 'unicase/u8-casemap'.
2738         * lib/unicase/unicasemap.h: New file.
2739         * lib/unicase/u8-casemap.c: New file.
2740         * lib/unicase/u-casemap.h: New file.
2741         * modules/unicase/u8-casemap: New file.
2742
2743         New module 'unicase/special-casing'.
2744         * lib/unicase/special-casing.h: New file.
2745         * lib/unicase/special-casing.c: New file.
2746         * lib/unicase/special-casing-table.gperf: New file, generated by
2747         gen-uni-tables.c.
2748         * modules/unicase/special-casing: New file.
2749
2750         Tests for module 'unicase/locale-language'.
2751         * modules/unicase/locale-language-tests: New file.
2752         * tests/unicase/test-locale-language.sh: New file.
2753         * tests/unicase/test-locale-language.c: New file.
2754
2755         New module 'unicase/locale-language'.
2756         * lib/unicase/locale-language.c: New file.
2757         * lib/unicase/locale-languages.gperf: New file.
2758         * modules/unicase/locale-language: New file.
2759
2760         Generate more tables for case conversion and case folding.
2761         * lib/gen-uni-tables.c (SCC_*): New enum items.
2762         (struct special_casing_rule): New type.
2763         (casing_rules, num_casing_rules, allocated_casing_rules): New
2764         variables.
2765         (add_casing_rule, fill_casing_rules): New functions.
2766         (struct casefold_rule): New type.
2767         (casefolding_rules, num_casefolding_rules,
2768         allocated_casefolding_rules): New variables.
2769         (fill_casefolding_rules): New function.
2770         (unicode_casefold): New variable.
2771         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
2772         sort_casing_rules, output_casing_rules): New functions.
2773         (main): Accept to more arguments: SpecialCasing.txt and
2774         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
2775         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
2776         Output mapping for casefolding.
2777
2778         * lib/unicase.h: Include stdbool.h, uninorm.h.
2779         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
2780         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
2781         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
2782         arguments.
2783         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
2784         resultp arguments.
2785         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
2786         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
2787         resultp arguments.
2788         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
2789         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
2790         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
2791         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
2792         declarations.
2793         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
2794
2795 2009-03-08  Bruno Haible  <bruno@clisp.org>
2796
2797         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
2798         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
2799         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
2800         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
2801
2802 2009-03-07  Bruno Haible  <bruno@clisp.org>
2803
2804         Adjust u*_normcmp, u*_normcoll API.
2805         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
2806         u16_normcoll, u32_normcoll): Change failure conventions.
2807         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
2808         errno and return -1.
2809         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
2810
2811 2009-03-07  Bruno Haible  <bruno@clisp.org>
2812
2813         Tests for module 'uninorm/u32-normcoll'.
2814         * modules/uninorm/u32-normcoll-tests: New file.
2815         * tests/uninorm/test-u32-normcoll.c: New file.
2816
2817         Tests for module 'uninorm/u16-normcoll'.
2818         * modules/uninorm/u16-normcoll-tests: New file.
2819         * tests/uninorm/test-u16-normcoll.c: New file.
2820
2821         Tests for module 'uninorm/u8-normcoll'.
2822         * modules/uninorm/u8-normcoll-tests: New file.
2823         * tests/uninorm/test-u8-normcoll.c: New file.
2824
2825 2009-03-07  Bruno Haible  <bruno@clisp.org>
2826
2827         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
2828         tests/uninorm/test-u32-normcmp.c.
2829         * tests/uninorm/test-u32-normcmp.c: Include it.
2830         (test_nonascii): New function, extracted from main. Add some more
2831         tests.
2832         (main): Invoke test_ascii and test_nonascii.
2833         * modules/uninorm/u32-normcmp-tests (Files): Add
2834         tests/uninorm/test-u32-normcmp.h.
2835         (Depends-on): Remove uninorm/u32-normcmp.
2836
2837         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
2838         tests/uninorm/test-u16-normcmp.c.
2839         * tests/uninorm/test-u16-normcmp.c: Include it.
2840         (test_nonascii): New function, extracted from main. Add some more
2841         tests.
2842         (main): Invoke test_ascii and test_nonascii.
2843         * modules/uninorm/u16-normcmp-tests (Files): Add
2844         tests/uninorm/test-u16-normcmp.h.
2845         (Depends-on): Remove uninorm/u16-normcmp.
2846
2847         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
2848         tests/uninorm/test-u8-normcmp.c.
2849         * tests/uninorm/test-u8-normcmp.c: Include it.
2850         (test_nonascii): New function, extracted from main. Add some more
2851         tests.
2852         (main): Invoke test_ascii and test_nonascii.
2853         * modules/uninorm/u8-normcmp-tests (Files): Add
2854         tests/uninorm/test-u8-normcmp.h.
2855         (Depends-on): Remove uninorm/u8-normcmp.
2856
2857 2009-03-07  Bruno Haible  <bruno@clisp.org>
2858
2859         New module 'uninorm/u32-normcoll'.
2860         * lib/uninorm/u32-normcoll.c: New file.
2861         * modules/uninorm/u32-normcoll: New file.
2862
2863         New module 'uninorm/u16-normcoll'.
2864         * lib/uninorm/u16-normcoll.c: New file.
2865         * modules/uninorm/u16-normcoll: New file.
2866
2867         New module 'uninorm/u8-normcoll'.
2868         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
2869         declarations.
2870         * lib/uninorm/u8-normcoll.c: New file.
2871         * lib/uninorm/u-normcoll.h: New file.
2872         * modules/uninorm/u8-normcoll: New file.
2873
2874         New module 'uninorm/u32-normxfrm'.
2875         * lib/uninorm/u32-normxfrm.c: New file.
2876         * modules/uninorm/u32-normxfrm: New file.
2877
2878         New module 'uninorm/u16-normxfrm'.
2879         * lib/uninorm/u16-normxfrm.c: New file.
2880         * modules/uninorm/u16-normxfrm: New file.
2881
2882         New module 'uninorm/u8-normxfrm'.
2883         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
2884         declarations.
2885         * lib/uninorm/u8-normxfrm.c: New file.
2886         * lib/uninorm/u-normxfrm.h: New file.
2887         * modules/uninorm/u8-normxfrm: New file.
2888
2889 2009-03-07  Bruno Haible  <bruno@clisp.org>
2890
2891         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
2892         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
2893         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
2894
2895 2009-03-07  Bruno Haible  <bruno@clisp.org>
2896
2897         New module 'memxfrm'.
2898         * lib/memxfrm.h: New file.
2899         * lib/memxfrm.c: New file.
2900         * modules/memxfrm: New file.
2901
2902 2009-03-07  Bruno Haible  <bruno@clisp.org>
2903
2904         New module 'memcmp2'.
2905         * lib/memcmp2.h: New file.
2906         * lib/memcmp2.c: New file.
2907         * modules/memcmp2: New file.
2908
2909 2009-03-07  Bruno Haible  <bruno@clisp.org>
2910
2911         Tests for module 'uninorm/decomposing-form'.
2912         * modules/uninorm/decomposing-form-tests: New file.
2913         * tests/uninorm/test-decomposing-form.c: New file.
2914
2915         New module 'uninorm/decomposing-form'.
2916         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
2917         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
2918         Add 'decomposing_variant' field.
2919         * lib/uninorm/decomposing-form.c: New file.
2920         * lib/uninorm/nfc.c (uninorm_nfc): Update.
2921         * lib/uninorm/nfd.c (uninorm_nfd): Update.
2922         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
2923         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
2924         * modules/uninorm/decomposing-form: New file.
2925         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
2926         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
2927
2928 2009-03-07  Bruno Haible  <bruno@clisp.org>
2929
2930         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
2931         strings.
2932
2933 2009-03-06  Bruno Haible  <bruno@clisp.org>
2934
2935         Tests for module 'uninorm/u32-normcmp'.
2936         * tests/uninorm/test-u32-normcmp.c: New file.
2937         * modules/uninorm/u32-normcmp-tests: New file.
2938
2939         Tests for module 'uninorm/u16-normcmp'.
2940         * tests/uninorm/test-u16-normcmp.c: New file.
2941         * modules/uninorm/u16-normcmp-tests: New file.
2942
2943         Tests for module 'uninorm/u8-normcmp'.
2944         * tests/uninorm/test-u8-normcmp.c: New file.
2945         * modules/uninorm/u8-normcmp-tests: New file.
2946
2947         New module 'uninorm/u32-normcmp'.
2948         * lib/uninorm/u32-normcmp.c: New file.
2949         * modules/uninorm/u32-normcmp: New file.
2950
2951         New module 'uninorm/u16-normcmp'.
2952         * lib/uninorm/u16-normcmp.c: New file.
2953         * modules/uninorm/u16-normcmp: New file.
2954
2955         New module 'uninorm/u8-normcmp'.
2956         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
2957         declarations.
2958         * lib/uninorm/u8-normcmp.c: New file.
2959         * lib/uninorm/u-normcmp.h: New file.
2960         * modules/uninorm/u8-normcmp: New file.
2961
2962 2009-03-06  Bruno Haible  <bruno@clisp.org>
2963
2964         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
2965         Reported by Eric Blake.
2966
2967 2009-03-06  Eric Blake  <ebb9@byu.net>
2968             Bruno Haible  <bruno@clisp.org>
2969
2970         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
2971         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
2972         condition.
2973         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
2974         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
2975         condition.
2976         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
2977
2978 2009-03-06  Eric Blake  <ebb9@byu.net>
2979
2980         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
2981         to avoid compiler warnings.
2982         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
2983
2984 2009-03-05  Bruno Haible  <bruno@clisp.org>
2985
2986         * tests/test-ftell.c (main): Disable test beyond end of file on
2987         FreeMiNT.
2988         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
2989
2990 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
2991
2992         * lib/filevercmp.c: Move hidden files up in ordering.
2993         * tests/test-filevercmp.c: Add tests for hidden files.
2994
2995 2009-03-04  Bruno Haible  <bruno@clisp.org>
2996
2997         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
2998         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
2999         AM_CFLAGS.
3000         Reported by Simon Josefsson.
3001
3002 2009-03-03  Bruno Haible  <bruno@clisp.org>
3003
3004         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
3005         Reported by Simon Josefsson.
3006
3007         * doc/ld-version-script.texi: Update node reference.
3008
3009 2009-03-03  Bruno Haible  <bruno@clisp.org>
3010
3011         * modules/visibility (License): Change to 'unlimited'.
3012         Suggested by Simon Josefsson.
3013
3014 2009-03-03  Jim Meyering  <meyering@redhat.com>
3015
3016         unlinkdir: cannot_unlink_dir may modify process state
3017         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
3018         it's neither thread-safe nor appropriate for use in a library.
3019
3020 2009-03-03  Eric Blake  <ebb9@byu.net>
3021
3022         test-closein: silence test under Darwin
3023         * tests/test-closein.sh: Ignore stderr from cat, since we don't
3024         care if it dies from EPIPE or EBADF.
3025
3026 2009-03-03  Bruno Haible  <bruno@clisp.org>
3027
3028         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
3029         earlier.
3030         * doc/visibility.texi: Fix @node and @section.
3031
3032 2009-03-03  Simon Josefsson  <simon@josefsson.org>
3033
3034         * doc/gnulib.texi: Link to sections for ld version script and
3035         visibility.
3036         * doc/visibility.texi: Add @node and @section.
3037         * modules/ld-version-script: New module.
3038         * m4/ld-version-script.m4: New file.
3039         * doc/ld-version-script.texi: New file.
3040
3041 2009-03-02  David Lutterkort  <lutter@redhat.com>
3042
3043         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
3044         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3045
3046 2009-03-02  Bruno Haible  <bruno@clisp.org>
3047
3048         * doc/visibility.texi: Mention libtool's -export-symbols option.
3049
3050 2009-03-02  Jim Meyering  <meyering@redhat.com>
3051
3052         announce-gen: new option: --no-print-checksums
3053         * build-aux/announce-gen (usage): Describe it.
3054         (print_checksums): Print a newline here, not in the [*] footnote.
3055         (main): Honor it.
3056
3057 2009-03-01  Bruno Haible  <bruno@clisp.org>
3058
3059         Use socklen_t in the native Windows replacements prototypes.
3060         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
3061         instead of 'int'.
3062         * lib/getsockopt.c (rpl_getsockopt): Likewise.
3063         * lib/setsockopt.c (rpl_setsockopt): Likewise.
3064         * modules/getsockopt (Depends-on): Add socklen.
3065         * modules/setsockopt (Depends-on): Add socklen.
3066
3067 2009-03-01  Bruno Haible  <bruno@clisp.org>
3068
3069         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
3070         least 4.2.
3071
3072 2009-03-01  Eric Blake  <ebb9@byu.net>
3073             Bruno Haible  <bruno@clisp.org>
3074
3075         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
3076         error messages.
3077         * lib/wait-process.c (wait_subprocess): Omit error message about
3078         deadly signal sent to the child of termsigp != NULL.
3079
3080 2009-03-01  Eric Blake  <ebb9@byu.net>
3081
3082         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
3083
3084 2009-03-01  Bruno Haible  <bruno@clisp.org>
3085
3086         Avoid a gcc warning.
3087         * tests/test-sched.c (b): Make global.
3088         Reported by Eric Blake.
3089
3090 2009-01-19  Martin Lambers  <marlam@marlam.de>
3091
3092         Provide POSIX semantics for socket timeout options on W32.
3093         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
3094         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
3095         * modules/setsockopt: Depend on sys_time module for struct timeval.
3096         * modules/getsockopt: Depend on sys_time module for struct timeval.
3097
3098 2009-03-01  Simon Josefsson  <simon@josefsson.org>
3099
3100         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
3101         __USE_GNU, for consistency with netdb.in.h.
3102         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
3103
3104 2009-03-01  Bruno Haible  <bruno@clisp.org>
3105
3106         More support for FreeMiNT.
3107         * lib/fseeko.c (rpl_fseeko): Complete last commit.
3108         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
3109
3110 2009-03-01  Bruno Haible  <bruno@clisp.org>
3111
3112         More support for FreeMiNT.
3113         * lib/fpurge.c (fpurge): Correct last commit.
3114         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
3115
3116 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3117
3118         Fix unportable awk script in vc-list-files.
3119         * build-aux/vc-list-files: In the replacement awk script, use
3120         substr with a second argument of 1, not zero.
3121         Report by Simon Josefsson.
3122
3123 2009-02-28  Bruno Haible  <bruno@clisp.org>
3124
3125         More support for FreeMiNT.
3126         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
3127         to FreeMiNT today.
3128         * lib/fwriting.c (fwriting): Likewise.
3129         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
3130
3131 2009-02-28  Bruno Haible  <bruno@clisp.org>
3132
3133         * tests/test-freadseek.c (main): Disable test beyond end of file on
3134         FreeMiNT.
3135         * tests/test-ftello.c (main): Likewise.
3136         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
3137
3138 2009-02-28  Bruno Haible  <bruno@clisp.org>
3139
3140         Add tentative support for FreeMiNT.
3141         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
3142         * lib/fpurge.c (fpurge): Likewise.
3143         * lib/freadable.c (freadable): Likewise.
3144         * lib/freading.c (freading): Likewise.
3145         * lib/freadptr.c (freadptr): Likewise.
3146         * lib/freadseek.c (freadptrinc): Likewise.
3147         * lib/fseeko.c (rpl_fseeko): Likewise.
3148         * lib/fseterr.c (fseterr): Likewise.
3149         * lib/fwritable.c (fwritable): Likewise.
3150         * lib/fwriting.c (fwriting): Likewise.
3151         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
3152         Hourihane.
3153         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
3154
3155 2009-02-28  Bruno Haible  <bruno@clisp.org>
3156
3157         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
3158         SIGCHLD.
3159         Reported by Jim Meyering.
3160
3161 2009-02-28  Bruno Haible  <bruno@clisp.org>
3162
3163         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
3164         Mention the results of these tests on various platforms.
3165         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
3166         order.
3167         * doc/posix-functions/printf.texi: Likewise.
3168         * doc/posix-functions/snprintf.texi: Likewise.
3169         * doc/posix-functions/sprintf.texi: Likewise.
3170         * doc/posix-functions/vfprintf.texi: Likewise.
3171         * doc/posix-functions/vprintf.texi: Likewise.
3172         * doc/posix-functions/vsnprintf.texi: Likewise.
3173         * doc/posix-functions/vsprintf.texi: Likewise.
3174         * doc/glibc-functions/obstack_printf.texi: Likewise.
3175         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3176
3177 2009-02-28  Bruno Haible  <bruno@clisp.org>
3178
3179         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
3180         Reported by Loïc Minier <lool@dooz.org>.
3181
3182 2009-02-27  Bruno Haible  <bruno@clisp.org>
3183
3184         * gnulib-tool (func_import): Make the sed expression used to create the
3185         sed script for updating the .gitignore file POSIX compliant.
3186         Reported by Eric Blake.
3187
3188 2009-02-27  Bruno Haible  <bruno@clisp.org>
3189
3190         * gnulib-tool (sed): Don't alias as "sed --posix".
3191         Reported by Eric Blake.
3192
3193 2009-02-27  Bruno Haible  <bruno@clisp.org>
3194
3195         Avoid test link errors.
3196         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
3197         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
3198         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
3199         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
3200         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3201
3202 2009-02-27  Bruno Haible  <bruno@clisp.org>
3203
3204         Avoid spurious "(cached)" in configure output.
3205         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
3206         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
3207         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
3208         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
3209         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
3210         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
3211         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
3212         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
3213         Reported by Eric Blake.
3214
3215 2009-02-27  Eric Blake  <ebb9@byu.net>
3216
3217         printf: fix regression in previous patch
3218         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
3219
3220 2009-02-27  Bruno Haible  <bruno@clisp.org>
3221
3222         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
3223         value.
3224         * lib/stdint.in.h: Likewise.
3225         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
3226
3227 2009-02-27  Eric Blake  <ebb9@byu.net>
3228
3229         doc: mention more functions added in cygwin 1.7.0
3230         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
3231         addition.
3232         * doc/posix-functions/open_wmemstream.texi: Likewise.
3233         * doc/posix-functions/wcsnlen.texi: Likewise.
3234         * doc/posix-functions/wcsnrtombs.texi: Likewise.
3235         * doc/posix-functions/wcstod.texi: Likewise.
3236         * doc/posix-functions/wcstof.texi: Likewise.
3237         * doc/posix-functions/wcstoimax.texi: Likewise.
3238         * doc/posix-functions/wcstok.texi: Likewise.
3239         * doc/posix-functions/wcstoumax.texi: Likewise.
3240
3241         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
3242         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
3243         * doc/posix-functions/fprintf.texi: Update.
3244         * doc/posix-functions/printf.texi: Update.
3245         * doc/posix-functions/snprintf.texi: Update.
3246         * doc/posix-functions/sprintf.texi: Update.
3247         * doc/posix-functions/vfprintf.texi: Update.
3248         * doc/posix-functions/vprintf.texi: Update.
3249         * doc/posix-functions/vsnprintf.texi: Update.
3250         * doc/posix-functions/vsprintf.texi: Update.
3251         * doc/glibc-functions/obstack_printf.texi: Update.
3252         * doc/glibc-functions/obstack_vprintf.texi: Update.
3253
3254 2009-02-26  Eric Blake  <ebb9@byu.net>
3255
3256         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
3257         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
3258         compilation bug by using runtime conversion.
3259         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3260         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
3261         * modules/ceill-tests (Files): Use nan.h.
3262         * modules/floorl-tests (Files): Likewise.
3263         * modules/frexpl-tests (Files): Likewise.
3264         * modules/isnanl-tests (Files): Likewise.
3265         * modules/ldexpl-tests (Files): Likewise.
3266         * modules/roundl-tests (Files): Likewise.
3267         * modules/truncl-tests (Files): Likewise.
3268         * tests/test-ceill.c (main): Use a working NaN.
3269         * tests/test-floorl.c (main): Likewise.
3270         * tests/test-frexpl.c (main): Likewise.
3271         * tests/test-isnan.c (test_long_double): Likewise.
3272         * tests/test-isnanl.h (main): Likewise.
3273         * tests/test-ldexpl.h (main): Likewise.
3274         * tests/test-roundl.h (main): Likewise.
3275         * tests/test-truncl.h (main): Likewise.
3276         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
3277
3278 2009-02-26  Eric Blake  <ebb9@byu.net>
3279             Bruno Haible  <bruno@clisp.org>
3280
3281         Work around a *printf bug with %ls on Solaris.
3282         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
3283         precision is specified, sprintf stops converting the wide string
3284         argument when the number of bytes that have been produced by this
3285         conversion equals or exceeds the precision.
3286         * doc/posix-functions/fprintf.texi: Update.
3287         * doc/posix-functions/printf.texi: Update.
3288         * doc/posix-functions/snprintf.texi: Update.
3289         * doc/posix-functions/sprintf.texi: Update.
3290         * doc/posix-functions/vfprintf.texi: Update.
3291         * doc/posix-functions/vprintf.texi: Update.
3292         * doc/posix-functions/vsnprintf.texi: Update.
3293         * doc/posix-functions/vsprintf.texi: Update.
3294         * doc/glibc-functions/obstack_printf.texi: Update.
3295         * doc/glibc-functions/obstack_vprintf.texi: Update.
3296
3297 2009-02-26  Eric Blake  <ebb9@byu.net>
3298
3299         stdlib: favor compiler check of random.h
3300         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
3301         to avoid an ObjC random.h installed by Swarm.
3302
3303 2009-02-26  Bruno Haible  <bruno@clisp.org>
3304
3305         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
3306         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
3307         Reported by Gary V. Vaughan <gary@gnu.org>.
3308
3309 2009-02-26  Bruno Haible  <bruno@clisp.org>
3310
3311         Fix *printf behaviour regarding the %ls directive.
3312         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
3313         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
3314         NEED_PRINTF_DIRECTIVE_LS.
3315         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
3316         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
3317         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
3318         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
3319         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
3320         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
3321         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
3322         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
3323         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
3324         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
3325         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
3326         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
3327         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
3328         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
3329         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
3330         * doc/posix-functions/fprintf.texi: Update.
3331         * doc/posix-functions/printf.texi: Update.
3332         * doc/posix-functions/snprintf.texi: Update.
3333         * doc/posix-functions/sprintf.texi: Update.
3334         * doc/posix-functions/vfprintf.texi: Update.
3335         * doc/posix-functions/vprintf.texi: Update.
3336         * doc/posix-functions/vsnprintf.texi: Update.
3337         * doc/posix-functions/vsprintf.texi: Update.
3338         * doc/glibc-functions/obstack_printf.texi: Update.
3339         * doc/glibc-functions/obstack_vprintf.texi: Update.
3340         Reported by Eric Blake.
3341
3342 2009-02-25  Bruno Haible  <bruno@clisp.org>
3343
3344         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
3345         with known value.
3346         Reported by Gary V. Vaughan <gary@gnu.org>.
3347
3348 2009-02-25  Bruno Haible  <bruno@clisp.org>
3349
3350         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
3351         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
3352         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
3353         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
3354         Reported by Gary V. Vaughan <gary@gnu.org>.
3355
3356 2009-02-25  Bruno Haible  <bruno@clisp.org>
3357
3358         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
3359         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
3360         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
3361         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
3362         Reported by Gary V. Vaughan <gary@gnu.org>.
3363
3364 2009-02-25  Eric Blake  <ebb9@byu.net>
3365
3366         tests: skip fseek/ftell tests if ungetc is broken
3367         * m4/ungetc.m4: New file.
3368         * modules/fseek-tests: Split test, so ungetc dependency is
3369         separate from rest of test.
3370         * modules/fseeko-tests: Likewise.
3371         * modules/ftell-tests: Likewise.
3372         * modules/ftello-tests: Likewise.
3373         * tests/test-fseek.c (main): Isolate ungetc dependency.
3374         * tests/test-fseeko.c (main): Likewise.
3375         * tests/test-ftell.c (main): Likewise.
3376         * tests/test-ftello.c (main): Likewise.
3377         * tests/test-fseek2.sh: New file.
3378         * tests/test-fseeko2.sh: Likewise.
3379         * tests/test-ftell2.sh: Likewise.
3380         * tests/test-ftello2.sh: Likewise.
3381
3382 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
3383
3384         test-getaddrinfo: fix usage of skip return code 77
3385         * tests/test-gettaddrinfo.c: Return skip code 77 only
3386         for first occurance of skip (4x77 is not 77)
3387
3388 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
3389
3390         strtod: avoid C99 decl-after-statement
3391         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
3392
3393 2009-02-24  Eric Blake  <ebb9@byu.net>
3394
3395         strtod: detect HP-UX 11.31 bug
3396         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
3397         Reported by Gary V. Vaughan.
3398
3399 2009-02-23  Bruno Haible  <bruno@clisp.org>
3400
3401         Fix invalid read past end of memory block.
3402         * lib/vasnprintf.c (DCHAR_SET): Define.
3403         (local_wcslen): Define only when needed.
3404         (local_strnlen, local_wcsnlen): New functions.
3405         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
3406         directives that involve a conversion ourselves.
3407         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
3408         wcsnlen, mbrtowc, wcrtomb.
3409         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
3410         * tests/test-vasprintf-posix.c (test_function): Likewise.
3411         * tests/test-snprintf-posix.h (test_function): Likewise.
3412         * tests/test-sprintf-posix.h (test_function): Likewise.
3413         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3414
3415 2009-02-22  Bruno Haible  <bruno@clisp.org>
3416
3417         Implement new clarified decomposition of Hangul syllables.
3418         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
3419         of type LTV, return only a pairwise decomposition.
3420         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
3421         Likewise.
3422         * tests/uninorm/test-decomposition.c (main): Updated expected result.
3423         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
3424         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
3425
3426 2009-02-22  Bruno Haible  <bruno@clisp.org>
3427
3428         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
3429         zero-length results and shrink excess allocated memory.
3430         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
3431         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
3432         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
3433         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
3434         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
3435         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
3436         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
3437         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
3438         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
3439         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
3440         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
3441         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
3442
3443 2009-02-21  Bruno Haible  <bruno@clisp.org>
3444
3445         * doc/gnulib.texi: Include safe-alloc.texi earlier.
3446         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
3447         spaces after a period. Put a space between a macro name and its
3448         argument list. Trivial rewordings.
3449         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
3450         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
3451         (main): Return 0 explicitly.
3452
3453 2009-02-21  Bruno Haible  <bruno@clisp.org>
3454
3455         Tests for module 'uninorm/filter'.
3456         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
3457         * modules/uninorm/filter-tests: New file.
3458
3459         New module 'uninorm/filter'.
3460         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
3461         uninorm_filter_flush, uninorm_filter_free): New declarations.
3462         * lib/uninorm/uninorm-filter.c: New file.
3463         * modules/uninorm/filter: New file.
3464
3465 2009-02-21  Bruno Haible  <bruno@clisp.org>
3466
3467         Tests for module 'uninorm/nfkc'.
3468         * tests/uninorm/test-nfkc.c: New file.
3469         * tests/uninorm/test-u8-nfkc.c: New file.
3470         * tests/uninorm/test-u16-nfkc.c: New file.
3471         * tests/uninorm/test-u32-nfkc.c: New file.
3472         * tests/uninorm/test-u32-nfkc-big.sh: New file.
3473         * tests/uninorm/test-u32-nfkc-big.c: New file.
3474         * modules/uninorm/nfkc-tests: New file.
3475
3476         New module 'uninorm/nfkc'.
3477         * lib/uninorm/nfkc.c: New file.
3478         * modules/uninorm/nfkc: New file.
3479
3480         Tests for module 'uninorm/nfkd'.
3481         * tests/uninorm/test-nfkd.c: New file.
3482         * tests/uninorm/test-u8-nfkd.c: New file.
3483         * tests/uninorm/test-u16-nfkd.c: New file.
3484         * tests/uninorm/test-u32-nfkd.c: New file.
3485         * tests/uninorm/test-u32-nfkd-big.sh: New file.
3486         * tests/uninorm/test-u32-nfkd-big.c: New file.
3487         * modules/uninorm/nfkd-tests: New file.
3488
3489         New module 'uninorm/nfkd'.
3490         * lib/uninorm/nfkd.c: New file.
3491         * modules/uninorm/nfkd: New file.
3492
3493         Tests for module 'uninorm/nfc'.
3494         * tests/uninorm/test-nfc.c: New file.
3495         * tests/uninorm/test-u8-nfc.c: New file.
3496         * tests/uninorm/test-u16-nfc.c: New file.
3497         * tests/uninorm/test-u32-nfc.c: New file.
3498         * tests/uninorm/test-u32-nfc-big.sh: New file.
3499         * tests/uninorm/test-u32-nfc-big.c: New file.
3500         * modules/uninorm/nfc-tests: New file.
3501
3502         New module 'uninorm/nfc'.
3503         * lib/uninorm/nfc.c: New file.
3504         * modules/uninorm/nfc: New file.
3505
3506         Tests for module 'uninorm/nfd'.
3507         * tests/uninorm/test-nfd.c: New file.
3508         * tests/uninorm/test-u8-nfd.c: New file.
3509         * tests/uninorm/test-u16-nfd.c: New file.
3510         * tests/uninorm/test-u32-nfd.c: New file.
3511         * tests/uninorm/test-u32-nfd-big.sh: New file.
3512         * tests/uninorm/test-u32-nfd-big.c: New file.
3513         * tests/uninorm/test-u32-normalize-big.h: New file.
3514         * tests/uninorm/test-u32-normalize-big.c: New file.
3515         * tests/uninorm/NormalizationTest.txt: New file, created from
3516         Unicode 5.1.0 NormalizationTest.txt.
3517         * modules/uninorm/nfd-tests: New file.
3518
3519         New module 'uninorm/nfd'.
3520         * lib/uninorm/nfd.c: New file.
3521         * modules/uninorm/nfd: New file.
3522
3523         New module 'uninorm/u32-normalize'.
3524         * lib/uninorm/u32-normalize.c: New file.
3525         * modules/uninorm/u32-normalize: New file.
3526
3527         New module 'uninorm/u16-normalize'.
3528         * lib/uninorm/u16-normalize.c: New file.
3529         * modules/uninorm/u16-normalize: New file.
3530
3531         New module 'uninorm/u8-normalize'.
3532         * lib/uninorm/u8-normalize.c: New file.
3533         * lib/uninorm/normalize-internal.h: New file.
3534         * lib/uninorm/u-normalize-internal.h: New file.
3535         * modules/uninorm/u8-normalize: New file.
3536
3537         New module 'uninorm/decompose-internal'.
3538         * lib/uninorm/decompose-internal.c: New file.
3539         * modules/uninorm/decompose-internal: New file.
3540
3541         Tests for module 'uninorm/composition'.
3542         * tests/uninorm/test-composition.c: New file.
3543         * modules/uninorm/composition-tests: New file.
3544
3545         New module 'uninorm/composition'.
3546         * lib/uninorm/composition.c: New file.
3547         * lib/uninorm/composition-table.gperf: New file, generated by
3548         gen-uni-tables.
3549         * modules/uninorm/composition: New file.
3550
3551         Tests for module 'uninorm/compat-decomposition'.
3552         * tests/uninorm/test-compat-decomposition.c: New file.
3553         * modules/uninorm/compat-decomposition-tests: New file.
3554
3555         New module 'uninorm/compat-decomposition'.
3556         * lib/uninorm/decompose-internal.h: New file.
3557         * lib/uninorm/compat-decomposition.c: New file.
3558         * modules/uninorm/compat-decomposition: New file.
3559
3560         Tests for module 'uninorm/canonical-decomposition'.
3561         * tests/uninorm/test-canonical-decomposition.c: New file.
3562         * modules/uninorm/canonical-decomposition-tests: New file.
3563
3564         New module 'uninorm/canonical-decomposition'.
3565         * lib/uninorm/canonical-decomposition.c: New file.
3566         * modules/uninorm/canonical-decomposition: New file.
3567
3568         Tests for module 'uninorm/decomposition'.
3569         * tests/uninorm/test-decomposition.c: New file.
3570         * modules/uninorm/decomposition-tests: New file.
3571
3572         New module 'uninorm/decomposition'.
3573         * lib/uninorm/decomposition.c: New file.
3574         * modules/uninorm/decomposition: New file.
3575
3576         New module 'uninorm/decomposition-table'.
3577         * lib/uninorm/decomposition-table.h: New file.
3578         * lib/uninorm/decomposition-table.c: New file.
3579         * lib/uninorm/decomposition-table1.h: New file, generated by
3580         gen-uni-tables.
3581         * lib/uninorm/decomposition-table2.h: New file, generated by
3582         gen-uni-tables.
3583         * modules/uninorm/decomposition-table: New file.
3584
3585         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
3586         (UC_DECOMP_*): New enumeration items.
3587         (get_decomposition): New function.
3588         (struct decomp_table): New type.
3589         (output_decomposition, output_decomposition_tables): New functions.
3590         (unicode_composition_exclusions): New variable.
3591         (fill_composition_exclusions, debug_output_composition_tables): New
3592         functions.
3593         (main): Accept one more argument. Invoke fill_composition_exclusions.
3594         Output decomposition and composition tables.
3595
3596         New module 'uninorm/base'.
3597         * lib/uninorm.h: New file.
3598         * lib/unictype.h: Update comment.
3599         * modules/uninorm/base: New file.
3600
3601 2009-02-21  David Lutterkort  <lutter@redhat.com>
3602
3603         Tests for module 'safe-alloc'.
3604         * tests/test-safe-alloc.c: New file.
3605         * modules/safe-alloc-tests: New file.
3606
3607         New module 'safe-alloc'.
3608         * lib/safe-alloc.h: New file.
3609         * lib/safe-alloc.c: New file.
3610         * m4/safe-alloc.m4: New file.
3611         * modules/safe-alloc: New file.
3612         * doc/safe-alloc.texi: New file.
3613         * doc/gnulib.texi: Include it.
3614         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
3615         safe-alloc.
3616
3617 2009-02-18  Bruno Haible  <bruno@clisp.org>
3618
3619         Fix link error on non-glibc systems.
3620         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
3621         variable.
3622         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3623
3624 2009-02-18  Jim Meyering  <meyering@redhat.com>
3625
3626         fts: avoid used-uninitialized error due to recent change
3627         * lib/fts.c (fts_read): Guard uses of the new member,
3628         parent->fts_n_dirs_remaining, since it's not relevant for
3629         the parent of a directory specified on the command-line.
3630
3631 2009-02-17  James Youngman  <jay@gnu.org>
3632             Bruno Haible  <bruno@clisp.org>
3633
3634         * m4/include_next.m4: Reformulate comment.
3635
3636 2009-02-16  Jim Meyering  <meyering@redhat.com>
3637
3638         fts: add #if guards so that the fts_lgpl module still builds
3639         * lib/fts.c: Guard just-added hash-table-using parts with
3640         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
3641         Reported by Simon Josefsson.
3642
3643 2009-02-15  Bruno Haible  <bruno@clisp.org>
3644
3645         * modules/array-mergesort-tests: New file.
3646         * tests/test-array-mergesort.c: New file.
3647
3648         New module 'array-mergesort'.
3649         * modules/array-mergesort: New file.
3650         * lib/array-mergesort.h: New file.
3651
3652 2009-02-15  Bruno Haible  <bruno@clisp.org>
3653
3654         Fix 2009-02-07 commit.
3655         * lib/gen-uni-tables.c (output_predicate, output_category,
3656         output_combclass, output_bidi_category, output_decimal_digit,
3657         output_digit, output_numeric, output_mirror, output_scripts,
3658         output_ident_category, output_simple_mapping): Fix format directives.
3659         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
3660
3661 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
3662
3663         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
3664         fixes are available from IBM.
3665
3666 2009-02-13  Jim Meyering  <meyering@redhat.com>
3667
3668         fts: arrange not to stat non-directories in more cases
3669         This makes GNU find (when it doesn't need to stat each file)
3670         *much* more efficient at traversing reiserfs file systems.
3671         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
3672         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
3673         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
3674         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
3675         (leaf_optimization_applies): New function.
3676         (LCO_hash, LCO_compare): New helper functions.
3677         (link_count_optimize_ok): New function.
3678         (fts_stat): Initialize new member (if dir).
3679         (fts_read): Decrement parent's fts_n_dirs_remaining count if
3680         we've just stat'ed a directory.  Skip the stat call when possible.
3681         ---
3682         Note this AFS-related exchange:
3683         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
3684         and note find's pioctl call in find/fstype.c.
3685         But that is necessary only if you want to enable the
3686         optimization for AFS, and for now, I don't.
3687
3688         fts: move a function definition "up" (no semantic change)
3689         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
3690         "up" to precede upcoming use of a related function.
3691
3692 2009-02-11  Jim Meyering  <meyering@redhat.com>
3693
3694         fts: correct internal computation of nlinks (optimization-related)
3695         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
3696         whether the current entry is a directory, so don't test it.
3697
3698 2009-02-10  Bruno Haible  <bruno@clisp.org>
3699
3700         Tests for module 'uniwbrk/ulc-wordbreaks'.
3701         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
3702         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
3703         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
3704
3705         Tests for module 'uniwbrk/u32-wordbreaks'.
3706         * modules/uniwbrk/u32-wordbreaks-tests: New file.
3707         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
3708
3709         Tests for module 'uniwbrk/u16-wordbreaks'.
3710         * modules/uniwbrk/u16-wordbreaks-tests: New file.
3711         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
3712
3713         Tests for module 'uniwbrk/u8-wordbreaks'.
3714         * modules/uniwbrk/u8-wordbreaks-tests: New file.
3715         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
3716
3717 2009-02-10  Bruno Haible  <bruno@clisp.org>
3718
3719         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
3720         property.
3721         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
3722         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
3723         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
3724
3725 2009-02-10  Simon Josefsson  <simon@josefsson.org>
3726
3727         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
3728         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
3729
3730 2009-02-10  Bruno Haible  <bruno@clisp.org>
3731
3732         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
3733         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
3734         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
3735         * lib/unilbrk/u8-possible-linebreaks.c: Update.
3736         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
3737         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
3738
3739 2009-02-09  Simon Josefsson  <simon@josefsson.org>
3740
3741         * lib/sockets.h (gl_fd_to_handle): New function.
3742
3743         * tests/test-sockets.c: Call gl_fd_to_handle.
3744
3745 2009-02-09  Bruno Haible  <bruno@clisp.org>
3746
3747         * doc/havelib.texi: Document the conventions on bi-arch systems.
3748
3749 2009-02-08  Bruno Haible  <bruno@clisp.org>
3750
3751         Document the AC_LIB_LINKFLAGS macro.
3752         * doc/havelib.texi: New file, mostly written on 2005-05-24.
3753         * doc/gnulib.texi: Include it.
3754
3755 2009-02-08  Bruno Haible  <bruno@clisp.org>
3756
3757         Fix wrong order of sections, compared to TOC.
3758         * doc/gnulib.texi: Include relocatable-maint.texi after the
3759         "Regular expressions" node, not before.
3760
3761 2009-02-08  Bruno Haible  <bruno@clisp.org>
3762
3763         Tests for module 'unicase/totitle'.
3764         * modules/unicase/totitle-tests: New file.
3765
3766         Tests for module 'unicase/tolower'.
3767         * modules/unicase/tolower-tests: New file.
3768
3769         Tests for module 'unicase/toupper'.
3770         * modules/unicase/toupper-tests: New file.
3771         * tests/unicase/test-mapping-part1.h: New file.
3772         * tests/unicase/test-mapping-part2.h: New file.
3773
3774         New module 'unicase/totitle'.
3775         * modules/unicase/totitle: New file.
3776         * lib/unicase/totitle.c: New file.
3777
3778         New module 'unicase/tolower'.
3779         * modules/unicase/tolower: New file.
3780         * lib/unicase/tolower.c: New file.
3781
3782         New module 'unicase/toupper'.
3783         * modules/unicase/toupper: New file.
3784         * lib/unicase/toupper.c: New file.
3785         * lib/unicase/simple-mapping.h: New file.
3786
3787         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
3788         (mapping_table): New structure.
3789         (output_simple_mapping): New function.
3790         (main): Invoke output_simple_mapping_test and output_simple_mapping.
3791         * modules/gen-uni-tables (Description): Update.
3792         * lib/unicase/toupper.h: New file, automatically generated by
3793         gen-uni-tables.
3794         * lib/unicase/tolower.h: New file, automatically generated by
3795         gen-uni-tables.
3796         * lib/unicase/totitle.h: New file, automatically generated by
3797         gen-uni-tables.
3798         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
3799         gen-uni-tables.
3800         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
3801         gen-uni-tables.
3802         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
3803         gen-uni-tables.
3804
3805         New module 'unicase/base'.
3806         * modules/unicase/base: New file.
3807         * lib/unicase.h: New file.
3808
3809 2009-02-08  Bruno Haible  <bruno@clisp.org>
3810
3811         New module 'uniwbrk/ulc-wordbreaks'.
3812         * modules/uniwbrk/ulc-wordbreaks: New file.
3813         * lib/uniwbrk/ulc-wordbreaks.c: New file.
3814
3815         New module 'uniwbrk/u32-wordbreaks'.
3816         * modules/uniwbrk/u32-wordbreaks: New file.
3817         * lib/uniwbrk/u32-wordbreaks.c: New file.
3818
3819         New module 'uniwbrk/u16-wordbreaks'.
3820         * modules/uniwbrk/u16-wordbreaks: New file.
3821         * lib/uniwbrk/u16-wordbreaks.c: New file.
3822
3823         New module 'uniwbrk/u8-wordbreaks'.
3824         * modules/uniwbrk/u8-wordbreaks: New file.
3825         * lib/uniwbrk/u8-wordbreaks.c: New file.
3826         * lib/uniwbrk/u-wordbreaks.h: New file.
3827
3828         New module 'uniwbrk/table'.
3829         * modules/uniwbrk/table: New file.
3830         * lib/uniwbrk/wbrktable.h: New file.
3831         * lib/uniwbrk/wbrktable.c: New file.
3832
3833         New module 'uniwbrk/wordbreak-property'.
3834         * modules/uniwbrk/wordbreak-property: New file.
3835         * lib/uniwbrk/wordbreak-property.c: New file.
3836
3837         * lib/gen-uni-tables.c (WBP_*): New enum items.
3838         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
3839         (unicode_org_wbp): New variable.
3840         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
3841         New functions.
3842         (wbp_table): New structure.
3843         (output_wbp, output_wbrk_tables): New functions.
3844         (main): Accept additional argument. Invoke fill_org_wbp,
3845         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
3846         output_wbrk_tables.
3847         * modules/gen-uni-tables (Description): Update.
3848         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
3849         gen-uni-tables.
3850
3851         New module 'uniwbrk/base'.
3852         * modules/uniwbrk/base: New file.
3853         * lib/uniwbrk.h: New file.
3854
3855 2009-02-08  Bruno Haible  <bruno@clisp.org>
3856
3857         Update to Unicode 5.1.0.
3858         * lib/gen-uni-tables.c (is_property_alphabetic): Include
3859         U+2185..U+2188.
3860         (is_property_default_ignorable_code_point): Don't include characters
3861         of category Cc or Cs and not-a-characters.
3862         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
3863         U+0D79, U+109E, U+109F, U+A60C.
3864         * lib/unictype/bidi_of.h: Regenerated.
3865         * lib/unictype/blocks.h: Regenerated.
3866         * lib/unictype/categ_C.h: Regenerated.
3867         * lib/unictype/categ_Cf.h: Regenerated.
3868         * lib/unictype/categ_Cn.h: Regenerated.
3869         * lib/unictype/categ_L.h: Regenerated.
3870         * lib/unictype/categ_Ll.h: Regenerated.
3871         * lib/unictype/categ_Lm.h: Regenerated.
3872         * lib/unictype/categ_Lo.h: Regenerated.
3873         * lib/unictype/categ_Lu.h: Regenerated.
3874         * lib/unictype/categ_M.h: Regenerated.
3875         * lib/unictype/categ_Mc.h: Regenerated.
3876         * lib/unictype/categ_Me.h: Regenerated.
3877         * lib/unictype/categ_Mn.h: Regenerated.
3878         * lib/unictype/categ_N.h: Regenerated.
3879         * lib/unictype/categ_Nd.h: Regenerated.
3880         * lib/unictype/categ_Nl.h: Regenerated.
3881         * lib/unictype/categ_No.h: Regenerated.
3882         * lib/unictype/categ_P.h: Regenerated.
3883         * lib/unictype/categ_Pd.h: Regenerated.
3884         * lib/unictype/categ_Pe.h: Regenerated.
3885         * lib/unictype/categ_Pf.h: Regenerated.
3886         * lib/unictype/categ_Pi.h: Regenerated.
3887         * lib/unictype/categ_Po.h: Regenerated.
3888         * lib/unictype/categ_Ps.h: Regenerated.
3889         * lib/unictype/categ_S.h: Regenerated.
3890         * lib/unictype/categ_Sk.h: Regenerated.
3891         * lib/unictype/categ_Sm.h: Regenerated.
3892         * lib/unictype/categ_So.h: Regenerated.
3893         * lib/unictype/categ_of.h: Regenerated.
3894         * lib/unictype/combining.h: Regenerated.
3895         * lib/unictype/ctype_alnum.h: Regenerated.
3896         * lib/unictype/ctype_alpha.h: Regenerated.
3897         * lib/unictype/ctype_graph.h: Regenerated.
3898         * lib/unictype/ctype_lower.h: Regenerated.
3899         * lib/unictype/ctype_print.h: Regenerated.
3900         * lib/unictype/ctype_punct.h: Regenerated.
3901         * lib/unictype/ctype_upper.h: Regenerated.
3902         * lib/unictype/decdigit.h: Regenerated.
3903         * lib/unictype/digit.h: Regenerated.
3904         * lib/unictype/mirror.h: Regenerated.
3905         * lib/unictype/numeric.h: Regenerated.
3906         * lib/unictype/pr_alphabetic.h: Regenerated.
3907         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
3908         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
3909         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
3910         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
3911         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
3912         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
3913         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
3914         * lib/unictype/pr_combining.h: Regenerated.
3915         * lib/unictype/pr_dash.h: Regenerated.
3916         * lib/unictype/pr_decimal_digit.h: Regenerated.
3917         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
3918         * lib/unictype/pr_deprecated.h: Regenerated.
3919         * lib/unictype/pr_diacritic.h: Regenerated.
3920         * lib/unictype/pr_extender.h: Regenerated.
3921         * lib/unictype/pr_format_control.h: Regenerated.
3922         * lib/unictype/pr_grapheme_base.h: Regenerated.
3923         * lib/unictype/pr_grapheme_extend.h: Regenerated.
3924         * lib/unictype/pr_grapheme_link.h: Regenerated.
3925         * lib/unictype/pr_id_continue.h: Regenerated.
3926         * lib/unictype/pr_id_start.h: Regenerated.
3927         * lib/unictype/pr_ideographic.h: Regenerated.
3928         * lib/unictype/pr_ignorable_control.h: Regenerated.
3929         * lib/unictype/pr_lowercase.h: Regenerated.
3930         * lib/unictype/pr_math.h: Regenerated.
3931         * lib/unictype/pr_numeric.h: Regenerated.
3932         * lib/unictype/pr_other_alphabetic.h: Regenerated.
3933         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
3934         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
3935         * lib/unictype/pr_other_id_continue.h: Regenerated.
3936         * lib/unictype/pr_other_lowercase.h: Regenerated.
3937         * lib/unictype/pr_other_math.h: Regenerated.
3938         * lib/unictype/pr_punctuation.h: Regenerated.
3939         * lib/unictype/pr_sentence_terminal.h: Regenerated.
3940         * lib/unictype/pr_soft_dotted.h: Regenerated.
3941         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
3942         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
3943         * lib/unictype/pr_unified_ideograph.h: Regenerated.
3944         * lib/unictype/pr_uppercase.h: Regenerated.
3945         * lib/unictype/pr_xid_continue.h: Regenerated.
3946         * lib/unictype/pr_xid_start.h: Regenerated.
3947         * lib/unictype/pr_zero_width.h: Regenerated.
3948         * lib/unictype/scripts.h: Regenerated.
3949         * lib/unictype/scripts_byname.gperf: Regenerated.
3950         * lib/unictype/sy_java_ident.h: Regenerated.
3951         * lib/unilbrk/lbrkprop1.h: Regenerated.
3952         * lib/unilbrk/lbrkprop2.h: Regenerated.
3953         * tests/unictype/test-categ_C.c: Regenerated.
3954         * tests/unictype/test-categ_Cf.c: Regenerated.
3955         * tests/unictype/test-categ_Cn.c: Regenerated.
3956         * tests/unictype/test-categ_L.c: Regenerated.
3957         * tests/unictype/test-categ_Ll.c: Regenerated.
3958         * tests/unictype/test-categ_Lm.c: Regenerated.
3959         * tests/unictype/test-categ_Lo.c: Regenerated.
3960         * tests/unictype/test-categ_Lu.c: Regenerated.
3961         * tests/unictype/test-categ_M.c: Regenerated.
3962         * tests/unictype/test-categ_Mc.c: Regenerated.
3963         * tests/unictype/test-categ_Me.c: Regenerated.
3964         * tests/unictype/test-categ_Mn.c: Regenerated.
3965         * tests/unictype/test-categ_N.c: Regenerated.
3966         * tests/unictype/test-categ_Nd.c: Regenerated.
3967         * tests/unictype/test-categ_Nl.c: Regenerated.
3968         * tests/unictype/test-categ_No.c: Regenerated.
3969         * tests/unictype/test-categ_P.c: Regenerated.
3970         * tests/unictype/test-categ_Pd.c: Regenerated.
3971         * tests/unictype/test-categ_Pe.c: Regenerated.
3972         * tests/unictype/test-categ_Pf.c: Regenerated.
3973         * tests/unictype/test-categ_Pi.c: Regenerated.
3974         * tests/unictype/test-categ_Po.c: Regenerated.
3975         * tests/unictype/test-categ_Ps.c: Regenerated.
3976         * tests/unictype/test-categ_S.c: Regenerated.
3977         * tests/unictype/test-categ_Sk.c: Regenerated.
3978         * tests/unictype/test-categ_Sm.c: Regenerated.
3979         * tests/unictype/test-categ_So.c: Regenerated.
3980         * tests/unictype/test-ctype_alnum.c: Regenerated.
3981         * tests/unictype/test-ctype_alpha.c: Regenerated.
3982         * tests/unictype/test-ctype_graph.c: Regenerated.
3983         * tests/unictype/test-ctype_lower.c: Regenerated.
3984         * tests/unictype/test-ctype_print.c: Regenerated.
3985         * tests/unictype/test-ctype_punct.c: Regenerated.
3986         * tests/unictype/test-ctype_upper.c: Regenerated.
3987         * tests/unictype/test-decdigit.h: Regenerated.
3988         * tests/unictype/test-digit.h: Regenerated.
3989         * tests/unictype/test-numeric.h: Regenerated.
3990         * tests/unictype/test-pr_alphabetic.c: Regenerated.
3991         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
3992         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
3993         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
3994         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
3995         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
3996         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
3997         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
3998         * tests/unictype/test-pr_combining.c: Regenerated.
3999         * tests/unictype/test-pr_dash.c: Regenerated.
4000         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
4001         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
4002         * tests/unictype/test-pr_deprecated.c: Regenerated.
4003         * tests/unictype/test-pr_diacritic.c: Regenerated.
4004         * tests/unictype/test-pr_extender.c: Regenerated.
4005         * tests/unictype/test-pr_format_control.c: Regenerated.
4006         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
4007         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
4008         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
4009         * tests/unictype/test-pr_id_continue.c: Regenerated.
4010         * tests/unictype/test-pr_id_start.c: Regenerated.
4011         * tests/unictype/test-pr_ideographic.c: Regenerated.
4012         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
4013         * tests/unictype/test-pr_lowercase.c: Regenerated.
4014         * tests/unictype/test-pr_math.c: Regenerated.
4015         * tests/unictype/test-pr_numeric.c: Regenerated.
4016         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
4017         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
4018         Regenerated.
4019         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
4020         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
4021         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
4022         * tests/unictype/test-pr_other_math.c: Regenerated.
4023         * tests/unictype/test-pr_punctuation.c: Regenerated.
4024         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
4025         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
4026         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
4027         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
4028         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
4029         * tests/unictype/test-pr_uppercase.c: Regenerated.
4030         * tests/unictype/test-pr_xid_continue.c: Regenerated.
4031         * tests/unictype/test-pr_xid_start.c: Regenerated.
4032         * tests/unictype/test-pr_zero_width.c: Regenerated.
4033
4034         Update to Unicode 5.1.0.
4035         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
4036         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
4037         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
4038         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
4039         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
4040         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
4041         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
4042         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
4043         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
4044         (nonspacing_table_ind): Update.
4045         * tests/uniwidth/test-uc_width2.sh: Update expected result.
4046
4047         Update to Unicode 5.1.0.
4048         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
4049         code transform.
4050         * lib/uniname/uniname.c (unicode_character_name,
4051         unicode_name_character): Add the range 0x1Fxxx to the code transform.
4052         * lib/uniname/uninames.h: Regenerated.
4053         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
4054
4055 2009-02-07  Bruno Haible  <bruno@clisp.org>
4056
4057         Merge gen-ctype and gen-lbrk into a single program.
4058         * lib/gen-uni-tables.c: New file, incorporating
4059         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
4060         Add directory prefixes to the names of the generated files.
4061         * lib/unictype/gen-ctype.c: Remove file.
4062         * lib/unilbrk/gen-lbrk.c: Remove file.
4063         * modules/gen-uni-tables: New file.
4064         * modules/unictype/gen-ctype: Remove file.
4065         * modules/unilbrk/gen-lbrk: Remove file.
4066
4067 2009-02-07  Bruno Haible  <bruno@clisp.org>
4068
4069         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
4070
4071         New module 'unistr/u32-strcoll'.
4072         * modules/unistr/u32-strcoll: New file.
4073         * lib/unistr/u32-strcoll.c: New file.
4074
4075         New module 'unistr/u16-strcoll'.
4076         * modules/unistr/u16-strcoll: New file.
4077         * lib/unistr/u16-strcoll.c: New file.
4078
4079         New module 'unistr/u8-strcoll'.
4080         * modules/unistr/u8-strcoll: New file.
4081         * lib/unistr/u8-strcoll.c: New file.
4082         * lib/unistr/u-strcoll.h: New file.
4083
4084 2009-02-07  Bruno Haible  <bruno@clisp.org>
4085
4086         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
4087         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
4088         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
4089         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
4090         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
4091         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
4092
4093 2009-02-07  Bruno Haible  <bruno@clisp.org>
4094
4095         Make 64-bit clean.
4096         * lib/unictype/gen-ctype.c (output_predicate, output_category,
4097         output_combclass, output_bidi_category, output_decimal_digit,
4098         output_digit, output_numeric, output_mirror, output_scripts,
4099         output_ident_category): Use proper width specifier in format strings.
4100
4101 2009-02-07  Bruno Haible  <bruno@clisp.org>
4102
4103         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
4104         failure behaviour.
4105
4106 2009-02-07  Jim Meyering  <meyering@redhat.com>
4107
4108         regex: avoid compilation failure with upcoming gcc-4.4
4109         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
4110         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
4111         "... error: integer overflow in preprocessor expression".
4112
4113 2009-02-05  Ben Pfaff  <blp@gnu.org>
4114
4115         Fix link errors on Windows when close module is used.
4116         * modules/close: Add $(LIB_CLOSE) to Link section.
4117         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
4118         $(LIB_CLOSE) on Windows.
4119
4120 2009-02-05  Jim Meyering  <meyering@redhat.com>
4121
4122         still avoid unused-parameter warnings, but do it cleanly
4123         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
4124         (get_fs_usage): Cast to void instead.
4125         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
4126         (dev_from_mount_options, read_file_system_list): Cast to void.
4127         Prompted by Bruno Haible.
4128
4129 2009-02-04  Jim Meyering  <meyering@redhat.com>
4130
4131         fsusage.c: correct copyright year
4132         * lib/fsusage.c: Reflect year in which the change is pushed into
4133
4134         avoid misc. warnings
4135         * lib/fsusage.c (UNUSED_PARAM): Define.
4136         (get_fs_usage): Mark parameter "disk" as unused.
4137         * lib/getugroups.c (getgrent): Use "void" in prototype.
4138         * lib/mountlist.c: Mark unused parameters.
4139         (read_file_system_list): Declare a local with "const".
4140         * lib/nanosleep.c (getnow): Declare static.
4141         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
4142
4143         dirfd: set errno upon failure
4144         * lib/dirfd.c: Include <errno.h>.
4145         Set errno to ENOTSUP when returning -1.
4146         * modules/dirfd (Depends-on): Add errno.
4147         Suggested by John Kodis <kodis@comcast.net>.
4148
4149 2009-02-01  Bruno Haible  <bruno@clisp.org>
4150
4151         Don't assume sizeof (long) >= sizeof (void *).
4152         * lib/memcmp.c: Include stdint.h.
4153         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
4154         srcp2 to 'const byte *'.
4155         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
4156         types to uintptr_t.
4157         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
4158         * modules/memcmp (Depends-on): Add stdint.
4159         Reported by Ozkan Sezer <sezeroz@gmail.com>.
4160
4161 2009-01-30  Eric Blake  <ebb9@byu.net>
4162
4163         fix more require-before-expand issues
4164         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
4165         expand, AC_PROG_AWK.
4166         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
4167
4168 2009-01-28  Eric Blake  <ebb9@byu.net>
4169
4170         version-etc: use consistent URL formatting
4171         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
4172         Improve formatting.  Use fputs for string without %.
4173
4174 2009-01-28  Jim Meyering  <meyering@redhat.com>
4175
4176         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
4177         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
4178         "underquoted definition of NAME" from autoconf-2.59.
4179
4180 2009-01-28  Bruno Haible  <bruno@clisp.org>
4181
4182         * doc/gnulib.texi: Add "Obsolete modules" to index.
4183
4184 2009-01-28  Jim Meyering  <meyering@redhat.com>
4185
4186         useless-if-before-free: recognize more variants
4187         * build-aux/useless-if-before-free: Also recognize e.g.,
4188         if (NULL != p) free (p);
4189
4190 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
4191
4192         test-getaddrinfo: skip (don't fail) this test when there's no network
4193         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
4194         on the presumption that it means you lack network access.
4195
4196 2009-01-26  Jim Meyering  <meyering@redhat.com>
4197
4198         fflush: avoid warnings on modern systems
4199         * lib/fflush.c (rpl_fflush): Move declarations of locals,
4200         pos and result, into scopes where they're used.
4201
4202 2009-01-26  Eric Blake  <ebb9@byu.net>
4203
4204         Silence warning reintroduced by recent extensions patch.
4205         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
4206         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
4207         autoconf.
4208
4209         Backport improved autoconf semantics of AC_DEFUN_ONCE.
4210         * m4/00gnulib.m4: New file.
4211         * gnulib-tool (func_get_filelist): Always use it.
4212         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
4213         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
4214
4215 2009-01-25  Bruno Haible  <bruno@clisp.org>
4216
4217         Make test-quotearg work on MacOS X and AIX.
4218         * tests/test-quotearg.sh: New file.
4219         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
4220         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
4221         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
4222         include <libintl.h>.
4223         (fake_locale): Remove variable.
4224         (gettext, dgettext, dcgettext): Remove functions.
4225         (main): Instead of setting a fake locale, set a real locale. Call
4226         textdomain and bindtextdomain.
4227         * modules/quotearg-tests (Files): Add the new files.
4228         (Depends-on): Add gettext, setenv, unsetenv.
4229         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
4230         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
4231         Augment TESTS_ENVIRONMENT.
4232
4233 2009-01-25  Bruno Haible  <bruno@clisp.org>
4234
4235         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
4236         fr_FR.ISO8859-1 locale on MacOS X.
4237         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
4238         ja_JP.eucJP locale on MacOS X.
4239         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
4240         zh_CN.GB18030 locale on MacOS X.
4241
4242 2009-01-25  Bruno Haible  <bruno@clisp.org>
4243
4244         Avoid link errors on MacOS X 10.3.
4245         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
4246         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
4247
4248 2009-01-25  Bruno Haible  <bruno@clisp.org>
4249
4250         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
4251         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
4252         * modules/pipe (Files): Remove m4/posix_spawn.m4.
4253         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
4254         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
4255         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
4256         posix_spawnattr_init, posix_spawnattr_setsigmask,
4257         posix_spawnattr_setflags, posix_spawnattr_destroy.
4258
4259         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
4260         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
4261         * modules/execute (Files): Remove m4/posix_spawn.m4.
4262         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
4263         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
4264         posix_spawnattr_init, posix_spawnattr_setsigmask,
4265         posix_spawnattr_setflags, posix_spawnattr_destroy.
4266
4267 2009-01-25  Bruno Haible  <bruno@clisp.org>
4268
4269         * lib/glthread/threadlib.c: Include <stdlib.h>.
4270
4271 2009-01-25  Bruno Haible  <bruno@clisp.org>
4272
4273         * lib/glthread/threadlib.c (dummy): New declaration.
4274
4275 2009-01-25  Bruno Haible  <bruno@clisp.org>
4276
4277         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
4278         multibyte characters also for the GB18030 encoding. Don't crash when
4279         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
4280
4281 2009-01-25  Bruno Haible  <bruno@clisp.org>
4282
4283         Avoid redefining 'struct random_data' on OSF/1 5.1.
4284         * lib/stdlib.in.h: Include <random.h> if it exists.
4285         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
4286         HAVE_RANDOM_H. Include <random.h> when testing whether
4287         'struct random_data' exists.
4288         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
4289
4290 2009-01-25  Bruno Haible  <bruno@clisp.org>
4291
4292         Don't install charset.alias on MacOS X >= 10.3.
4293         * lib/localcharset.c (DARWIN7): New macro.
4294         (get_charset_aliases): Hardcode the result for Darwin7.
4295         * modules/localcharset (install-exec-local): Don't install
4296         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
4297
4298 2009-01-25  Bruno Haible  <bruno@clisp.org>
4299
4300         Don't install charset.alias on mingw and Cygwin.
4301         * modules/localcharset (install-exec-local): Don't install
4302         charset.alias on mingw and Cygwin, if the file does not yet exist.
4303         The result for these platforms is hardcoded in localcharset.c.
4304
4305 2009-01-25  Bruno Haible  <bruno@clisp.org>
4306
4307         Make it possible again to use AC_GNU_SOURCE together with gnulib.
4308         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
4309         before requiring AC_USE_SYSTEM_EXTENSIONS.
4310
4311 2009-01-25  Jim Meyering  <meyering@redhat.com>
4312
4313         c-strtod: avoid warnings
4314         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
4315         "assignment discards qualifiers from pointer target type" warnings.
4316
4317 2009-01-24  Bruno Haible  <bruno@clisp.org>
4318
4319         Add support for non-UTF-8 locales on MacOS X.
4320         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
4321         canonical encodings. For Darwin 7 and newer, don't map traditional
4322         encodings to UTF-8.
4323         Reported by Vincent Lefevre <vincent@vinc17.org>
4324         at <http://savannah.gnu.org/bugs/?25235>.
4325
4326 2009-01-24  Bruno Haible  <bruno@clisp.org>
4327
4328         * doc/gnulib.texi (Obsolete modules): New section.
4329         Reported by Mike Frysinger <vapier@gentoo.org>.
4330
4331 2009-01-24  Bruno Haible  <bruno@clisp.org>
4332
4333         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
4334         (%.dvi): New rule.
4335
4336 2009-01-24  Bruno Haible  <bruno@clisp.org>
4337
4338         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
4339         Reported by Eric Blake.
4340
4341 2009-01-24  Bruno Haible  <bruno@clisp.org>
4342
4343         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
4344         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
4345         Reported by Gary V. Vaughan <gary@gnu.org>.
4346
4347 2009-01-24  Bruno Haible  <bruno@clisp.org>
4348
4349         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
4350
4351 2009-01-23  Bruno Haible  <bruno@clisp.org>
4352
4353         Make c-strtod, c-strtold usable in libraries.
4354         * lib/c-strtod.c: Include string.h instead of xalloc.h.
4355         (C_STRTOD): Call strdup instead of xstrdup.
4356         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
4357         * modules/c-strtold (Depends-on): Likewise.
4358         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
4359         * NEWS: Mention the change.
4360         Reported by Michael Gold <mgold@ncf.ca>.
4361
4362 2009-01-23  Jim Meyering  <meyering@redhat.com>
4363
4364         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
4365         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
4366         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
4367
4368 2009-01-23  Simon Josefsson  <simon@josefsson.org>
4369
4370         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
4371         GNU CoreUtils.
4372         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
4373         * modules/version-etc (Description): Update.
4374
4375 2009-01-22  Bruno Haible  <bruno@clisp.org>
4376
4377         Cache the C locale object.
4378         * lib/c-strtod.c (c_locale_cache): New variable.
4379         (c_locale): New function.
4380         (C_STRTOD): Use it, and don't call freelocale.
4381         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
4382         Suggested by Paolo Bonzini.
4383
4384 2009-01-21  Bruno Haible  <bruno@clisp.org>
4385
4386         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
4387         conditions other than overflow.
4388
4389 2009-01-21  Bruno Haible  <bruno@clisp.org>
4390
4391         * lib/c-strtod.c: Include errno.h.
4392         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
4393         value from STRTOD_L and STRTOD.
4394
4395 2009-01-21  Bruno Haible  <bruno@clisp.org>
4396         and Jim Meyering  <meyering@redhat.com>
4397
4398         nanosleep: skip configure test (fail it) for apple universal builds
4399         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
4400         universal builds, assume that nanosleep does not work.
4401         * modules/nanosleep (Depends-on): Add multiarch.
4402
4403         mktime: skip configure test (fail it) for apple universal builds
4404         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
4405         universal builds, assume that mktime does not work.
4406         * modules/mktime (Depends-on): Add multiarch.
4407
4408 2009-01-21  Eric Blake  <ebb9@byu.net>
4409
4410         multiarch: avoid expand-before-require warning
4411         * modules/multiarch (configure.ac): Require, rather than expand,
4412         gl_MULTIARCH.
4413         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
4414         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
4415         enforce that all clients require it.  Partial reversion of
4416         2008-12-29 patch.
4417
4418         error: avoid expand-before-require warning
4419         * modules/errno (configure.ac): Require, rather than expand,
4420         gl_HEADER_ERRNO_H.
4421         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
4422         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
4423         enforce that all clients require it.
4424
4425         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
4426         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
4427         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
4428         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
4429
4430 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
4431
4432         Revert:
4433         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
4434
4435         regex: do not depend on obsolete modules.
4436         * modules/regex: Remove memcmp and memmove.
4437
4438 2009-01-20  Bruno Haible  <bruno@clisp.org>
4439
4440         Make the 'link' module link on Windows NT 4.
4441         * lib/link.c (_WIN32_WINNT): Don't define.
4442         (CreateHardLinkFuncType): New type.
4443         (CreateHardLinkFunc, initialized): New variables.
4444         (initialize): New function.
4445         (link): Invoke CreateHardLink indirectly through the function pointer.
4446
4447 2009-01-20  Bruno Haible  <bruno@clisp.org>
4448
4449         Fix compilation failure on mingw.
4450         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
4451
4452 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
4453
4454         * doc/c-strtod.texi: Mention a couple of restrictions.
4455
4456 2009-01-20  Jim Meyering  <meyering@redhat.com>
4457
4458         gettimeofday: move more declarations out of functions
4459         * lib/gettimeofday.c: Move extern declarations of tzset and
4460         gmtime out of containing functions.  Prompted by Bruno Haible.
4461
4462 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
4463
4464         regex: do not depend on obsolete modules.
4465         * modules/regex: Remove memcmp and memmove.
4466
4467 2009-01-19  Bruno Haible  <bruno@clisp.org>
4468
4469         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
4470         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
4471         gl_BIGENDIAN, not AC_C_BIGENDIAN.
4472         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
4473         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
4474
4475 2009-01-19  Bruno Haible  <bruno@clisp.org>
4476
4477         * tests/test-link.c: Include <errno.h>.
4478         (main): Exit with code 77 when a hard link cannot be created due to
4479         the file system.
4480         * tests/test-link.sh: Skip test when a hard link cannot be created due
4481         to the file system.
4482         Suggested by Eric Blake.
4483
4484 2009-01-19  Martin Lambers  <marlam@marlam.de>
4485
4486         * modules/link-tests: New file.
4487         * tests/test-link.sh: New file.
4488         * tests/test-link.c: New file.
4489
4490 2009-01-19  Eric Blake  <ebb9@byu.net>
4491
4492         doc: mention another function added in cygwin 1.7.0
4493         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
4494         Another new function in cygwin 1.7.
4495
4496 2009-01-19  Bruno Haible  <bruno@clisp.org>
4497
4498         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
4499         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
4500         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
4501         gl_BIGENDIAN, not AC_C_BIGENDIAN.
4502         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
4503         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
4504         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
4505         * m4/md4.m4 (gl_MD4): Likewise.
4506         * m4/md5.m4 (gl_MD5): Likewise.
4507         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
4508         * m4/sha1.m4 (gl_SHA1): Likewise.
4509         * m4/sha256.m4 (gl_SHA256): Likewise.
4510         * m4/sha512.m4 (gl_SHA512): Likewise.
4511
4512 2009-01-19  Bruno Haible  <bruno@clisp.org>
4513
4514         * modules/uniname/uniname-tests (Depends-on): Add progname.
4515         * tests/uniname/test-uninames.c: Include progname.h.
4516         (main): Call set_program_name.
4517
4518         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
4519         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
4520         (main): Call set_program_name.
4521
4522         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
4523         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
4524         (main): Call set_program_name.
4525
4526         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
4527         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
4528         (main): Call set_program_name.
4529
4530         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
4531         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
4532         (main): Call set_program_name.
4533
4534         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
4535         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
4536         (main): Call set_program_name.
4537
4538         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
4539         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
4540         (main): Call set_program_name.
4541
4542         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
4543         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
4544         (main): Call set_program_name.
4545
4546         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
4547         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
4548         (main): Call set_program_name.
4549
4550 2009-01-19  Eric Blake  <ebb9@byu.net>
4551
4552         test-unistd: test previous patch
4553         * tests/test-unistd.c: Test *_FILENO macros.
4554
4555         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
4556         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
4557         Guarantee a definition.
4558         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
4559         * modules/unistd-safer (Depends-on): Add dependency on unistd.
4560         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
4561         * lib/dup-safer.c (STDERR_FILENO): Likewise.
4562         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
4563         Likewise.
4564         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
4565         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
4566         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
4567         Likewise.
4568         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
4569         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
4570         (STDERR_FILENO): Likewise.
4571         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
4572         (STDERR_FILENO): Likewise.
4573         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
4574         (STDERR_FILENO): Likewise.
4575         Reported by Elbert Pol.
4576
4577 2009-01-19  Eric Blake  <ebb9@byu.net>
4578
4579         doc: mention more functions added in cygwin 1.7.0
4580         * doc/posix-functions/abort.texi (abort): Update wording related
4581         to cygwin.
4582         * doc/posix-functions/daylight.texi (daylight): Likewise.
4583         * doc/posix-functions/optarg.texi (optarg): Likewise.
4584         * doc/posix-functions/optarg.texi (opterr): Likewise.
4585         * doc/posix-functions/optarg.texi (optind): Likewise.
4586         * doc/posix-functions/optarg.texi (optopt): Likewise.
4587         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
4588         worked in 1.5.x, and was withdrawn in 1.7.
4589         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
4590         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
4591         cygwin versions.
4592         * doc/posix-functions/perror.texi (perror): Likewise.
4593         * doc/posix-functions/printf.texi (printf): Likewise.
4594         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
4595         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
4596         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
4597         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
4598         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
4599         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
4600         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
4601         Likewise.
4602         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
4603         Likewise.
4604         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
4605         this function.
4606         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
4607         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
4608         Likewise.
4609         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
4610         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
4611         * doc/posix-functions/confstr.texi (confstr): Likewise.
4612         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
4613         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
4614         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
4615         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
4616         * doc/posix-functions/fputws.texi (fputws): Likewise.
4617         * doc/posix-functions/fwide.texi (fwide): Likewise.
4618         * doc/posix-functions/getwc.texi (getwc): Likewise.
4619         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
4620         * doc/posix-functions/putwc.texi (putwc): Likewise.
4621         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
4622         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
4623         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
4624         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
4625         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
4626         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
4627         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
4628         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
4629         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
4630         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
4631         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
4632
4633 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
4634
4635         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
4636         * lib/ioctl.c: Include <sys/ioctl.h>.
4637
4638 2009-01-19  Simon Josefsson  <simon@josefsson.org>
4639
4640         * modules/getdate-tests (Depends-on): Add progname.
4641         * tests/test-getdate.c: Use progname module, to avoid link errors
4642         on non-glibc systems.
4643
4644 2009-01-18  Simon Josefsson  <simon@josefsson.org>
4645
4646         * modules/filenamecat-tests (Depends-on): Add progname.
4647         * modules/fstrcmp-tests (Depends-on): Likewise.
4648
4649         * tests/test-filenamecat.c: Use progname module, to avoid link
4650         errors on non-glibc systems.
4651         * tests/test-fstrcmp.c: Likewise.
4652
4653 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
4654
4655         gettimeofday: avoid warning: nested extern declaration of 'localtime'
4656         * lib/gettimeofday.c: Move extern declaration out of function.
4657
4658 2009-01-18  Bruno Haible  <bruno@clisp.org>
4659
4660         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
4661         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
4662         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
4663
4664 2009-01-18  Bruno Haible  <bruno@clisp.org>
4665
4666         * lib/strftime.c (MEMPCPY): Remove unused macro.
4667         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
4668
4669 2009-01-18  Martin Lambers  <marlam@marlam.de>
4670
4671         New module 'link'.
4672         * lib/unistd.in.h (link): New declaration.
4673         * lib/link.c: New file.
4674         * m4/link.m4: New file.
4675         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
4676         HAVE_LINK.
4677         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
4678         * modules/link: New file.
4679         * doc/posix-functions/link.texi: Mention the new module.
4680
4681 2009-01-18  Bruno Haible  <bruno@clisp.org>
4682
4683         * tests/test-avltree_list.c (main): Call set_program_name.
4684         * tests/test-avltree_oset.c (main): Likewise.
4685         * tests/test-obstack-printf.c: Include progname.h.
4686         (main): Call set_program_name.
4687         * tests/test-quotearg.c: Include progname.h.
4688         (main): Call set_program_name.
4689         * tests/test-xmemdup0.c: Include progname.h.
4690         (main): Call set_program_name.
4691
4692 2009-01-18  Bruno Haible  <bruno@clisp.org>
4693
4694         New module 'alphasort'.
4695         * lib/dirent.in.h (alphasort): New declaration.
4696         * lib/alphasort.c: New file, from glibc with modifications.
4697         * m4/alphasort.m4: New file.
4698         * modules/alphasort: New file.
4699         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
4700         HAVE_ALPHASORT.
4701         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
4702         HAVE_ALPHASORT.
4703         * doc/posix-functions/alphasort.texi: Mention the new module and the
4704         portability problems.
4705
4706 2009-01-18  Bruno Haible  <bruno@clisp.org>
4707
4708         New module 'scandir'.
4709         * lib/dirent.in.h (scandir): New declaration.
4710         * lib/scandir.c: New file, from glibc with modifications.
4711         * m4/scandir.m4: New file.
4712         * modules/scandir: New file.
4713         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
4714         HAVE_SCANDIR.
4715         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
4716         HAVE_SCANDIR.
4717         * doc/posix-functions/scandir.texi: Mention the new module and the
4718         portability problems.
4719
4720 2009-01-17  Bruno Haible  <bruno@clisp.org>
4721
4722         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
4723         Update documentation.
4724         (func_remove_suffix): Escape all dots in the suffix. Update
4725         documentation.
4726         (func_filter_filelist): Update documentation.
4727         Reported by Ralf Wildenhues.
4728
4729 2009-01-17  Bruno Haible  <bruno@clisp.org>
4730
4731         * modules/dprintf-posix-tests: New file.
4732         * tests/test-dprintf-posix.sh: New file.
4733         * tests/test-dprintf-posix.c: New file.
4734
4735         New modules 'dprintf', 'dprintf-posix'.
4736         * lib/stdio.in.h (dprintf): New declaration.
4737         * lib/dprintf.c: New file.
4738         * m4/dprintf.m4: New file.
4739         * m4/dprintf-posix.m4: New file.
4740         * modules/dprintf: New file.
4741         * modules/dprintf-posix: New file.
4742         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
4743         HAVE_DPRINTF, REPLACE_DPRINTF.
4744         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
4745         HAVE_DPRINTF, REPLACE_DPRINTF.
4746         * doc/posix-functions/dprintf.texi: Mention the new modules.
4747
4748 2009-01-17  Bruno Haible  <bruno@clisp.org>
4749
4750         * modules/vdprintf-posix-tests: New file.
4751         * tests/test-vdprintf-posix.sh: New file.
4752         * tests/test-vdprintf-posix.c: New file.
4753
4754         New modules 'vdprintf', 'vdprintf-posix'.
4755         * lib/stdio.in.h (vdprintf): New declaration.
4756         * lib/vdprintf.c: New file.
4757         * m4/vdprintf.m4: New file.
4758         * m4/vdprintf-posix.m4: New file.
4759         * modules/vdprintf: New file.
4760         * modules/vdprintf-posix: New file.
4761         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
4762         HAVE_VDPRINTF, REPLACE_VDPRINTF.
4763         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
4764         HAVE_VDPRINTF, REPLACE_VDPRINTF.
4765         * doc/posix-functions/vdprintf.texi: Mention the new modules.
4766
4767 2009-01-17  Bruno Haible  <bruno@clisp.org>
4768
4769         Fix replacement of fopen on mingw.
4770         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
4771         mingw.
4772
4773 2009-01-17  Bruno Haible  <bruno@clisp.org>
4774
4775         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
4776         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
4777
4778 2009-01-17  Bruno Haible  <bruno@clisp.org>
4779
4780         Avoid test-fflush2.sh failure on mingw.
4781         * tests/test-fflush2.c: Include binary-io.h.
4782         (main): Put standard input into binary mode.
4783         * modules/fflush-tests (Depends-on): Add binary-io.
4784
4785 2009-01-17  Bruno Haible  <bruno@clisp.org>
4786
4787         * lib/wchar.in.h: In another particular situation, include only the
4788         system's <wchar.h> file.
4789         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
4790         Reported by Albert Chin-A-Young <china@thewrittenword.com>
4791         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
4792
4793 2009-01-17  Bruno Haible  <bruno@clisp.org>
4794
4795         Support for stripping executables in --enable-relocatable.
4796         * build-aux/install-reloc: Expect one more argument, or an environment
4797         variable RELOC_STRIP_PROG. If set, strip the destination program and
4798         its wrapper.
4799         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
4800         RELOC_STRIP_PROG.
4801         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
4802         to set RELOCATABLE_STRIP.
4803         * NEWS: Mention the new Makefile requirement.
4804
4805 2009-01-17  Bruno Haible  <bruno@clisp.org>
4806
4807         * build-aux/install-reloc: Remove debugging information left over by
4808         C compiler on MacOS X.
4809
4810 2009-01-17  Bruno Haible  <bruno@clisp.org>
4811
4812         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
4813         * lib/progreloc.c (find_executable): Fix type of pointer passed to
4814         _NSGetExecutablePath.
4815
4816 2009-01-16  Jim Meyering  <meyering@redhat.com>
4817
4818         strerror: avoid warnings about discarding "const"
4819         * lib/strerror.c (rpl_strerror): Instead of returning a const
4820         string from each and every "case", use a variable, and add a single
4821         cast after the switch.
4822
4823 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
4824
4825         * lib/arpa_inet.in.h: Add extern "C" block for C++.
4826
4827 2009-01-16  Bruno Haible  <bruno@clisp.org>
4828
4829         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
4830         array initializer syntax that also works in C++ mode.
4831         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
4832
4833 2009-01-16  Jim Meyering  <meyering@redhat.com>
4834
4835         poll: suppress a warning
4836         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
4837         to ignore "...unsigned expression < 0 is always false" warnings.
4838
4839 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
4840
4841         poll: remove declarations of unused variables
4842         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
4843         sockbuf and optlen.
4844
4845 2009-01-15  Bruno Haible  <bruno@clisp.org>
4846
4847         Make fflush-after-ungetc POSIX compliant on BSD systems.
4848         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
4849         (clear_ungetc_buffer): Implement also for other systems.
4850         (rpl_fflush): On glibc systems, invoke
4851         clear_ungetc_buffer_preserving_position. Otherwise, invoke
4852         clear_ungetc_buffer after fetching the stream's position, not before.
4853
4854 2009-01-15  Bruno Haible  <bruno@clisp.org>
4855
4856         Make fflush-after-ungetc POSIX compliant on glibc systems.
4857         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
4858         after ungetc.
4859         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
4860         (rpl_fflush): On glibc systems, simply call the system's fflush
4861         function after clearing the ungetc buffer.
4862         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
4863         Instead, lseek only to the end of file, then use the system's fseeko
4864         for the rest. On glibc systems, reset the EOF indicator bit.
4865
4866 2009-01-15  Jim Meyering  <meyering@redhat.com>
4867
4868         openmp.m4: revert quote-adding change, for portability to older autoconf
4869         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
4870         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
4871         Simon Josefsson noticed the problem when using autoconf-2.61.
4872
4873 2009-01-15  Bruno Haible  <bruno@clisp.org>
4874
4875         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
4876         * tests/test-fflush2.c (ASSERT): Always fail.
4877         (main): Add two tests for fflush() after ungetc(), taking into account
4878         the Austin Group's clarification.
4879         Suggested by Eric Blake.
4880
4881 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
4882
4883         mktime.m4: remove K&R-style function prototypes
4884         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
4885         for the Sun C++ compiler.
4886
4887 2009-01-14  Bruno Haible  <bruno@clisp.org>
4888
4889         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
4890         while including <wchar.h>.
4891         * lib/wchar.in.h: In two particular situations on HP-UX, include only
4892         the system's <wchar.h> file.
4893         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
4894
4895 2009-01-14  Bruno Haible  <bruno@clisp.org>
4896
4897         * m4/csharp.m4: Don't mention gettext on the serial number line.
4898         * m4/csharpexec.m4: Likewise.
4899         * m4/eaccess.m4: Likewise.
4900         * m4/javaexec.m4: Likewise.
4901         * m4/sig_atomic_t.m4: Likewise.
4902         * m4/tmpdir.m4: Likewise.
4903         * m4/intldir.m4: Bump gettext version.
4904         * m4/lib-ld.m4: Likewise.
4905
4906 2009-01-14  Bruno Haible  <bruno@clisp.org>
4907
4908         * lib/progname.c (set_program_name): Add more comments.
4909         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
4910
4911 2009-01-14  Simon Josefsson  <simon@josefsson.org>
4912
4913         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
4914         were sys/stat.h does not define it.
4915
4916 2009-01-14  Jim Meyering  <meyering@redhat.com>
4917
4918         many *.m4 files: improve m4 quoting
4919         99% of this change was performed by running the following commands:
4920         git ls-files | grep '\.m4$' | xargs perl -pi \
4921           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
4922           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
4923           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
4924           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
4925         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
4926         The remainder were to add Copyright dates, increment serial numbers,
4927         undo some changes in comments, exclude m4/intl.m4, and add quotes
4928         around the "1" in ",1" where the unusual spacing prohibited the
4929         above regexps from doing the job.  For more details, see
4930         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
4931         * m4/acl.m4: Modified.
4932         * m4/afs.m4: Likewise.
4933         * m4/alloca.m4: Likewise.
4934         * m4/argp.m4: Likewise.
4935         * m4/argz.m4: Likewise.
4936         * m4/atexit.m4: Likewise.
4937         * m4/bison-i18n.m4: Likewise.
4938         * m4/bison.m4: Likewise.
4939         * m4/byteswap.m4: Likewise.
4940         * m4/c-stack.m4: Likewise.
4941         * m4/c-strtod.m4: Likewise.
4942         * m4/calloc.m4: Likewise.
4943         * m4/canonicalize-lgpl.m4: Likewise.
4944         * m4/chown.m4: Likewise.
4945         * m4/clock_time.m4: Likewise.
4946         * m4/codeset.m4: Likewise.
4947         * m4/copy-file.m4: Likewise.
4948         * m4/csharp.m4: Likewise.
4949         * m4/csharpcomp.m4: Likewise.
4950         * m4/csharpexec.m4: Likewise.
4951         * m4/d-ino.m4: Likewise.
4952         * m4/d-type.m4: Likewise.
4953         * m4/dirfd.m4: Likewise.
4954         * m4/double-slash-root.m4: Likewise.
4955         * m4/eaccess.m4: Likewise.
4956         * m4/eealloc.m4: Likewise.
4957         * m4/environ.m4: Likewise.
4958         * m4/errno_h.m4: Likewise.
4959         * m4/euidaccess.m4: Likewise.
4960         * m4/execute.m4: Likewise.
4961         * m4/fatal-signal.m4: Likewise.
4962         * m4/fchdir.m4: Likewise.
4963         * m4/fcntl_h.m4: Likewise.
4964         * m4/fileblocks.m4: Likewise.
4965         * m4/filenamecat.m4: Likewise.
4966         * m4/findprog.m4: Likewise.
4967         * m4/flexmember.m4: Likewise.
4968         * m4/fnmatch.m4: Likewise.
4969         * m4/fopen.m4: Likewise.
4970         * m4/fpending.m4: Likewise.
4971         * m4/fprintf-posix.m4: Likewise.
4972         * m4/free.m4: Likewise.
4973         * m4/frexp.m4: Likewise.
4974         * m4/frexpl.m4: Likewise.
4975         * m4/fsusage.m4: Likewise.
4976         * m4/ftruncate.m4: Likewise.
4977         * m4/gc-camellia.m4: Likewise.
4978         * m4/gc-random.m4: Likewise.
4979         * m4/gc.m4: Likewise.
4980         * m4/getaddrinfo.m4: Likewise.
4981         * m4/getcwd-abort-bug.m4: Likewise.
4982         * m4/getcwd-path-max.m4: Likewise.
4983         * m4/getdate.m4: Likewise.
4984         * m4/getdomainname.m4: Likewise.
4985         * m4/getgroups.m4: Likewise.
4986         * m4/gethostname.m4: Likewise.
4987         * m4/gethrxtime.m4: Likewise.
4988         * m4/getline.m4: Likewise.
4989         * m4/getloadavg.m4: Likewise.
4990         * m4/getndelim2.m4: Likewise.
4991         * m4/getpass.m4: Likewise.
4992         * m4/gettext.m4: Likewise.
4993         * m4/gettime.m4: Likewise.
4994         * m4/gettimeofday.m4: Likewise.
4995         * m4/gnulib-common.m4: Likewise.
4996         * m4/group-member.m4: Likewise.
4997         * m4/host-os.m4: Likewise.
4998         * m4/iconv.m4: Likewise.
4999         * m4/iconv_open.m4: Likewise.
5000         * m4/inet_ntop.m4: Likewise.
5001         * m4/inet_pton.m4: Likewise.
5002         * m4/inline.m4: Likewise.
5003         * m4/intldir.m4: Likewise.
5004         * m4/intlmacosx.m4: Likewise.
5005         * m4/intmax.m4: Likewise.
5006         * m4/intmax_t.m4: Likewise.
5007         * m4/inttypes.m4: Likewise.
5008         * m4/inttypes_h.m4: Likewise.
5009         * m4/inttypes-pri.m4: Likewise.
5010         * m4/isapipe.m4: Likewise.
5011         * m4/isnand.m4: Likewise.
5012         * m4/isnanf.m4: Likewise.
5013         * m4/isnanl.m4: Likewise.
5014         * m4/javacomp.m4: Likewise.
5015         * m4/javaexec.m4: Likewise.
5016         * m4/jm-winsz1.m4: Likewise.
5017         * m4/jm-winsz2.m4: Likewise.
5018         * m4/lchown.m4: Likewise.
5019         * m4/lcmessage.m4: Likewise.
5020         * m4/ldexpl.m4: Likewise.
5021         * m4/lib-ld.m4: Likewise.
5022         * m4/lib-link.m4: Likewise.
5023         * m4/libsigsegv.m4: Likewise.
5024         * m4/link-follow.m4: Likewise.
5025         * m4/localcharset.m4: Likewise.
5026         * m4/locale-fr.m4: Likewise.
5027         * m4/locale-ja.m4: Likewise.
5028         * m4/locale-tr.m4: Likewise.
5029         * m4/locale-zh.m4: Likewise.
5030         * m4/lock.m4: Likewise.
5031         * m4/longlong.m4: Likewise.
5032         * m4/ls-mntd-fs.m4: Likewise.
5033         * m4/lstat.m4: Likewise.
5034         * m4/malloc.m4: Likewise.
5035         * m4/mathl.m4: Likewise.
5036         * m4/mbrtowc.m4: Likewise.
5037         * m4/mbstate_t.m4: Likewise.
5038         * m4/mbswidth.m4: Likewise.
5039         * m4/memchr.m4: Likewise.
5040         * m4/memcmp.m4: Likewise.
5041         * m4/memcpy.m4: Likewise.
5042         * m4/memmem.m4: Likewise.
5043         * m4/memmove.m4: Likewise.
5044         * m4/mempcpy.m4: Likewise.
5045         * m4/memrchr.m4: Likewise.
5046         * m4/memset.m4: Likewise.
5047         * m4/minmax.m4: Likewise.
5048         * m4/mkdir-slash.m4: Likewise.
5049         * m4/mkdtemp.m4: Likewise.
5050         * m4/mktime.m4: Likewise.
5051         * m4/mmap-anon.m4: Likewise.
5052         * m4/mountlist.m4: Likewise.
5053         * m4/nanosleep.m4: Likewise.
5054         * m4/nls.m4: Likewise.
5055         * m4/nocrash.m4: Likewise.
5056         * m4/open.m4: Likewise.
5057         * m4/openat.m4: Likewise.
5058         * m4/openmp.m4: Likewise.
5059         * m4/pathmax.m4: Likewise.
5060         * m4/perl.m4: Likewise.
5061         * m4/physmem.m4: Likewise.
5062         * m4/pipe.m4: Likewise.
5063         * m4/po.m4: Likewise.
5064         * m4/poll.m4: Likewise.
5065         * m4/posixtm.m4: Likewise.
5066         * m4/posixver.m4: Likewise.
5067         * m4/printf-frexp.m4: Likewise.
5068         * m4/printf-frexpl.m4: Likewise.
5069         * m4/printf-posix.m4: Likewise.
5070         * m4/printf-posix-rpl.m4: Likewise.
5071         * m4/printf.m4: Likewise.
5072         * m4/progtest.m4: Likewise.
5073         * m4/putenv.m4: Likewise.
5074         * m4/readline.m4: Likewise.
5075         * m4/readlink.m4: Likewise.
5076         * m4/readutmp.m4: Likewise.
5077         * m4/realloc.m4: Likewise.
5078         * m4/regex.m4: Likewise.
5079         * m4/relocatable.m4: Likewise.
5080         * m4/relocatable-lib.m4: Likewise.
5081         * m4/rename-dest-slash.m4: Likewise.
5082         * m4/rename.m4: Likewise.
5083         * m4/rmdir-errno.m4: Likewise.
5084         * m4/rmdir.m4: Likewise.
5085         * m4/roundf.m4: Likewise.
5086         * m4/roundl.m4: Likewise.
5087         * m4/rpmatch.m4: Likewise.
5088         * m4/save-cwd.m4: Likewise.
5089         * m4/selinux-selinux-h.m4: Likewise.
5090         * m4/setenv.m4: Likewise.
5091         * m4/settime.m4: Likewise.
5092         * m4/sig2str.m4: Likewise.
5093         * m4/sig_atomic_t.m4: Likewise.
5094         * m4/signalblocking.m4: Likewise.
5095         * m4/signbit.m4: Likewise.
5096         * m4/sigpipe.m4: Likewise.
5097         * m4/sockets.m4: Likewise.
5098         * m4/sockpfaf.m4: Likewise.
5099         * m4/st_dm_mode.m4: Likewise.
5100         * m4/stat-time.m4: Likewise.
5101         * m4/stdbool.m4: Likewise.
5102         * m4/stdint.m4: Likewise.
5103         * m4/stdint_h.m4: Likewise.
5104         * m4/stpcpy.m4: Likewise.
5105         * m4/stpncpy.m4: Likewise.
5106         * m4/strcase.m4: Likewise.
5107         * m4/strchrnul.m4: Likewise.
5108         * m4/strcspn.m4: Likewise.
5109         * m4/strdup.m4: Likewise.
5110         * m4/strftime.m4: Likewise.
5111         * m4/strndup.m4: Likewise.
5112         * m4/strnlen.m4: Likewise.
5113         * m4/strpbrk.m4: Likewise.
5114         * m4/strptime.m4: Likewise.
5115         * m4/strsep.m4: Likewise.
5116         * m4/strtod.m4: Likewise.
5117         * m4/strtoimax.m4: Likewise.
5118         * m4/strtok_r.m4: Likewise.
5119         * m4/strtol.m4: Likewise.
5120         * m4/strtoll.m4: Likewise.
5121         * m4/strtoul.m4: Likewise.
5122         * m4/strtoull.m4: Likewise.
5123         * m4/strtoumax.m4: Likewise.
5124         * m4/strverscmp.m4: Likewise.
5125         * m4/threadlib.m4: Likewise.
5126         * m4/timegm.m4: Likewise.
5127         * m4/tm_gmtoff.m4: Likewise.
5128         * m4/tmpdir.m4: Likewise.
5129         * m4/tmpfile.m4: Likewise.
5130         * m4/tzset.m4: Likewise.
5131         * m4/uintmax_t.m4: Likewise.
5132         * m4/unlinkdir.m4: Likewise.
5133         * m4/unlocked-io.m4: Likewise.
5134         * m4/uptime.m4: Likewise.
5135         * m4/userspec.m4: Likewise.
5136         * m4/utimbuf.m4: Likewise.
5137         * m4/utime.m4: Likewise.
5138         * m4/utimes-null.m4: Likewise.
5139         * m4/utimes.m4: Likewise.
5140         * m4/vararrays.m4: Likewise.
5141         * m4/vasnprintf.m4: Likewise.
5142         * m4/vfprintf-posix.m4: Likewise.
5143         * m4/vprintf-posix.m4: Likewise.
5144         * m4/wait-process.m4: Likewise.
5145         * m4/wchar_t.m4: Likewise.
5146         * m4/wint_t.m4: Likewise.
5147         * m4/write-any-file.m4: Likewise.
5148         * m4/yield.m4: Likewise.
5149
5150 2009-01-13  Bruno Haible  <bruno@clisp.org>
5151
5152         Avoid test-copy-file.sh failures when ACL support insufficient.
5153         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
5154         TESTS_ENVIRONMENT.
5155         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
5156         Reported by Jim Meyering.
5157
5158 2009-01-13  Bruno Haible  <bruno@clisp.org>
5159
5160         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
5161         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
5162         * modules/unistdio/u8-printf-parse (Files): Likewise.
5163         * modules/unistdio/u32-printf-parse (Files): Likewise.
5164         * modules/unistdio/ulc-printf-parse (Files): Likewise.
5165
5166 2009-01-13  Simon Josefsson  <simon@josefsson.org>
5167
5168         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
5169         and m4/inttypes_h.m4 too.
5170
5171 2009-01-12  Eric Blake  <ebb9@byu.net>
5172
5173         tests: IRIX 6.2 cc can't compile -0.0 into .data
5174         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
5175         rather than at compile-time.
5176         * tests/test-floorl.c (minus_zero): Likewise.
5177         * tests/test-frexpl.c (minus_zero): Likewise.
5178         * tests/test-isnan.c (minus_zerol): Likewise.
5179         * tests/test-isnanl.h (minus_zero): Likewise.
5180         * tests/test-ldexpl.c (minus_zero): Likewise.
5181         * tests/test-roundl.c (minus_zero): Likewise.
5182         * tests/test-signbit.c (minus_zerol): Likewise.
5183         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
5184         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
5185         * tests/test-truncl.c (minus_zero): Likewise.
5186         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
5187         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
5188         Reported by Tom G. Christensen and Nelson H. F. Beebe.
5189
5190 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
5191
5192         regex: fix glibc bug 9697
5193         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
5194         handling.
5195
5196 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
5197
5198         regex: fix glibc bug 697
5199         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
5200         being NULL also if there are no backreferences.
5201
5202 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
5203
5204         regex: merge glibc changes
5205         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
5206         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
5207         re_string_skip_chars, re_string_reconstruct): Likewise.
5208         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
5209
5210 2009-01-07  Jim Meyering  <meyering@redhat.com>
5211
5212         poll: filter through cppi
5213         * lib/poll.c: Indent cpp directives to reflect nesting.
5214
5215 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
5216
5217         poll: don't return uninitialized
5218         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
5219
5220 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
5221
5222         avoid compile failure on AIX 6.1
5223         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
5224         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
5225
5226 2009-01-04  Jim Meyering  <meyering@redhat.com>
5227
5228         remove duplicate inclusion of <stdio.h>
5229         * tests/test-fprintf-posix.c: Likewise.
5230         * tests/test-printf-posix.c: Likewise.
5231         * tests/test-snprintf-posix.c: Likewise.
5232         * tests/test-sprintf-posix.c: Likewise.
5233         * tests/test-vasprintf-posix.c: Likewise.
5234         * tests/test-vfprintf-posix.c: Likewise.
5235         * tests/test-vprintf-posix.c: Likewise.
5236         * tests/test-vsnprintf-posix.c: Likewise.
5237         * tests/test-vsprintf-posix.c: Likewise.
5238
5239 2009-01-03  Jim Meyering  <meyering@redhat.com>
5240
5241         gnulib-tool: fix sed-based filtering
5242         * gnulib-tool (func_filter_filelist): Remove extra backslash
5243         in sed_fff_filter definition.
5244
5245 2009-01-02  Jim Meyering  <meyering@redhat.com>
5246
5247         strftime: avoid compilation failure on Solaris 2.6
5248         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
5249         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
5250         Don't #define mbrlen or mbsinit, since now they're guaranteed to
5251         be available.  Reported by Tom G. Christensen.  Details in
5252         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
5253
5254 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5255             Bruno Haible  <bruno@clisp.org>
5256
5257         Speed up gnulib-tool by doing more string processing through shell
5258         built-ins.
5259         * gnulib-tool (fast_func_append): New variable.
5260         (func_remove_prefix, func_remove_suffix): New functions.
5261         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
5262         (func_filter_filelist): New function.
5263         (func_get_dependencies): Use func_remove_suffix instead of sed.
5264         (func_get_automake_snippet): Use func_filter_filelist instead of a
5265         subshell and sed invocation.
5266
5267 2009-01-01  Bruno Haible  <bruno@clisp.org>
5268
5269         Fix a security bug.
5270         * gnulib-tool (func_import, import, update): Don't allow the characters
5271         '"', '$', '`', '\' in macro arguments that become part of commands that
5272         are evaluated.
5273
5274 2009-01-01  Bruno Haible  <bruno@clisp.org>
5275
5276         * gnulib-tool (func_reset_sigpipe): Add more comments.
5277
5278 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5279
5280         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
5281         func_emit_tests_Makefile_am, func_import): Abort loops early if we
5282         already know the answer.
5283
5284 2009-01-01  Jim Meyering  <meyering@redhat.com>
5285
5286         * lib/version-etc.c (version_etc_va): Update copyright year.
5287
5288 2008-12-30  Bruno Haible  <bruno@clisp.org>
5289
5290         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
5291         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
5292         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
5293
5294 2008-12-29  Eric Blake  <ebb9@byu.net>
5295
5296         multiarch: avoid autoconf AC_REQUIRE bug
5297         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
5298         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
5299         2.63 and older.
5300         Reported by Bruno Haible, and analyzed in
5301         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
5302
5303 2008-12-29  Bruno Haible  <bruno@clisp.org>
5304
5305         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
5306         files in subdirectories correctly.
5307         Reported by Ralf Wildenhues.
5308
5309 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5310
5311         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
5312         rather than 'join FILE -', for Solaris join.
5313
5314 2008-12-29  Bruno Haible  <bruno@clisp.org>
5315
5316         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
5317         quoting.
5318         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
5319         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
5320         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
5321         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
5322         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
5323         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
5324         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
5325         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
5326         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
5327         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
5328         * m4/nls.m4 (AM_NLS): Likewise.
5329         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
5330         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
5331         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
5332         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
5333         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
5334         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
5335         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
5336         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
5337         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
5338         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
5339         * m4/xsize.m4 (gl_XSIZE): Likewise.
5340         Suggested by Jim Meyering.
5341
5342 2008-11-17  Bruce Korb  <bkorb@gnu.org>
5343
5344         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
5345         * lib/parse-duration.c: use a switch instead of cascading if's.
5346
5347 2008-12-29  Eric Blake  <ebb9@byu.net>
5348
5349         wchar.h: supply WEOF on Irix 5.3
5350         * lib/wchar.in.h (wint_t): Also supply WEOF.
5351         * lib/wctype.in.h (wint_t): Likewise.
5352         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
5353         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
5354         Reported by Tom G. Christensen.
5355
5356 2008-12-26  Bruno Haible  <bruno@clisp.org>
5357
5358         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
5359         i486, i586, i686.
5360
5361 2008-12-26  Bruno Haible  <bruno@clisp.org>
5362
5363         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
5364
5365 2008-12-26  Bruno Haible  <bruno@clisp.org>
5366
5367         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
5368         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
5369         not __STDC_CONSTANT_MACROS.
5370         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
5371
5372 2008-12-25  Bruno Haible  <bruno@clisp.org>
5373
5374         Add support for universal builds to vasnprintf.
5375         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
5376         universal builds, guess no.
5377         * modules/vasnprintf-posix (Depends-on): Add multiarch.
5378         * modules/vasprintf-posix (Depends-on): Likewise.
5379         * modules/fprintf-posix (Depends-on): Likewise.
5380         * modules/vfprintf-posix (Depends-on): Likewise.
5381         * modules/snprintf-posix (Depends-on): Likewise.
5382         * modules/vsnprintf-posix (Depends-on): Likewise.
5383         * modules/sprintf-posix (Depends-on): Likewise.
5384         * modules/vsprintf-posix (Depends-on): Likewise.
5385         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
5386         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
5387         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
5388         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
5389         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
5390         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
5391         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
5392
5393         Add support for universal builds to <inttypes.h>.
5394         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
5395         _SCNu64_PREFIX): In Apple
5396         universal builds, define directly, using _LP64.
5397         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
5398         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
5399         * modules/inttypes (Depends-on): Add multiarch.
5400         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
5401
5402         Add support for universal builds to <stdint.h>.
5403         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
5404         universal builds, define directly, using _LP64.
5405         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
5406         Apple universal builds, don't test for the size and suffix of ptrdiff_t
5407         and size_t.
5408         * modules/stdint (Depends-on): Add multiarch.
5409         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
5410
5411         New module 'multiarch'.
5412         * modules/multiarch: New file.
5413         * m4/multiarch.m4: New file.
5414
5415 2008-12-25  Bruno Haible  <bruno@clisp.org>
5416
5417         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
5418
5419 2008-12-25  Bruno Haible  <bruno@clisp.org>
5420
5421         * modules/btowc (License): Relicense under LGPLv2+.
5422         * modules/mbsinit (License): Likewise.
5423         * modules/mbrtowc (License): Likewise.
5424         * modules/wcrtomb (License): Likewise.
5425         * modules/streq (License): Likewise.
5426         Reported by David Lutterkort <lutter@redhat.com>.
5427
5428 2008-12-23  Bruno Haible  <bruno@clisp.org>
5429
5430         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
5431
5432 2008-12-23  Bruno Haible  <bruno@clisp.org>
5433
5434         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
5435         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
5436         GETADDRINFO_LIB, not in LIBS.
5437         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
5438         * modules/canon-host (Link): Likewise.
5439         * NEWS: Mention the change.
5440         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
5441         GETADDRINFO_LIB.
5442
5443 2008-12-22  Bruno Haible  <bruno@clisp.org>
5444
5445         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
5446         * doc/posix-functions/iswalpha_l.texi: Likewise.
5447         * doc/posix-functions/iswblank_l.texi: Likewise.
5448         * doc/posix-functions/iswcntrl_l.texi: Likewise.
5449         * doc/posix-functions/iswctype_l.texi: Likewise.
5450         * doc/posix-functions/iswdigit_l.texi: Likewise.
5451         * doc/posix-functions/iswgraph_l.texi: Likewise.
5452         * doc/posix-functions/iswlower_l.texi: Likewise.
5453         * doc/posix-functions/iswprint_l.texi: Likewise.
5454         * doc/posix-functions/iswpunct_l.texi: Likewise.
5455         * doc/posix-functions/iswspace_l.texi: Likewise.
5456         * doc/posix-functions/iswupper_l.texi: Likewise.
5457         * doc/posix-functions/iswxdigit_l.texi: Likewise.
5458         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
5459         * doc/posix-functions/open_wmemstream.texi: Likewise.
5460         * doc/posix-functions/swscanf.texi: Likewise.
5461         * doc/posix-functions/towctrans_l.texi: Likewise.
5462         * doc/posix-functions/towlower.texi: Likewise.
5463         * doc/posix-functions/towlower_l.texi: Likewise.
5464         * doc/posix-functions/towupper.texi: Likewise.
5465         * doc/posix-functions/towupper_l.texi: Likewise.
5466         * doc/posix-functions/vfwprintf.texi: Likewise.
5467         * doc/posix-functions/vfwscanf.texi: Likewise.
5468         * doc/posix-functions/vswscanf.texi: Likewise.
5469         * doc/posix-functions/vwprintf.texi: Likewise.
5470         * doc/posix-functions/vwscanf.texi: Likewise.
5471         * doc/posix-functions/wcpcpy.texi: Likewise.
5472         * doc/posix-functions/wcpncpy.texi: Likewise.
5473         * doc/posix-functions/wcscasecmp.texi: Likewise.
5474         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
5475         * doc/posix-functions/wcscoll_l.texi: Likewise.
5476         * doc/posix-functions/wcsdup.texi: Likewise.
5477         * doc/posix-functions/wcsncasecmp.texi: Likewise.
5478         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
5479         * doc/posix-functions/wcsnlen.texi: Likewise.
5480         * doc/posix-functions/wcsnrtombs.texi: Likewise.
5481         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
5482         * doc/posix-functions/wctrans_l.texi: Likewise.
5483         * doc/posix-functions/wctype_l.texi: Likewise.
5484         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
5485         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
5486         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
5487         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
5488         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
5489         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
5490         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
5491         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
5492         * doc/glibc-functions/wcschrnul.texi: Likewise.
5493         * doc/glibc-functions/wcsftime_l.texi: Likewise.
5494         * doc/glibc-functions/wcstod_l.texi: Likewise.
5495         * doc/glibc-functions/wcstof_l.texi: Likewise.
5496         * doc/glibc-functions/wcstol_l.texi: Likewise.
5497         * doc/glibc-functions/wcstold_l.texi: Likewise.
5498         * doc/glibc-functions/wcstoll_l.texi: Likewise.
5499         * doc/glibc-functions/wcstoq.texi: Likewise.
5500         * doc/glibc-functions/wcstoul_l.texi: Likewise.
5501         * doc/glibc-functions/wcstoull_l.texi: Likewise.
5502         * doc/glibc-functions/wcstouq.texi: Likewise.
5503         * doc/glibc-functions/wmempcpy.texi: Likewise.
5504
5505 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
5506             Eric Blake  <ebb9@byu.net>
5507             Paolo Bonzini  <bonzini@gnu.org>
5508             Bruno Haible  <bruno@clisp.org>
5509
5510         Make c-stack work on Haiku.
5511         * lib/c-stack.c (SA_ONSTACK): Define fallback.
5512         (c_stack_action): Use SA_ONSTACK flag.
5513
5514 2008-12-22  Bruno Haible  <bruno@clisp.org>
5515
5516         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
5517
5518 2008-12-22  Bruno Haible  <bruno@clisp.org>
5519
5520         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
5521         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
5522         being overridden.
5523         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
5524         New macros.
5525         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
5526         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
5527         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
5528         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
5529
5530 2008-12-22  Bruno Haible  <bruno@clisp.org>
5531
5532         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
5533         from test code.
5534
5535 2008-12-22  Eric Blake  <ebb9@byu.net>
5536
5537         Avoid gcc warnings on cygwin.
5538         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
5539         Avoid unused variable.
5540         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
5541         Likewise.
5542
5543 2008-12-22  Bruno Haible  <bruno@clisp.org>
5544
5545         Remove HAVE_MBRTOWC conditionals.
5546         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
5547         (mbscasecmp): Assume mbrtowc function.
5548         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
5549         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
5550         * lib/mbschr.c: Include mbuiter.h unconditionally.
5551         (mbschr): Assume mbrtowc function.
5552         * lib/mbscspn.c: Include mbuiter.h unconditionally.
5553         (mbscspn): Assume mbrtowc function.
5554         * lib/mbslen.c: Include mbuiter.h unconditionally.
5555         (mbslen): Assume mbrtowc function.
5556         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
5557         (mbsncasecmp): Assume mbrtowc function.
5558         * lib/mbsnlen.c: Include mbiter.h unconditionally.
5559         (mbsnlen): Assume mbrtowc function.
5560         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
5561         (mbspbrk): Assume mbrtowc function.
5562         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
5563         (mbspcasecmp): Assume mbrtowc function.
5564         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
5565         (mbsrchr): Assume mbrtowc function.
5566         * lib/mbssep.c: Include mbuiter.h unconditionally.
5567         (mbssep): Assume mbrtowc function.
5568         * lib/mbsspn.c: Include mbuiter.h unconditionally.
5569         (mbsspn): Assume mbrtowc function.
5570         * lib/mbsstr.c: Include mbuiter.h unconditionally.
5571         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
5572         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
5573         (mbstok_r): Assume mbrtowc function.
5574         * lib/propername.c: Include mbuiter.h unconditionally.
5575         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
5576         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
5577         (trim2): Assume mbrtowc function.
5578         * lib/mbswidth.c (mbsinit): Remove fallback definition.
5579         (mbsnwidth): Assume mbrtowc function.
5580         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
5581         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
5582         fallback definitions.
5583         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
5584
5585 2008-12-22  Bruno Haible  <bruno@clisp.org>
5586
5587         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
5588
5589 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
5590
5591         * modules/regex: Request emulations for the mb*/wc* functions we need.
5592         * m4/regex.m4: Don't look for those functions here.
5593         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
5594
5595 2008-12-22  Bruno Haible  <bruno@clisp.org>
5596
5597         * modules/fnmatch (Depends-on): Remove duplicated dependency.
5598
5599 2008-12-21  Bruno Haible  <bruno@clisp.org>
5600
5601         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
5602         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
5603         (Include): Remove conditionalization.
5604         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
5605         (Include): Remove conditionalization.
5606         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
5607         (Include): Remove conditionalization.
5608         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
5609         * m4/mbfile.m4 (gl_MBFILE): Likewise.
5610         * NEWS: Mention the change.
5611         Reported by Alan Hourihane <alanh@fairlite.co.uk>
5612         via Sergey Poznyakoff <gray@gnu.org.ua>.
5613
5614 2008-12-21  Bruno Haible  <bruno@clisp.org>
5615
5616         * MODULES.html.sh (Extended multibyte and wide character utilities
5617         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
5618         wcrtomb, wcsrtombs.
5619         (Support for systems lacking POSIX:2008): Add accept, bind, close,
5620         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
5621         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
5622         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
5623
5624 2008-12-21  Bruno Haible  <bruno@clisp.org>
5625
5626         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
5627
5628 2008-12-21  Bruno Haible  <bruno@clisp.org>
5629
5630         * modules/wcsnrtombs-tests: New file.
5631         * tests/test-wcsnrtombs1.sh: New file.
5632         * tests/test-wcsnrtombs2.sh: New file.
5633         * tests/test-wcsnrtombs3.sh: New file.
5634         * tests/test-wcsnrtombs4.sh: New file.
5635         * tests/test-wcsnrtombs.c: New file.
5636
5637         New module 'wcsnrtombs'.
5638         * lib/wchar.in.h (wcsnrtombs): New declaration.
5639         * lib/wcsnrtombs.c: New file.
5640         * lib/wcsrtombs-state.c: New file.
5641         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
5642         (internal_state): Remove variable.
5643         * m4/wcsnrtombs.m4: New file.
5644         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
5645         compilation units.
5646         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
5647         HAVE_WCSNRTOMBS.
5648         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
5649         HAVE_WCSNRTOMBS.
5650         * modules/wcsnrtombs: New file.
5651         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
5652         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
5653
5654 2008-12-21  Bruno Haible  <bruno@clisp.org>
5655
5656         * modules/wcsrtombs-tests: New file.
5657         * tests/test-wcsrtombs1.sh: New file.
5658         * tests/test-wcsrtombs2.sh: New file.
5659         * tests/test-wcsrtombs3.sh: New file.
5660         * tests/test-wcsrtombs4.sh: New file.
5661         * tests/test-wcsrtombs.c: New file.
5662
5663         New module 'wcsrtombs'.
5664         * lib/wchar.in.h (wcsrtombs): New declaration.
5665         * lib/wcsrtombs.c: New file.
5666         * m4/wcsrtombs.m4: New file.
5667         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
5668         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
5669         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
5670         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
5671         * modules/wcsrtombs: New file.
5672         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
5673         bugs.
5674
5675 2008-12-21  Bruno Haible  <bruno@clisp.org>
5676
5677         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
5678         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
5679         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
5680         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
5681         if not correct.
5682         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
5683         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
5684         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
5685         m4/locale-zh.m4, m4/codeset.m4.
5686         * doc/posix-functions/wcrtomb.texi: Document the bug.
5687
5688 2008-12-21  Bruno Haible  <bruno@clisp.org>
5689
5690         Work around a btowc() bug on IRIX 6.5.
5691         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
5692         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
5693         REPLACE_WTOBC if not.
5694         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
5695         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
5696         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
5697
5698 2008-12-21  Bruno Haible  <bruno@clisp.org>
5699
5700         * modules/wcrtomb-tests: New file.
5701         * tests/test-wcrtomb.sh: New file.
5702         * tests/test-wcrtomb.c: New file.
5703
5704         New module 'wcrtomb'.
5705         * lib/wchar.in.h (wcrtomb): New declaration.
5706         * lib/wcrtomb.c: New file.
5707         * m4/wcrtomb.m4: New file.
5708         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
5709         HAVE_WCRTOMB.
5710         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
5711         HAVE_WCRTOMB.
5712         * modules/wcrtomb: New file.
5713         * doc/posix-functions/wcrtomb.texi: Mention the new module.
5714
5715 2008-12-21  Bruno Haible  <bruno@clisp.org>
5716
5717         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
5718         * modules/mbsrtowcs (Files): Likewise.
5719         * modules/wctob (Files): Likewise.
5720         * modules/c-strcase-tests (Files): Likewise.
5721         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
5722         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
5723         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
5724         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
5725         * modules/vasnprintf-posix-tests (Files): Likewise.
5726
5727 2008-12-21  William Pursell  <bill.pursell@gmail.com>
5728
5729         gitlog-to-changelog: pass all command-line arguments to git-log
5730         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
5731         it is sometimes convenient to filter the commits in various ways.
5732         gitlog-to-changelog only allows --since to specify a start date,
5733         but git-log itself supports many other filtering mechanisms.
5734         At the moment, I want to filter by branch name.  Rather than
5735         adding a --branch option to gitlog-to-changelog, it seems more
5736         flexible to simply pass all options directly to git-log and let
5737         git do the work.  Notice that this effectively makes --since a
5738         redundant option for gitlog-to-changelog, but removing it would
5739         require current usage to change since calls would then require
5740         an additional '--'.
5741
5742 2008-12-21  Bruno Haible  <bruno@clisp.org>
5743
5744         * modules/mbsnrtowcs-tests: New file.
5745         * tests/test-mbsnrtowcs1.sh: New file.
5746         * tests/test-mbsnrtowcs2.sh: New file.
5747         * tests/test-mbsnrtowcs3.sh: New file.
5748         * tests/test-mbsnrtowcs4.sh: New file.
5749         * tests/test-mbsnrtowcs.c: New file.
5750
5751         New module 'mbsnrtowcs'.
5752         * lib/wchar.in.h (mbsnrtowcs): New declaration.
5753         * lib/mbsnrtowcs.c: New file.
5754         * lib/mbsrtowcs-state.c: New file.
5755         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
5756         (internal_state): Remove variable.
5757         * m4/mbsnrtowcs.m4: New file.
5758         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
5759         compilation units.
5760         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
5761         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
5762         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
5763         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
5764         * modules/mbsnrtowcs: New file.
5765         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
5766         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
5767         portability problem.
5768
5769 2008-12-21  Bruno Haible  <bruno@clisp.org>
5770
5771         Work around mbsrtowcs bug.
5772         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
5773         (gl_FUNC_MBSRTOWCS): Invoke it.
5774         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
5775         m4/locale-zh.m4.
5776         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
5777
5778 2008-12-21  Bruno Haible  <bruno@clisp.org>
5779
5780         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
5781
5782 2008-12-21  Bruno Haible  <bruno@clisp.org>
5783
5784         Update doc for AIX.
5785         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
5786         16-bit wchar_t type.
5787         * doc/posix-functions/btowc.texi: Likewise.
5788         * doc/posix-functions/fgetwc.texi: Likewise.
5789         * doc/posix-functions/fgetws.texi: Likewise.
5790         * doc/posix-functions/fputwc.texi: Likewise.
5791         * doc/posix-functions/fputws.texi: Likewise.
5792         * doc/posix-functions/fwide.texi: Likewise.
5793         * doc/posix-functions/fwprintf.texi: Likewise.
5794         * doc/posix-functions/fwscanf.texi: Likewise.
5795         * doc/posix-functions/getwchar.texi: Likewise.
5796         * doc/posix-functions/getwc.texi: Likewise.
5797         * doc/posix-functions/iswalnum.texi: Likewise.
5798         * doc/posix-functions/iswalpha.texi: Likewise.
5799         * doc/posix-functions/iswblank.texi: Likewise.
5800         * doc/posix-functions/iswcntrl.texi: Likewise.
5801         * doc/posix-functions/iswctype.texi: Likewise.
5802         * doc/posix-functions/iswdigit.texi: Likewise.
5803         * doc/posix-functions/iswgraph.texi: Likewise.
5804         * doc/posix-functions/iswlower.texi: Likewise.
5805         * doc/posix-functions/iswprint.texi: Likewise.
5806         * doc/posix-functions/iswpunct.texi: Likewise.
5807         * doc/posix-functions/iswspace.texi: Likewise.
5808         * doc/posix-functions/iswupper.texi: Likewise.
5809         * doc/posix-functions/iswxdigit.texi: Likewise.
5810         * doc/posix-functions/mbrtowc.texi: Likewise.
5811         * doc/posix-functions/mbsrtowcs.texi: Likewise.
5812         * doc/posix-functions/mbstowcs.texi: Likewise.
5813         * doc/posix-functions/mbtowc.texi: Likewise.
5814         * doc/posix-functions/putwchar.texi: Likewise.
5815         * doc/posix-functions/putwc.texi: Likewise.
5816         * doc/posix-functions/swprintf.texi: Likewise.
5817         * doc/posix-functions/tolower.texi: Likewise.
5818         * doc/posix-functions/toupper.texi: Likewise.
5819         * doc/posix-functions/towctrans.texi: Likewise.
5820         * doc/posix-functions/ungetwc.texi: Likewise.
5821         * doc/posix-functions/vswprintf.texi: Likewise.
5822         * doc/posix-functions/wcrtomb.texi: Likewise.
5823         * doc/posix-functions/wcscat.texi: Likewise.
5824         * doc/posix-functions/wcschr.texi: Likewise.
5825         * doc/posix-functions/wcscmp.texi: Likewise.
5826         * doc/posix-functions/wcscoll.texi: Likewise.
5827         * doc/posix-functions/wcscpy.texi: Likewise.
5828         * doc/posix-functions/wcscspn.texi: Likewise.
5829         * doc/posix-functions/wcsftime.texi: Likewise.
5830         * doc/posix-functions/wcslen.texi: Likewise.
5831         * doc/posix-functions/wcsncat.texi: Likewise.
5832         * doc/posix-functions/wcsncmp.texi: Likewise.
5833         * doc/posix-functions/wcsncpy.texi: Likewise.
5834         * doc/posix-functions/wcspbrk.texi: Likewise.
5835         * doc/posix-functions/wcsrchr.texi: Likewise.
5836         * doc/posix-functions/wcsrtombs.texi: Likewise.
5837         * doc/posix-functions/wcsspn.texi: Likewise.
5838         * doc/posix-functions/wcsstr.texi: Likewise.
5839         * doc/posix-functions/wcstod.texi: Likewise.
5840         * doc/posix-functions/wcstof.texi: Likewise.
5841         * doc/posix-functions/wcstoimax.texi: Likewise.
5842         * doc/posix-functions/wcstok.texi: Likewise.
5843         * doc/posix-functions/wcstold.texi: Likewise.
5844         * doc/posix-functions/wcstoll.texi: Likewise.
5845         * doc/posix-functions/wcstol.texi: Likewise.
5846         * doc/posix-functions/wcstombs.texi: Likewise.
5847         * doc/posix-functions/wcstoull.texi: Likewise.
5848         * doc/posix-functions/wcstoul.texi: Likewise.
5849         * doc/posix-functions/wcstoumax.texi: Likewise.
5850         * doc/posix-functions/wcswidth.texi: Likewise.
5851         * doc/posix-functions/wcsxfrm.texi: Likewise.
5852         * doc/posix-functions/wctob.texi: Likewise.
5853         * doc/posix-functions/wctomb.texi: Likewise.
5854         * doc/posix-functions/wctrans.texi: Likewise.
5855         * doc/posix-functions/wctype.texi: Likewise.
5856         * doc/posix-functions/wcwidth.texi: Likewise.
5857         * doc/posix-functions/wmemchr.texi: Likewise.
5858         * doc/posix-functions/wmemcmp.texi: Likewise.
5859         * doc/posix-functions/wmemcpy.texi: Likewise.
5860         * doc/posix-functions/wmemmove.texi: Likewise.
5861         * doc/posix-functions/wmemset.texi: Likewise.
5862         * doc/posix-functions/wprintf.texi: Likewise.
5863         * doc/posix-functions/wscanf.texi: Likewise.
5864
5865 2008-12-21  Bruno Haible  <bruno@clisp.org>
5866
5867         Update doc for HP-UX 11.11.
5868         * doc/posix-functions/btowc.texi: Clarify that the function is missing
5869         in HP-UX version 11.00, not in all versions of HP-UX 11.
5870         * doc/posix-functions/fwide.texi: Likewise.
5871         * doc/posix-functions/fwprintf.texi: Likewise.
5872         * doc/posix-functions/fwscanf.texi: Likewise.
5873         * doc/posix-functions/inet_ntop.texi: Likewise.
5874         * doc/posix-functions/inet_pton.texi: Likewise.
5875         * doc/posix-functions/mbrlen.texi: Likewise.
5876         * doc/posix-functions/mbrtowc.texi: Likewise.
5877         * doc/posix-functions/mbsinit.texi: Likewise.
5878         * doc/posix-functions/mbsrtowcs.texi: Likewise.
5879         * doc/posix-functions/swprintf.texi: Likewise.
5880         * doc/posix-functions/swscanf.texi: Likewise.
5881         * doc/posix-functions/towctrans.texi: Likewise.
5882         * doc/posix-functions/vfwprintf.texi: Likewise.
5883         * doc/posix-functions/vswprintf.texi: Likewise.
5884         * doc/posix-functions/vwprintf.texi: Likewise.
5885         * doc/posix-functions/wcrtomb.texi: Likewise.
5886         * doc/posix-functions/wcsrtombs.texi: Likewise.
5887         * doc/posix-functions/wcsstr.texi: Likewise.
5888         * doc/posix-functions/wctob.texi: Likewise.
5889         * doc/posix-functions/wctrans.texi: Likewise.
5890         * doc/posix-functions/wmemchr.texi: Likewise.
5891         * doc/posix-functions/wmemcmp.texi: Likewise.
5892         * doc/posix-functions/wmemcpy.texi: Likewise.
5893         * doc/posix-functions/wmemmove.texi: Likewise.
5894         * doc/posix-functions/wmemset.texi: Likewise.
5895         * doc/posix-functions/wprintf.texi: Likewise.
5896         * doc/posix-functions/wscanf.texi: Likewise.
5897
5898 2008-12-21  Bruno Haible  <bruno@clisp.org>
5899
5900         Work around a portability problem.
5901         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
5902         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
5903
5904 2008-12-20  Bruno Haible  <bruno@clisp.org>
5905
5906         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
5907         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
5908         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
5909         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
5910         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
5911
5912         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
5913         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
5914         set.
5915         (GNULIB_defined_mbstate_t): New macro.
5916         (mbsinit): Redefine if REPLACE_MBSINIT is set.
5917         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
5918         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
5919         reuses the system's mbrtowc function but works around the bugs.
5920         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
5921         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
5922         macros.
5923         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
5924         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
5925         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
5926         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
5927         REPLACE_MBSINIT if mbsinit needs to be overridden.
5928         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
5929         REPLACE_MBSINIT, REPLACE_MBRTOWC.
5930         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
5931         REPLACE_MBSINIT, REPLACE_MBRTOWC.
5932         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
5933         m4/locale-zh.m4.
5934         (Depends): Add mbsinit.
5935         * modules/mbsinit (Depends): Add mbrtowc.
5936         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
5937
5938 2008-12-20  Bruno Haible  <bruno@clisp.org>
5939
5940         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
5941         so that there are no conversion errors on AIX.
5942         * tests/test-mbsrtowcs.c (main): LIkewise.
5943
5944 2008-12-20  Bruno Haible  <bruno@clisp.org>
5945
5946         Work around wctob bug on Solaris <= 9.
5947         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
5948         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
5949         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
5950         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
5951         * modules/wctob (Files): Add m4/locale-fr.m4.
5952         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
5953
5954 2008-12-20  Bruno Haible  <bruno@clisp.org>
5955
5956         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
5957         /dev/null.
5958         * tests/test-select-in.sh: Likewise.
5959         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5960
5961 2008-12-20  Bruno Haible  <bruno@clisp.org>
5962
5963         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
5964         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
5965         Cygwin 1.5.x.
5966
5967 2008-12-20  Bruno Haible  <bruno@clisp.org>
5968
5969         Ensure mbstate_t is defined on HP-UX 11.11.
5970         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
5971         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
5972         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
5973         AC_USE_SYSTEM_EXTENSIONS.
5974         * modules/fnmatch (Depends-on): Add extensions.
5975         * modules/mbrlen (Depends-on): Likewise.
5976         * modules/mbrtowc (Depends-on): Likewise.
5977         * modules/mbsinit (Depends-on): Likewise.
5978         * modules/mbsrtowcs (Depends-on): Likewise.
5979         * modules/mbswidth (Depends-on): Likewise.
5980         * modules/quotearg (Depends-on): Likewise.
5981         * modules/strftime (Depends-on): Likewise.
5982
5983 2008-12-20  Bruno Haible  <bruno@clisp.org>
5984
5985         Ensure wctob is declared on IRIX 6.5.
5986         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
5987         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
5988         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
5989         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
5990         of HAVE_WCTOB.
5991         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
5992         HAVE_WCTOB.
5993         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
5994
5995 2008-12-19  Bruno Haible  <bruno@clisp.org>
5996
5997         * modules/mbsrtowcs-tests: New file.
5998         * tests/test-mbsrtowcs1.sh: New file.
5999         * tests/test-mbsrtowcs2.sh: New file.
6000         * tests/test-mbsrtowcs3.sh: New file.
6001         * tests/test-mbsrtowcs4.sh: New file.
6002         * tests/test-mbsrtowcs.c: New file.
6003
6004         New module 'mbsrtowcs'.
6005         * lib/wchar.in.h (mbsrtowcs): New declaration.
6006         * lib/mbsrtowcs.c: New file.
6007         * m4/mbsrtowcs.m4: New file.
6008         * modules/mbsrtowcs: New file.
6009         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
6010         HAVE_MBSRTOWCS.
6011         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
6012         HAVE_MBSRTOWCS.
6013         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
6014
6015 2008-12-19  Bruno Haible  <bruno@clisp.org>
6016
6017         New module 'mbrlen'.
6018         * lib/wchar.in.h (mbrlen): New declaration.
6019         * lib/mbrlen.c: New file.
6020         * m4/mbrlen.m4: New file.
6021         * modules/mbrlen: New file.
6022         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
6023         HAVE_MBRLEN.
6024         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
6025         HAVE_MBRLEN.
6026         * doc/posix-functions/mbrlen.texi: Document the new module.
6027
6028 2008-12-19  Bruno Haible  <bruno@clisp.org>
6029
6030         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
6031         * modules/mbrtowc (Depends-on): Add verify.
6032         Suggested by Paul Eggert.
6033
6034 2008-12-18  Bruno Haible  <bruno@clisp.org>
6035
6036         * modules/mbsinit-tests: New file.
6037         * tests/test-mbsinit.sh: New file.
6038         * tests/test-mbsinit.c: New file.
6039
6040 2008-12-18  Bruno Haible  <bruno@clisp.org>
6041
6042         * modules/mbrtowc-tests: New file.
6043         * tests/test-mbrtowc1.sh: New file.
6044         * tests/test-mbrtowc2.sh: New file.
6045         * tests/test-mbrtowc3.sh: New file.
6046         * tests/test-mbrtowc4.sh: New file.
6047         * tests/test-mbrtowc.c: New file.
6048
6049         New module 'mbrtowc'.
6050         * lib/wchar.in.h (mbstate_t): Override when the system does not have
6051         mbsinit and mbrtowc.
6052         (mbrtowc): New declaration.
6053         * lib/mbrtowc.c: New file.
6054         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
6055         * modules/mbrtowc: New file.
6056         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
6057         HAVE_MBRTOWC.
6058         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
6059         HAVE_MBRTOWC.
6060         * doc/posix-functions/mbrtowc.texi: Document the new module.
6061
6062 2008-12-18  Bruno Haible  <bruno@clisp.org>
6063
6064         New module 'wctob'.
6065         * lib/wchar.in.h (wctob): New declaration.
6066         * lib/wctob.c: New file.
6067         * m4/wctob.m4: New file.
6068         * modules/wctob: New file.
6069         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
6070         HAVE_WCTOB.
6071         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
6072         * doc/posix-functions/wctob.texi: Document the new module.
6073
6074 2008-12-18  Bruno Haible  <bruno@clisp.org>
6075
6076         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
6077         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
6078
6079 2008-12-18  Simon Josefsson  <simon@josefsson.org>
6080
6081         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
6082         G. Christensen" <tgc@jupiterrise.com>.
6083
6084         * lib/flock.c: Need to include errno.h.  Reported by "Tom
6085         G. Christensen" <tgc@jupiterrise.com>.
6086
6087         * lib/flock.c: Need to include string.h.  Reported by "Tom
6088         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
6089         <ebb9@byu.net>.
6090
6091 2008-12-18  Bruno Haible  <bruno@clisp.org>
6092
6093         * m4/locale-ja.m4: New file, from GNU gettext.
6094
6095 2008-12-17  Bruno Haible  <bruno@clisp.org>
6096
6097         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
6098         Suggested by Eric Blake.
6099
6100 2008-12-17  Bruno Haible  <bruno@clisp.org>
6101
6102         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
6103
6104 2008-12-17  Bruno Haible  <bruno@clisp.org>
6105
6106         * lib/mbsinit.c: Include verify.h. Verify an assumption.
6107         * modules/mbsinit (Depends-on): Add verify.
6108         Suggested by Paul Eggert.
6109
6110 2008-12-17  Bruno Haible  <bruno@clisp.org>
6111
6112         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
6113         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
6114         gl_FUNC_MBRTOWC.
6115         * m4/mbiter.m4 (gl_MBITER): LIkewise.
6116         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
6117         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
6118         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
6119         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
6120         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
6121         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
6122         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
6123         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
6124         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
6125         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
6126         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
6127         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
6128         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
6129         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
6130         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
6131         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
6132         * modules/trim (configure.ac): Likewise.
6133
6134 2008-12-17  Bruno Haible  <bruno@clisp.org>
6135
6136         * modules/btowc-tests: New file.
6137         * tests/test-btowc1.sh: New file.
6138         * tests/test-btowc2.sh: New file.
6139         * tests/test-btowc.c: New file.
6140
6141         New module 'btowc'.
6142         * lib/wchar.in.h (btowc): New declaration.
6143         * lib/btowc.c: New file.
6144         * m4/btowc.m4: New file.
6145         * modules/btowc: New file.
6146         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
6147         HAVE_BTOWC.
6148         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
6149         * doc/posix-functions/btowc.texi: Document the new module.
6150
6151 2008-12-17  Bruno Haible  <bruno@clisp.org>
6152
6153         New module 'mbsinit'.
6154         * lib/wchar.in.h (mbsinit): New declaration.
6155         * lib/mbsinit.c: New file.
6156         * m4/mbsinit.m4: New file.
6157         * modules/mbsinit: New file.
6158         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
6159         HAVE_MBSINIT.
6160         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
6161         HAVE_MBSINIT.
6162         * doc/posix-functions/mbsinit.texi: Document the new module.
6163
6164 2008-12-16  Bruno Haible  <bruno@clisp.org>
6165
6166         * lib/unistd.in.h: Add comment.
6167         * tests/test-environ.c: Don't include <stdlib.h>.
6168
6169 2008-12-16  Bruno Haible  <bruno@clisp.org>
6170
6171         * lib/parse-duration.h (parse_duration): Document return value
6172         convention.
6173         * lib/parse-duration.c: Include specification header first. Add
6174         comments.
6175         (_): Remove macro.
6176         (parse_year_month_day, parse_hour_minute_second): Move side effects
6177         outside of strchr call.
6178         (parse_non_iso8601): Move side effects outside of isspace call.
6179         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
6180         call.
6181
6182 2008-12-16  Bruno Haible  <bruno@clisp.org>
6183
6184         * tests/test-parse-duration.sh: Produce no output when the test
6185         succeeds.
6186
6187 2008-12-16  Bruno Haible  <bruno@clisp.org>
6188
6189         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
6190         expressions.
6191
6192 2008-12-15  Bruno Haible  <bruno@clisp.org>
6193
6194         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
6195         * doc/glibc-functions/flistxattr.texi: Likewise.
6196         * doc/glibc-functions/fopencookie.texi: Likewise.
6197         * doc/glibc-functions/fremovexattr.texi: Likewise.
6198         * doc/glibc-functions/fsetxattr.texi: Likewise.
6199         * doc/glibc-functions/getxattr.texi: Likewise.
6200         * doc/glibc-functions/lgetxattr.texi: Likewise.
6201         * doc/glibc-functions/listxattr.texi: Likewise.
6202         * doc/glibc-functions/llistxattr.texi: Likewise.
6203         * doc/glibc-functions/lremovexattr.texi: Likewise.
6204         * doc/glibc-functions/lsetxattr.texi: Likewise.
6205         * doc/glibc-functions/removexattr.texi: Likewise.
6206         * doc/glibc-functions/setxattr.texi: Likewise.
6207         * doc/posix-functions/open_memstream.texi: Likewise.
6208
6209 2008-12-15  Eric Blake  <ebb9@byu.net>
6210
6211         Update doc for cygwin 1.7.
6212         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
6213         functions.
6214         * doc/posix-functions/fchmodat.texi: Likewise.
6215         * doc/posix-functions/fchownat.texi: Likewise.
6216         * doc/posix-functions/fdopendir.texi: Likewise.
6217         * doc/posix-functions/fmemopen.texi: Likewise.
6218         * doc/posix-functions/freeaddrinfo.texi: Likewise.
6219         * doc/posix-functions/fstatat.texi: Likewise.
6220         * doc/posix-functions/futimens.texi: Likewise.
6221         * doc/posix-functions/gai_strerror.texi: Likewise.
6222         * doc/posix-functions/getaddrinfo.texi: Likewise.
6223         * doc/posix-functions/getnameinfo.texi: Likewise.
6224         * doc/posix-functions/if_freenameindex.texi: Likewise.
6225         * doc/posix-functions/if_indextoname.texi: Likewise.
6226         * doc/posix-functions/if_nameindex.texi: Likewise.
6227         * doc/posix-functions/if_nametoindex.texi: Likewise.
6228         * doc/posix-functions/insque.texi: Likewise.
6229         * doc/posix-functions/linkat.texi: Likewise.
6230         * doc/posix-functions/llrint.texi: Likewise.
6231         * doc/posix-functions/llrintf.texi: Likewise.
6232         * doc/posix-functions/llrintl.texi: Likewise.
6233         * doc/posix-functions/lockf.texi: Likewise.
6234         * doc/posix-functions/lrintl.texi: Likewise.
6235         * doc/posix-functions/mkdirat.texi: Likewise.
6236         * doc/posix-functions/mkfifoat.texi: Likewise.
6237         * doc/posix-functions/mknodat.texi: Likewise.
6238         * doc/posix-functions/mq_close.texi: Likewise.
6239         * doc/posix-functions/mq_getattr.texi: Likewise.
6240         * doc/posix-functions/mq_notify.texi: Likewise.
6241         * doc/posix-functions/mq_open.texi: Likewise.
6242         * doc/posix-functions/mq_receive.texi: Likewise.
6243         * doc/posix-functions/mq_send.texi: Likewise.
6244         * doc/posix-functions/mq_setattr.texi: Likewise.
6245         * doc/posix-functions/mq_timedreceive.texi: Likewise.
6246         * doc/posix-functions/mq_timedsend.texi: Likewise.
6247         * doc/posix-functions/mq_unlink.texi: Likewise.
6248         * doc/posix-functions/open_memstream.texi: Likewise.
6249         * doc/posix-functions/openat.texi: Likewise.
6250         * doc/posix-functions/posix_fadvise.texi: Likewise.
6251         * doc/posix-functions/posix_fallocate.texi: Likewise.
6252         * doc/posix-functions/posix_madvise.texi: Likewise.
6253         * doc/posix-functions/posix_memalign.texi: Likewise.
6254         * doc/posix-functions/posix_openpt.texi: Likewise.
6255         * doc/posix-functions/readlinkat.texi: Likewise.
6256         * doc/posix-functions/remque.texi: Likewise.
6257         * doc/posix-functions/renameat.texi: Likewise.
6258         * doc/posix-functions/rintl.texi: Likewise.
6259         * doc/posix-functions/sem_unlink.texi: Likewise.
6260         * doc/posix-functions/shm_open.texi: Likewise.
6261         * doc/posix-functions/shm_unlink.texi: Likewise.
6262         * doc/posix-functions/signgam.texi: Likewise.
6263         * doc/posix-functions/sigset.texi: Likewise.
6264         * doc/posix-functions/stpcpy.texi: Likewise.
6265         * doc/posix-functions/stpncpy.texi: Likewise.
6266         * doc/posix-functions/strerror.texi: Likewise.
6267         * doc/posix-functions/strtod.texi: Likewise.
6268         * doc/posix-functions/symlinkat.texi: Likewise.
6269         * doc/posix-functions/unlinkat.texi: Likewise.
6270         * doc/posix-functions/utimensat.texi: Likewise.
6271         * doc/glibc-functions/bindresvport.texi: Likewise.
6272         * doc/glibc-functions/dn_expand.texi: Likewise.
6273         * doc/glibc-functions/exp10.texi: Likewise.
6274         * doc/glibc-functions/exp10f.texi: Likewise.
6275         * doc/glibc-functions/fgetxattr.texi: Likewise.
6276         * doc/glibc-functions/flistxattr.texi: Likewise.
6277         * doc/glibc-functions/fopencookie.texi: Likewise.
6278         * doc/glibc-functions/freeifaddrs.texi: Likewise.
6279         * doc/glibc-functions/fremovexattr.texi: Likewise.
6280         * doc/glibc-functions/fsetxattr.texi: Likewise.
6281         * doc/glibc-functions/getifaddrs.texi: Likewise.
6282         * doc/glibc-functions/getxattr.texi: Likewise.
6283         * doc/glibc-functions/lgetxattr.texi: Likewise.
6284         * doc/glibc-functions/listxattr.texi: Likewise.
6285         * doc/glibc-functions/llistxattr.texi: Likewise.
6286         * doc/glibc-functions/lremovexattr.texi: Likewise.
6287         * doc/glibc-functions/lsetxattr.texi: Likewise.
6288         * doc/glibc-functions/pow10.texi: Likewise.
6289         * doc/glibc-functions/pow10f.texi: Likewise.
6290         * doc/glibc-functions/rcmd_af.texi: Likewise.
6291         * doc/glibc-functions/removexattr.texi: Likewise.
6292         * doc/glibc-functions/res_init.texi: Likewise.
6293         * doc/glibc-functions/res_mkquery.texi: Likewise.
6294         * doc/glibc-functions/res_query.texi: Likewise.
6295         * doc/glibc-functions/res_querydomain.texi: Likewise.
6296         * doc/glibc-functions/res_send.texi: Likewise.
6297         * doc/glibc-functions/rresvport_af.texi: Likewise.
6298         * doc/glibc-functions/setxattr.texi: Likewise.
6299         * doc/glibc-functions/strcasestr.texi: Likewise.
6300
6301 2008-12-15  Bruno Haible  <bruno@clisp.org>
6302
6303         Fix compilation error on OSF/1 4.0.
6304         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
6305         <sys/time.h>, simply delegate to the system header.
6306         Reported by Daniel Richard G. <oss@teragram.com>.
6307
6308 2008-12-15  Bruno Haible  <bruno@clisp.org>
6309
6310         * doc/posix-functions/openat.texi: Mention the 'openat' module.
6311         * doc/posix-functions/fchmodat.texi: Likewise.
6312         * doc/posix-functions/fchownat.texi: Likewise.
6313         * doc/posix-functions/fdopendir.texi: Likewise.
6314         * doc/posix-functions/fstatat.texi: Likewise.
6315         * doc/posix-functions/mkdirat.texi: Likewise.
6316         * doc/posix-functions/unlinkat.texi: Likewise.
6317
6318 2008-12-14  Bruno Haible  <bruno@clisp.org>
6319
6320         Update doc for POSIX:2008.
6321         * doc/posix-functions/faccessat.texi: New file.
6322         * doc/posix-functions/fchmodat.texi: New file.
6323         * doc/posix-functions/fchownat.texi: New file.
6324         * doc/posix-functions/fdopendir.texi: New file.
6325         * doc/posix-functions/fstatat.texi: New file.
6326         * doc/posix-functions/futimens.texi: New file.
6327         * doc/posix-functions/linkat.texi: New file.
6328         * doc/posix-functions/mkdirat.texi: New file.
6329         * doc/posix-functions/mkfifoat.texi: New file.
6330         * doc/posix-functions/mknodat.texi: New file.
6331         * doc/posix-functions/open_wmemstream.texi: New file.
6332         * doc/posix-functions/openat.texi: New file.
6333         * doc/posix-functions/psiginfo.texi: New file.
6334         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
6335         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
6336         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
6337         * doc/posix-functions/readlinkat.texi: New file.
6338         * doc/posix-functions/renameat.texi: New file.
6339         * doc/posix-functions/strerror_l.texi: New file.
6340         * doc/posix-functions/symlinkat.texi: New file.
6341         * doc/posix-functions/unlinkat.texi: New file.
6342         * doc/posix-functions/utimensat.texi: New file.
6343         * doc/gnulib.texi (Function Substitutes): Add these subsections.
6344
6345 2008-12-14  Bruno Haible  <bruno@clisp.org>
6346
6347         Update doc for POSIX:2008.
6348         * doc/posix-functions/alphasort.texi: Renamed from
6349         doc/glibc-functions/alphasort.texi.
6350         * doc/posix-functions/dirfd.texi: Renamed from
6351         doc/glibc-functions/dirfd.texi.
6352         * doc/posix-functions/dprintf.texi: Renamed from
6353         doc/glibc-functions/dprintf.texi.
6354         * doc/posix-functions/duplocale.texi: Renamed from
6355         doc/glibc-functions/duplocale.texi.
6356         * doc/posix-functions/fexecve.texi: Renamed from
6357         doc/glibc-functions/fexecve.texi.
6358         * doc/posix-functions/fmemopen.texi: Renamed from
6359         doc/glibc-functions/fmemopen.texi.
6360         * doc/posix-functions/freelocale.texi: Renamed from
6361         doc/glibc-functions/freelocale.texi.
6362         * doc/posix-functions/getdate_err.texi: Renamed from
6363         doc/glibc-functions/getdate_err.texi.
6364         * doc/posix-functions/isalnum_l.texi: Renamed from
6365         doc/glibc-functions/isalnum_l.texi.
6366         * doc/posix-functions/isalpha_l.texi: Renamed from
6367         doc/glibc-functions/isalpha_l.texi.
6368         * doc/posix-functions/isblank_l.texi: Renamed from
6369         doc/glibc-functions/isblank_l.texi.
6370         * doc/posix-functions/iscntrl_l.texi: Renamed from
6371         doc/glibc-functions/iscntrl_l.texi.
6372         * doc/posix-functions/isdigit_l.texi: Renamed from
6373         doc/glibc-functions/isdigit_l.texi.
6374         * doc/posix-functions/isgraph_l.texi: Renamed from
6375         doc/glibc-functions/isgraph_l.texi.
6376         * doc/posix-functions/islower_l.texi: Renamed from
6377         doc/glibc-functions/islower_l.texi.
6378         * doc/posix-functions/isprint_l.texi: Renamed from
6379         doc/glibc-functions/isprint_l.texi.
6380         * doc/posix-functions/ispunct_l.texi: Renamed from
6381         doc/glibc-functions/ispunct_l.texi.
6382         * doc/posix-functions/isspace_l.texi: Renamed from
6383         doc/glibc-functions/isspace_l.texi.
6384         * doc/posix-functions/isupper_l.texi: Renamed from
6385         doc/glibc-functions/isupper_l.texi.
6386         * doc/posix-functions/iswalnum_l.texi: Renamed from
6387         doc/glibc-functions/iswalnum_l.texi.
6388         * doc/posix-functions/iswalpha_l.texi: Renamed from
6389         doc/glibc-functions/iswalpha_l.texi.
6390         * doc/posix-functions/iswblank_l.texi: Renamed from
6391         doc/glibc-functions/iswblank_l.texi.
6392         * doc/posix-functions/iswcntrl_l.texi: Renamed from
6393         doc/glibc-functions/iswcntrl_l.texi.
6394         * doc/posix-functions/iswctype_l.texi: Renamed from
6395         doc/glibc-functions/iswctype_l.texi.
6396         * doc/posix-functions/iswdigit_l.texi: Renamed from
6397         doc/glibc-functions/iswdigit_l.texi.
6398         * doc/posix-functions/iswgraph_l.texi: Renamed from
6399         doc/glibc-functions/iswgraph_l.texi.
6400         * doc/posix-functions/iswlower_l.texi: Renamed from
6401         doc/glibc-functions/iswlower_l.texi.
6402         * doc/posix-functions/iswprint_l.texi: Renamed from
6403         doc/glibc-functions/iswprint_l.texi.
6404         * doc/posix-functions/iswpunct_l.texi: Renamed from
6405         doc/glibc-functions/iswpunct_l.texi.
6406         * doc/posix-functions/iswspace_l.texi: Renamed from
6407         doc/glibc-functions/iswspace_l.texi.
6408         * doc/posix-functions/iswupper_l.texi: Renamed from
6409         doc/glibc-functions/iswupper_l.texi.
6410         * doc/posix-functions/iswxdigit_l.texi: Renamed from
6411         doc/glibc-functions/iswxdigit_l.texi.
6412         * doc/posix-functions/isxdigit_l.texi: Renamed from
6413         doc/glibc-functions/isxdigit_l.texi.
6414         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
6415         doc/glibc-functions/mbsnrtowcs.texi.
6416         * doc/posix-functions/mkdtemp.texi: Renamed from
6417         doc/glibc-functions/mkdtemp.texi.
6418         * doc/posix-functions/newlocale.texi: Renamed from
6419         doc/glibc-functions/newlocale.texi.
6420         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
6421         doc/glibc-functions/nl_langinfo_l.texi.
6422         * doc/posix-functions/open_memstream.texi: Renamed from
6423         doc/glibc-functions/open_memstream.texi.
6424         * doc/posix-functions/opterr.texi: Renamed from
6425         doc/glibc-functions/opterr.texi.
6426         * doc/posix-functions/optind.texi: Renamed from
6427         doc/glibc-functions/optind.texi.
6428         * doc/posix-functions/optopt.texi: Renamed from
6429         doc/glibc-functions/optopt.texi.
6430         * doc/posix-functions/psignal.texi: Renamed from
6431         doc/glibc-functions/psignal.texi.
6432         * doc/posix-functions/scandir.texi: Renamed from
6433         doc/glibc-functions/scandir.texi.
6434         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
6435         doc/glibc-functions/sched_get_priority_min.texi.
6436         * doc/posix-functions/signgam.texi: Renamed from
6437         doc/glibc-functions/signgam.texi.
6438         * doc/posix-functions/stpcpy.texi: Renamed from
6439         doc/glibc-functions/stpcpy.texi.
6440         * doc/posix-functions/stpncpy.texi: Renamed from
6441         doc/glibc-functions/stpncpy.texi.
6442         * doc/posix-functions/strcasecmp_l.texi: Renamed from
6443         doc/glibc-functions/strcasecmp_l.texi.
6444         * doc/posix-functions/strcoll_l.texi: Renamed from
6445         doc/glibc-functions/strcoll_l.texi.
6446         * doc/posix-functions/strfmon_l.texi: Renamed from
6447         doc/glibc-functions/strfmon_l.texi.
6448         * doc/posix-functions/strftime_l.texi: Renamed from
6449         doc/glibc-functions/strftime_l.texi.
6450         * doc/posix-functions/strncasecmp_l.texi: Renamed from
6451         doc/glibc-functions/strncasecmp_l.texi.
6452         * doc/posix-functions/strndup.texi: Renamed from
6453         doc/glibc-functions/strndup.texi.
6454         * doc/posix-functions/strnlen.texi: Renamed from
6455         doc/glibc-functions/strnlen.texi.
6456         * doc/posix-functions/strsignal.texi: Renamed from
6457         doc/glibc-functions/strsignal.texi.
6458         * doc/posix-functions/strxfrm_l.texi: Renamed from
6459         doc/glibc-functions/strxfrm_l.texi.
6460         * doc/posix-functions/timer_gettime.texi: Renamed from
6461         doc/glibc-functions/timer_gettime.texi.
6462         * doc/posix-functions/tolower_l.texi: Renamed from
6463         doc/glibc-functions/tolower_l.texi.
6464         * doc/posix-functions/toupper_l.texi: Renamed from
6465         doc/glibc-functions/toupper_l.texi.
6466         * doc/posix-functions/towctrans_l.texi: Renamed from
6467         doc/glibc-functions/towctrans_l.texi.
6468         * doc/posix-functions/towlower_l.texi: Renamed from
6469         doc/glibc-functions/towlower_l.texi.
6470         * doc/posix-functions/towupper_l.texi: Renamed from
6471         doc/glibc-functions/towupper_l.texi.
6472         * doc/posix-functions/uselocale.texi: Renamed from
6473         doc/glibc-functions/uselocale.texi.
6474         * doc/posix-functions/vdprintf.texi: Renamed from
6475         doc/glibc-functions/vdprintf.texi.
6476         * doc/posix-functions/wcpcpy.texi:
6477         Renamed from doc/glibc-functions/wcpcpy.texi.
6478         * doc/posix-functions/wcpncpy.texi: Renamed from
6479         doc/glibc-functions/wcpncpy.texi.
6480         * doc/posix-functions/wcscasecmp.texi: Renamed from
6481         doc/glibc-functions/wcscasecmp.texi.
6482         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
6483         doc/glibc-functions/wcscasecmp_l.texi.
6484         * doc/posix-functions/wcscoll_l.texi: Renamed from
6485         doc/glibc-functions/wcscoll_l.texi.
6486         * doc/posix-functions/wcsdup.texi: Renamed from
6487         doc/glibc-functions/wcsdup.texi.
6488         * doc/posix-functions/wcsncasecmp.texi: Renamed from
6489         doc/glibc-functions/wcsncasecmp.texi.
6490         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
6491         doc/glibc-functions/wcsncasecmp_l.texi.
6492         * doc/posix-functions/wcsnlen.texi: Renamed from
6493         doc/glibc-functions/wcsnlen.texi.
6494         * doc/posix-functions/wcsnrtombs.texi: Renamed from
6495         doc/glibc-functions/wcsnrtombs.texi.
6496         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
6497         doc/glibc-functions/wcsxfrm_l.texi.
6498         * doc/posix-functions/wctrans_l.texi: Renamed from
6499         doc/glibc-functions/wctrans_l.texi.
6500         * doc/posix-functions/wctype_l.texi: Renamed from
6501         doc/glibc-functions/wctype_l.texi.
6502         * doc/gnulib.texi (Function Substitutes): Add these subsections.
6503         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
6504         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
6505         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
6506         these subsections.
6507         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
6508         Remove sections.
6509
6510 2008-12-14  Bruno Haible  <bruno@clisp.org>
6511
6512         Update doc for POSIX:2008.
6513         * doc/posix-functions/*.texi: Update URL of POSIX specification.
6514
6515 2008-12-14  Bruno Haible  <bruno@clisp.org>
6516
6517         Update doc for POSIX:2008.
6518         * doc/pastposix-functions/bcmp.texi: Renamed from
6519         doc/posix-functions/bcmp.texi.
6520         * doc/pastposix-functions/bcopy.texi: Renamed from
6521         doc/posix-functions/bcopy.texi.
6522         * doc/pastposix-functions/bsd_signal.texi: Renamed from
6523         doc/posix-functions/bsd_signal.texi.
6524         * doc/pastposix-functions/bzero.texi: Renamed from
6525         doc/posix-functions/bzero.texi.
6526         * doc/pastposix-functions/ecvt.texi: Renamed from
6527         doc/posix-functions/ecvt.texi.
6528         * doc/pastposix-functions/fcvt.texi: Renamed from
6529         doc/posix-functions/fcvt.texi.
6530         * doc/pastposix-functions/ftime.texi: Renamed from
6531         doc/posix-functions/ftime.texi.
6532         * doc/pastposix-functions/gcvt.texi: Renamed from
6533         doc/posix-functions/gcvt.texi.
6534         * doc/pastposix-functions/getcontext.texi: Renamed from
6535         doc/posix-functions/getcontext.texi.
6536         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
6537         doc/posix-functions/gethostbyaddr.texi.
6538         * doc/pastposix-functions/gethostbyname.texi: Renamed from
6539         doc/posix-functions/gethostbyname.texi.
6540         * doc/pastposix-functions/getwd.texi: Renamed from
6541         doc/posix-functions/getwd.texi.
6542         * doc/pastposix-functions/h_errno.texi: Renamed from
6543         doc/posix-functions/h_errno.texi.
6544         * doc/pastposix-functions/index.texi: Renamed from
6545         doc/posix-functions/index.texi.
6546         * doc/pastposix-functions/makecontext.texi: Renamed from
6547         doc/posix-functions/makecontext.texi.
6548         * doc/pastposix-functions/mktemp.texi: Renamed from
6549         doc/posix-functions/mktemp.texi.
6550         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
6551         doc/posix-functions/pthread_attr_getstackaddr.texi.
6552         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
6553         doc/posix-functions/pthread_attr_setstackaddr.texi.
6554         * doc/pastposix-functions/rindex.texi: Renamed from
6555         doc/posix-functions/rindex.texi.
6556         * doc/pastposix-functions/scalb.texi: Renamed from
6557         doc/posix-functions/scalb.texi.
6558         * doc/pastposix-functions/setcontext.texi: Renamed from
6559         doc/posix-functions/setcontext.texi.
6560         * doc/pastposix-functions/swapcontext.texi: Renamed from
6561         doc/posix-functions/swapcontext.texi.
6562         * doc/pastposix-functions/ualarm.texi: Renamed from
6563         doc/posix-functions/ualarm.texi.
6564         * doc/pastposix-functions/usleep.texi: Renamed from
6565         doc/posix-functions/usleep.texi.
6566         * doc/pastposix-functions/vfork.texi: Renamed from
6567         doc/posix-functions/vfork.texi.
6568         * doc/pastposix-functions/wcswcs.texi: Renamed from
6569         doc/posix-functions/wcswcs.texi.
6570         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
6571         (Function Substitutes): Update.
6572
6573 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6574
6575         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
6576         m4/strerror.m4.
6577
6578 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6579             Bruno Haible  <bruno@clisp.org>
6580
6581         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
6582
6583 2008-12-13  Bruno Haible  <bruno@clisp.org>
6584
6585         * modules/strtoull (Depends-on): Remove unistd.
6586
6587 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6588
6589         * modules/strtoull (Depends-on): Add stdlib.
6590
6591 2008-12-11  Simon Josefsson  <simon@josefsson.org>
6592
6593         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
6594
6595 2008-12-10  Jim Meyering  <meyering@redhat.com>
6596
6597         gl_ASSERT: don't say assertions are disabled when they're not
6598         * m4/assert.m4 (gl_ASSERT): Do not make configure report
6599         "checking whether to enable assertions... no", when they are in
6600         fact enabled.  This is solely a bug in the output of configure.
6601         In spite of saying "no", NDEBUG was not defined in that case.
6602         Also, as noted by Eric Blake, leave assertions enabled upon
6603         --enable-assert=INVALID.
6604
6605 2008-12-10  Bruno Haible  <bruno@clisp.org>
6606
6607         Change MODULES.html to refer to POSIX:2008 where possible.
6608         * MODULES.html.sh (POSIX2008_URL): New variable.
6609         (posix_headers): Remove sys/timeb, ucontext.
6610         (posix2001_headers): New variable.
6611         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
6612         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
6613         index, makecontext, mktemp, pthread_attr_getstackaddr,
6614         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
6615         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
6616         (posix2001_functions): New variable.
6617         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
6618         otherwise.
6619
6620 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6621
6622         add missing include to parse-duration.c
6623         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
6624         * modules/parse-duration (Depends-on): Add xalloc.
6625
6626         fix sed script reading maint.mk
6627         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
6628         (syntax-check-rules): Use it.
6629
6630 2008-12-09  Bruno Haible  <bruno@clisp.org>
6631
6632         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
6633         MacOS X 10.4/PowerPC.
6634         Reported by Simon Josefsson.
6635
6636 2008-12-08  Jim Meyering  <meyering@redhat.com>
6637
6638         work around mingw's lack of some S_IF definitions
6639         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
6640         Reported by Simon Josefsson.
6641
6642 2008-12-08  Bruno Haible  <bruno@clisp.org>
6643
6644         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
6645         applied to variables. Needed on MacOS X 10.4/PowerPC.
6646         Reported by Simon Josefsson.
6647
6648 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
6649         and Eric Blake  <ebb9@byu.net>
6650
6651         assert: honor --enable-assert
6652         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
6653         order to honor --enable-assert, rather than treating it as a
6654         synonym for --disable-assert.
6655
6656 2008-12-08  Jim Meyering  <meyering@redhat.com>
6657
6658         * lib/posixtm.c: Remove now-useless declaration of mktime.
6659
6660         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
6661
6662 2008-12-07  Bruno Haible  <bruno@clisp.org>
6663
6664         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
6665         test_once): Mark functions as static.
6666         * tests/test-tls.c (test_tls): Likewise.
6667
6668 2008-12-07  Bruno Haible  <bruno@clisp.org>
6669
6670         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
6671         iconv_register_autodetect.
6672
6673 2008-12-07  Jim Meyering  <meyering@redhat.com>
6674
6675         posixtm.c: avoid a warning
6676         * lib/posixtm.c (posixtime): Don't initialize tm0.
6677         It's no longer needed to placate gcc4's -Wuninitialized,
6678         and the attempt to placate would elicit a new warning.
6679
6680         unicodeio.c: mark unused parameters
6681         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
6682         (fallback_failure_callback): Likewise.
6683
6684 2008-12-07  Bruno Haible  <bruno@clisp.org>
6685
6686         * gnulib-tool (func_create_testdir): When building the tests
6687         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
6688         Reported by Simon Josefsson.
6689
6690 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6691
6692         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
6693
6694 2008-12-06  Bruno Haible  <bruno@clisp.org>
6695
6696         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
6697         Suggested by Eric Blake.
6698
6699 2008-12-06  Bruno Haible  <bruno@clisp.org>
6700
6701         Fix a c-stack test failure on MacOS X.
6702         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
6703         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
6704         handler for SIGBUS as well.
6705         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
6706         install a signal handler for SIGBUS as well.
6707         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
6708
6709 2008-12-06  Bruno Haible  <bruno@clisp.org>
6710
6711         Advocacy documentation.
6712         * doc/gnulib-intro.texi (Benefits): New section.
6713         * doc/gnulib.texi: Update.
6714
6715 2008-12-06  Bruno Haible  <bruno@clisp.org>
6716
6717         Document the 'manywarnings' module.
6718         * doc/manywarnings.texi: New file.
6719         * doc/gnulib.texi: Include it.
6720
6721 2008-12-05  Eric Blake  <ebb9@byu.net>
6722
6723         tests: silence some gcc warnings
6724         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
6725         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
6726         type mismatches.
6727
6728 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6729             Bruno Haible  <bruno@clisp.org>
6730
6731         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
6732
6733 2008-11-29  Jim Meyering  <meyering@redhat.com>
6734
6735         unicodeio.c: mark unused parameters
6736         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
6737         (fallback_failure_callback): Likewise.
6738
6739         fts: fix a thinko
6740         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
6741         (set_stat_type): Return S_IF*-valued "type" directly.
6742         Prompted by James Youngman's spotting a related bug.
6743         Confirmed by further testing through find.
6744
6745         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
6746         * lib/fts.c (D_TYPE): Define.
6747         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
6748         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
6749         (s_ifmt_shift_bits): New function.
6750         (set_stat_type): New function.
6751         (fts_build): When not calling fts_stat, call set_stat_type
6752         to propagate dirent.d_type info to fts_read caller.
6753         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
6754         fts_statp->st_mode type information may be valid.
6755
6756 2008-11-28  Simon Josefsson  <simon@josefsson.org>
6757
6758         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
6759         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
6760         <sds@gnu.org>.
6761
6762 2008-11-20  Bruno Haible  <bruno@clisp.org>
6763
6764         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
6765         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
6766         INCLUDE_NEXT.
6767         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
6768         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
6769         * modules/math (Makefile.am): Substitute
6770         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
6771         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6772
6773 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
6774             Bruno Haible  <bruno@clisp.org>
6775
6776         * lib/stdint.in.h: Define all type macros so that their expansion is
6777         a single typedef'ed token. Fixes a compilation failure in Boost which
6778         does "using ::int8_t;".
6779
6780 2008-11-18  Simon Josefsson  <simon@josefsson.org>
6781
6782         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
6783         gl_MANYWARN_ALL_GCC.
6784         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
6785         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
6786         * modules/manywarnings: New file.
6787         * MODULES.html.sh: Mention manywarnings module.
6788
6789 2008-11-18  Bruno Haible  <bruno@clisp.org>
6790
6791         * doc/gnulib-tool.texi (Unit tests): New section.
6792
6793 2008-11-18  Simon Josefsson  <simon@josefsson.org>
6794
6795         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
6796         paths like 'lib/po/foo.po'.
6797
6798 2008-11-17  Simon Josefsson  <simon@josefsson.org>
6799
6800         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
6801         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
6802
6803 2008-11-17  Simon Josefsson  <simon@josefsson.org>
6804
6805         * m4/warnings.m4: Use CPPFLAGS to really check whether the
6806         parameter works.
6807
6808 2008-11-17  Simon Josefsson  <simon@josefsson.org>
6809
6810         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
6811
6812 2008-11-17  Bruce Korb  <bkorb@gnu.org>
6813
6814         * modules/parse-duration-tests: New file.
6815         * tests/test-parse-duration.sh: New file.
6816         * tests/test-parse-duration.c: New file.
6817
6818         New module 'parse-duration'.
6819         * lib/parse-duration.h: New file.
6820         * lib/parse-duration.c: New file.
6821         * modules/parse-duration: New file.
6822
6823 2008-11-17  Bruno Haible  <bruno@clisp.org>
6824
6825         * tests/test-select-out.sh: Comment out the first pipe test.
6826         Reported by Simon Josefsson.
6827
6828 2008-11-17  Bruno Haible  <bruno@clisp.org>
6829
6830         * modules/getaddrinfo (Depends-on): Add servent, hostent.
6831         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
6832         gl_HOSTENT.
6833
6834 2008-11-17  Bruno Haible  <bruno@clisp.org>
6835
6836         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
6837         -lnetwork and -lnet. Needed for Haiku and BeOS.
6838
6839 2008-11-16  Bruno Haible  <bruno@clisp.org>
6840
6841         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
6842
6843 2008-11-16  Bruno Haible  <bruno@clisp.org>
6844
6845         Avoid test failure on Haiku.
6846         * tests/test-fsync.c: Include <errno.h>.
6847         (main): Don't require that fsync (0) fails.
6848
6849 2008-11-15  Bruno Haible  <bruno@clisp.org>
6850
6851         New module 'hostent'.
6852         * modules/hostent: New file.
6853         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
6854
6855 2008-11-15  Bruno Haible  <bruno@clisp.org>
6856
6857         New module 'servent'.
6858         * modules/servent: New file.
6859         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
6860
6861 2008-11-15  Bruno Haible  <bruno@clisp.org>
6862
6863         Avoid generating same test program with two different rules.
6864         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
6865         test-frexp to test-frexp-nolibm.
6866         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
6867         test-frexpl to test-frexpl-nolibm.
6868
6869 2008-11-15  Bruno Haible  <bruno@clisp.org>
6870
6871         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
6872         $(FREXPL_LIBM).
6873
6874 2008-11-15  Bruno Haible  <bruno@clisp.org>
6875
6876         * lib/netdb.in.h: Activate the definitions also when the system's
6877         <netdb.h> has 'struct addrinfo'.
6878         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
6879         EAI_OVERFLOW or AI_NUMERICSERV.
6880         * doc/posix-headers/netdb.texi: Document the problem.
6881
6882 2008-11-15  Bruno Haible  <bruno@clisp.org>
6883
6884         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
6885
6886         Make the 'sched' module work on platforms where <sched.h> exists but
6887         is incomplete (such as Haiku).
6888         * lib/sched.in.h; Include the system's <sched.h> if it exists.
6889         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
6890         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
6891         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
6892         HAVE_STRUCT_SCHED_PARAM.
6893         * modules/sched (Depends-on): Add include_next.
6894         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
6895         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
6896         * doc/posix-headers/sched.texi: Document the issue.
6897
6898 2008-11-13  Jim Meyering  <meyering@redhat.com>
6899
6900         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
6901         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
6902         test would fail due to the difference in the Report bugs to ...
6903         line.  The expected address is empty, "<>", while the actual
6904         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
6905
6906 2008-11-12  Bruno Haible  <bruno@clisp.org>
6907
6908         lstat: don't compile lstat.c on systems lacking lstat
6909         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
6910         which don't have lstat; this is handled by lib/sys_stat.in.h already.
6911         Reported by Daniel P. Berrange via Jim Meyering.
6912
6913 2008-11-12  Jim Meyering  <meyering@redhat.com>
6914
6915         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
6916
6917 2008-11-12  Simon Josefsson  <simon@josefsson.org>
6918
6919         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
6920         instead.
6921
6922 2008-11-12  Bruno Haible  <bruno@clisp.org>
6923
6924         * lib/unicodeio.c: Include unistr.h.
6925         (utf8_wctomb): Remove function.
6926         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
6927
6928 2008-11-12  Simon Josefsson  <simon@josefsson.org>
6929
6930         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
6931         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
6932         <bruno@clisp.org>.
6933         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
6934
6935 2008-11-12  Simon Josefsson  <simon@josefsson.org>
6936
6937         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
6938         * doc/gnulib.texi: Add section for warnings.
6939
6940 2008-11-11  Bruno Haible  <bruno@clisp.org>
6941
6942         * lib/sockets.h: Add a comment.
6943
6944 2008-11-11  Karl Berry  <karl@gnu.org>
6945
6946         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
6947
6948 2008-11-11  Eric Blake  <ebb9@byu.net>
6949
6950         fdl.texi: avoid git symlinks
6951         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
6952
6953 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
6954
6955         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
6956
6957 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
6958
6959         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
6960         (gl_WARN_ADD): Substitute $2 if literal.
6961
6962 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
6963
6964         * m4/warning.m4: Remove.
6965
6966 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
6967
6968         * m4/warnings.m4: Almost complete rewrite. :-)
6969
6970 2008-11-10  Simon Josefsson  <simon@josefsson.org>
6971
6972         * modules/warnings: New module.
6973         * m4/warnings.m4: New file.
6974         * MODULES.html.sh: Mention warnings module.
6975         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
6976         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6977
6978 2008-11-10  Eric Blake  <ebb9@byu.net>
6979
6980         fdl.texi: make a symlink to the latest version
6981         * doc/standards.texi: Revert today's earlier change.
6982         * doc/fdl-1.2.texi: Rename from old fdl.texi...
6983         * doc/fdl.texi: ...and replace this with a symlink to the newer
6984         fdl-1.3.texi.
6985
6986 2008-11-10  Bruno Haible  <bruno@clisp.org>
6987
6988         * tests/test-select-fd.c (main): Accept the result file name as fourth
6989         argument.
6990         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
6991         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
6992
6993 2008-11-10  Bruno Haible  <bruno@clisp.org>
6994
6995         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
6996         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
6997         as autoconf-substituted macros.
6998         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
6999         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
7000         gl_NETDB_H_DEFAULTS. Set these variables.
7001         * modules/netdb (Makefile.am): Substitute these variables.
7002
7003 2008-11-10  Eric Blake  <ebb9@byu.net>
7004
7005         standards.texi: include correct file for FDL 1.3
7006         * doc/standards.texi (GNU Free Documentation License): Change
7007         include file to pull in FDL 1.3, not 1.2.
7008
7009         fdl.texi: revert accidental change to license
7010         * doc/fdl.texi: This is FDL 1.2, not 1.3.
7011
7012 2008-11-10  Bruno Haible  <bruno@clisp.org>
7013
7014         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
7015         cross-compiling guesses also when the native compile gives no result.
7016
7017 2008-11-10  Bruno Haible  <bruno@clisp.org>
7018
7019         * lib/spawni.c (__spawni): Force variable into the stack.
7020
7021 2008-11-10  Bruno Haible  <bruno@clisp.org>
7022
7023         Add support for Haiku.
7024         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
7025         glibc and BeOS, but also on Haiku.
7026         * lib/fpurge.c (fpurge): Likewise.
7027         * lib/freadable.c (freadable): Likewise.
7028         * lib/freadahead.c (freadahead): Likewise.
7029         * lib/freading.c (freading): Likewise.
7030         * lib/freadptr.c (freadptr): Likewise.
7031         * lib/freadseek.c (freadptrinc): Likewise.
7032         * lib/fseeko.c (rpl_fseeko): Likewise.
7033         * lib/fseterr.c (fseterr): Likewise.
7034         * lib/fwritable.c (fwritable): Likewise.
7035         * lib/fwriting.c (fwriting): Likewise.
7036         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
7037
7038 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
7039
7040         * lib/config.charset: Treat Haiku like BeOS.
7041
7042 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
7043
7044         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
7045         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
7046
7047 2008-11-08  Bruno Haible  <bruno@clisp.org>
7048
7049         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
7050         AC_CACHE_CHECK.
7051
7052 2008-11-08  Bruno Haible  <bruno@clisp.org>
7053
7054         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
7055
7056 2008-11-08  Bruno Haible  <bruno@clisp.org>
7057
7058         * tests/test-select-fd.c: New file.
7059         * tests/test-select-in.sh: New file.
7060         * tests/test-select-out.sh: New file.
7061         * tests/test-select-stdin.c: New file.
7062         * modules/select-tests (Files): Add the new files.
7063         (Depends-on): Add gettimeofday.
7064         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
7065         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
7066         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
7067
7068 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
7069             Bruno Haible  <bruno@clisp.org>
7070
7071         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
7072
7073 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
7074
7075         * build-aux/pmccabe2html: Added support for C++ source files.
7076
7077 2008-11-05  Ben Pfaff  <blp@gnu.org>
7078
7079         Fix lib/close.c build on Windows.
7080         * modules/close (Files): Add lib/w32sock.h.
7081
7082 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
7083
7084         Accept Bison's NEWS format.
7085         * build-aux/announce-gen (print_news_deltas): Tweak
7086         $re_prefix.
7087
7088 2008-11-04  Bruno Haible  <bruno@clisp.org>
7089
7090         * modules/random_r (Maintainer): Add glibc.
7091
7092 2008-11-04  Simon Josefsson  <simon@josefsson.org>
7093
7094         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
7095         by karl@freefriends.org (Karl Berry).
7096         * doc/alloca.texi: Likewise.
7097         * doc/c-ctype.texi: Likewise.
7098         * doc/c-strcase.texi: Likewise.
7099         * doc/c-strcaseeq.texi: Likewise.
7100         * doc/c-strcasestr.texi: Likewise.
7101         * doc/c-strstr.texi: Likewise.
7102         * doc/c-strtod.texi: Likewise.
7103         * doc/c-strtold.texi: Likewise.
7104         * doc/ctime.texi: Likewise.
7105         * doc/error.texi: Likewise.
7106         * doc/fdl.texi: Likewise.
7107         * doc/gcd.texi: Likewise.
7108         * doc/getdate.texi: Likewise.
7109         * doc/gnulib-intro.texi: Likewise.
7110         * doc/gnulib-tool.texi: Likewise.
7111         * doc/gnulib.texi: Likewise.
7112         * doc/inet_ntoa.texi: Likewise.
7113         * doc/maintain.texi: Likewise.
7114         * doc/make-stds.texi: Likewise.
7115         * doc/quote.texi: Likewise.
7116         * doc/regexprops-generic.texi: Likewise.
7117         * doc/standards.texi: Likewise.
7118         * doc/verify.texi: Likewise.
7119         * doc/visibility.texi: Likewise.
7120         * doc/gnulib.texi (GNU Free Documentation License): Include
7121         fdl-1.3.texi instead of fdl.texi.
7122
7123 2008-11-04  Simon Josefsson  <simon@josefsson.org>
7124
7125         * doc/fdl-1.3.texi: New file, from
7126         <http://www.gnu.org/licenses/fdl-1.3.texi>.
7127         * modules/fdl-1.3: Add.
7128         * MODULES.html.sh: Add fdl-1.3.
7129
7130 2008-11-03  Bruno Haible  <bruno@clisp.org>
7131
7132         Make determination of absolute name of header file work with AIX xlc.
7133         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
7134         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
7135         preprocessing.
7136         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
7137         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
7138
7139 2008-11-03  Simon Josefsson  <simon@josefsson.org>
7140
7141         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
7142         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
7143         <ludo@gnu.org>.
7144
7145 2008-11-02  Bruno Haible  <bruno@clisp.org>
7146
7147         Mark 'strpbrk' obsolete.
7148         * modules/strpbrk (Status, Notice): New sections.
7149         * modules/strtok_r (Depends-on): Add strpbrk.
7150
7151 2008-11-02  Bruno Haible  <bruno@clisp.org>
7152
7153         Mark 'strdup' obsolete.
7154         * modules/strdup (Status, Notice): New sections.
7155         * modules/findprog (Depends-on): Add strdup.
7156         * modules/getaddrinfo (Depends-on): Likewise.
7157         * modules/localename (Depends-on): Likewise.
7158         * modules/relocatable-lib (Depends-on): Likewise.
7159         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
7160         * modules/relocatable-prog (Depends-on): Likewise.
7161         * modules/trim (Depends-on): Likewise.
7162         * modules/unictype/gen-ctype (Depends-on): Likewise.
7163         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
7164
7165 2008-11-02  Bruno Haible  <bruno@clisp.org>
7166
7167         Mark 'strcspn' obsolete.
7168         * modules/strcspn (Status, Notice): New sections.
7169
7170 2008-11-02  Bruno Haible  <bruno@clisp.org>
7171
7172         Mark 'rmdir' obsolete.
7173         * modules/rmdir (Status, Notice): New sections.
7174         * modules/clean-temp (Depends-on): Add rmdir.
7175         * modules/openat (Depends-on): Likewise.
7176
7177 2008-11-02  Bruno Haible  <bruno@clisp.org>
7178
7179         Mark 'raise' obsolete.
7180         * modules/raise (Status, Notice): New sections.
7181         (Include): Specify <signal.h>.
7182         * modules/stdio (Depends-on): Add raise.
7183         * modules/write (Depends-on): Likewise.
7184
7185 2008-11-02  Bruno Haible  <bruno@clisp.org>
7186
7187         Mark 'memset' obsolete.
7188         * modules/memset (Status, Notice): New sections.
7189
7190 2008-11-02  Bruno Haible  <bruno@clisp.org>
7191
7192         Mark 'memmove' obsolete.
7193         * modules/memmove (Status, Notice): New sections.
7194         * modules/argp (Depends-on): Add memmove.
7195         * modules/argz (Depends-on): Likewise.
7196         * modules/canonicalize (Depends-on): Likewise.
7197         * modules/canonicalize-lgpl (Depends-on): Likewise.
7198         * modules/fts (Depends-on): Likewise.
7199         * modules/getcwd (Depends-on): Likewise.
7200         * modules/human (Depends-on): Likewise.
7201         * modules/regex (Depends-on): Likewise.
7202         * modules/striconveh (Depends-on): Likewise.
7203         * modules/trim (Depends-on): Likewise.
7204         * modules/unistr/u8-move (Depends-on): Likewise.
7205         * modules/unistr/u16-move (Depends-on): Likewise.
7206         * modules/unistr/u32-move (Depends-on): Likewise.
7207
7208 2008-11-02  Bruno Haible  <bruno@clisp.org>
7209
7210         Mark 'memcpy' obsolete.
7211         * modules/memcpy (Status, Notice): New sections.
7212
7213 2008-11-02  Bruno Haible  <bruno@clisp.org>
7214
7215         Mark 'memcmp' obsolete.
7216         * modules/memcmp (Status, Notice): New sections.
7217         * modules/argmatch (Depends-on): Add memchr.
7218         * modules/backupfile (Depends-on): Likewise.
7219         * modules/c-strcasestr (Depends-on): Likewise.
7220         * modules/crypto/des (Depends-on): Likewise.
7221         * modules/csharpcomp (Depends-on): Likewise.
7222         * modules/fnmatch (Depends-on): Likewise.
7223         * modules/git-merge-changelog (Depends-on): Likewise.
7224         * modules/isnand (Depends-on): Likewise.
7225         * modules/isnand-nolibm (Depends-on): Likewise.
7226         * modules/isnanf (Depends-on): Likewise.
7227         * modules/isnanf-nolibm (Depends-on): Likewise.
7228         * modules/isnanl (Depends-on): Likewise.
7229         * modules/isnanl-nolibm (Depends-on): Likewise.
7230         * modules/mbchar (Depends-on): Likewise.
7231         * modules/memcoll (Depends-on): Likewise.
7232         * modules/quotearg (Depends-on): Likewise.
7233         * modules/regex (Depends-on): Likewise.
7234         * modules/relocatable-prog (Depends-on): Likewise.
7235         * modules/same (Depends-on): Likewise.
7236         * modules/signbit (Depends-on): Likewise.
7237         * modules/strcasestr-simple (Depends-on): Likewise.
7238         * modules/unictype/gen-ctype (Depends-on): Likewise.
7239         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
7240         * modules/uniname/uniname (Depends-on): Likewise.
7241         * modules/unistr/u8-cmp (Depends-on): Likewise.
7242
7243 2008-11-02  Bruno Haible  <bruno@clisp.org>
7244
7245         Mark 'memchr' obsolete.
7246         * modules/memchr (Status, Notice): New sections.
7247         * modules/argp (Depends-on): Add memchr.
7248         * modules/base64 (Depends-on): Likewise.
7249         * modules/c-strcasestr (Depends-on): Likewise.
7250         * modules/chdir-long (Depends-on): Likewise.
7251         * modules/fnmatch (Depends-on): Likewise.
7252         * modules/getsubopt (Depends-on): Likewise.
7253         * modules/git-merge-changelog (Depends-on): Likewise.
7254         * modules/glob (Depends-on): Likewise.
7255         * modules/strcasestr-simple (Depends-on): Likewise.
7256         * modules/strnlen (Depends-on): Likewise.
7257
7258 2008-11-02  Bruno Haible  <bruno@clisp.org>
7259
7260         Mark 'atexit' obsolete.
7261         * modules/atexit (Status, Notice): New sections.
7262         * modules/chdir-long (Depends-on): Add atexit.
7263         * modules/wait-process (Depends-on): Likewise.
7264
7265 2008-11-02  Bruno Haible  <bruno@clisp.org>
7266
7267         * gnulib-tool: New option --with-obsolete.
7268         (func_usage): Document it.
7269         (func_modules_transitive_closure): Drop obsolete dependencies if
7270         incobsolete is not true.
7271         (func_import): Read and save the incobsolete variable to the cache.
7272
7273 2008-11-02  Bruno Haible  <bruno@clisp.org>
7274
7275         * modules/TEMPLATE-EXTENDED: New field 'Status'.
7276         * gnulib-tool: New option --extract-status.
7277         (func_usage): Document it.
7278         (sed_extract_prog): Recognize it.
7279         (func_get_status): New function.
7280
7281 2008-10-30  Simon Josefsson  <simon@josefsson.org>
7282
7283         * modules/sockets (License): Change from LGPL to LGPLv2+.
7284
7285 2008-10-28  Simon Josefsson  <simon@josefsson.org>
7286
7287         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
7288
7289 2008-10-28  Simon Josefsson  <simon@josefsson.org>
7290
7291         * MODULES.html.sh (Support for systems lacking POSIX:2001):
7292         Mention times and sys_times.
7293         * modules/sys_times, modules/sys_times-tests: New modules.
7294         * modules/times, modules/times-tests: Likewise
7295         * m4/sys_times_h.m4: New file.
7296         * lib/sys_times.in.h: Likewise
7297         * lib/times.c: Likewise.
7298         * tests/test-sys_times.c: Likewise.
7299         * tests/test-times.c: Likewise.
7300         * doc/posix-headers/sys_times.texi: Update.
7301         * doc/posix-functions/times.texi: Update.
7302
7303 2008-10-28  Jim Meyering  <meyering@redhat.com>
7304
7305         * modules/tempname (Depends-on): Add lstat.
7306
7307         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
7308
7309 2008-10-28  Simon Josefsson  <simon@josefsson.org>
7310
7311         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
7312         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
7313         using idiom used elsewhere in gnulib.
7314
7315 2008-10-27  Jim Meyering  <meyering@redhat.com>
7316
7317         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
7318
7319 2008-10-27  Simon Josefsson  <simon@josefsson.org>
7320
7321         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
7322         TESTS_ENVIRONMENT, for shell scripts that needs to call built
7323         programs.
7324         * tests/test-argp-2.sh: Use $EXEEXT when needed.
7325
7326 2008-10-27  Simon Josefsson  <simon@josefsson.org>
7327
7328         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
7329
7330 2008-10-27  Bruno Haible  <bruno@clisp.org>
7331
7332         * tests/test-lstat.c: Include <stdio.h>.
7333
7334 2008-10-27  Simon Josefsson  <simon@josefsson.org>
7335
7336         * modules/lstat-tests: New module.
7337         * tests/test-lstat.c: New file.
7338
7339 2008-10-26  Jim Meyering  <meyering@redhat.com>
7340
7341         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
7342
7343 2008-10-26  Simon Josefsson  <simon@josefsson.org>
7344             Bruno Haible  <bruno@clisp.org>
7345
7346         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
7347         * modules/configmake (Include): Add a note that the include must come
7348         after all system headers.
7349         * lib/javaversion.c: Include configmake.h after all other includes.
7350
7351 2008-10-26  Bruno Haible  <bruno@clisp.org>
7352
7353         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
7354         HAVE_STRUCT_RANDOM_DATA to 1.
7355         (gl_STDLIB_H): Simplify.
7356
7357 2008-10-26  Simon Josefsson  <simon@josefsson.org>
7358
7359         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
7360         substitute HAVE_STRUCT_RANDOM_DATA.
7361         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
7362         random_data.
7363         * modules/stdlib (Makefile.am): Substitute
7364         HAVE_STRUCT_RANDOM_DATA.
7365
7366 2008-10-26  Simon Josefsson  <simon@josefsson.org>
7367
7368         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
7369         * doc/gnulib-intro.texi (Copyright): Likewise.
7370
7371 2008-10-26  Simon Josefsson  <simon@josefsson.org>
7372
7373         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
7374         findings.
7375
7376 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
7377             Bruno Haible  <bruno@clisp.org>
7378
7379         * lib/unistd.in.h: Include <winsock2.h>.
7380         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
7381         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
7382         Provide dummy declarations.
7383         (gethostname): Override.
7384         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
7385         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
7386         gl_PREREQ_SYS_H_WINSOCK2.
7387         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
7388         * doc/posix-functions/gethostname.texi: More details.
7389
7390 2008-10-25  Bruno Haible  <bruno@clisp.org>
7391
7392         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
7393         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
7394         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
7395
7396         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
7397         here ...
7398         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
7399         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
7400         gl_UNISTD_H_DEFAULTS.
7401
7402 2008-10-25  Eric Blake  <ebb9@byu.net>
7403
7404         signbit: avoid spurious compiler failure
7405         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
7406         declarations inside function.
7407
7408 2008-10-24  Simon Josefsson  <simon@josefsson.org>
7409             Bruno Haible  <bruno@clisp.org>
7410
7411         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
7412         * modules/random_r (Depends-on): Add stdint.
7413
7414 2008-10-24  Bruno Haible  <bruno@clisp.org>
7415
7416         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
7417         Eggert.
7418         * modules/strerror (License): Likewise.
7419
7420 2008-10-24  Jim Meyering  <meyering@redhat.com>
7421
7422         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
7423         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
7424
7425 2008-10-24  Eric Blake  <ebb9@byu.net>
7426
7427         getgroups: fix compilation when getgroups is available
7428         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
7429         but with <config.h> override of getgroups disabled.
7430
7431 2008-10-24  Simon Josefsson  <simon@josefsson.org>
7432
7433         * doc/gnulib.texi (Header files): Add note about C++ problems.
7434         Explained by Bruno Haible <bruno@clisp.org>.
7435
7436 2008-10-23  Bruno Haible  <bruno@clisp.org>
7437
7438         Define a dummy SA_NODEFER macro on Interix.
7439         * lib/signal.in.h (SA_NODEFER): Define fallback.
7440         Reported by Aleksey Cheusov <cheusov@tut.by> via
7441         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
7442
7443 2008-10-23  Bruno Haible  <bruno@clisp.org>
7444
7445         * modules/freadahead (License): Change to LGPLv2+.
7446         Suggested by Simon Josefsson.
7447
7448 2008-10-23  Jim Meyering  <meyering@redhat.com>
7449
7450         random_r: new module
7451         * modules/random_r: New file.
7452         * m4/random_r.m4: New file.
7453         * lib/random_r.c: New file, from glibc.
7454         * modules/random_r-tests: New file.
7455         * tests/test-random_r.c: New file.
7456         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
7457          Declare.
7458         (RAND_MAX): Define.
7459         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
7460         * modules/stdlib: Substitute them, too.
7461         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
7462         * doc/glibc-functions/initstate_r.texi: Mention the new module.
7463         * doc/glibc-functions/random_r.texi: Likewise.
7464         * doc/glibc-functions/setstate_r.texi: Likewise.
7465         * doc/glibc-functions/srandom_r.texi: Likewise.
7466         * config/srclist.txt: Mention it.
7467
7468 2008-10-23  David Lutterkort  <lutter@redhat.com>
7469
7470         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
7471         link requirement
7472
7473 2008-10-23  Jim Meyering  <meyering@redhat.com>
7474
7475         selinux-h: mark parameters of stub functions as intentionally unused
7476         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
7477         * lib/se-context.in.h: Likewise.
7478
7479 2008-10-22  Simon Josefsson  <simon@josefsson.org>
7480
7481         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
7482
7483 2008-10-22  Simon Josefsson  <simon@josefsson.org>
7484
7485         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
7486
7487 2008-10-22  Eric Blake  <ebb9@byu.net>
7488
7489         glthread/thread: avoid compiler warning
7490         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
7491         Add unreachable abort to silence compiler.
7492
7493 2008-10-22  Eric Blake  <ebb9@byu.net>
7494
7495         netdb: also supply struct addrinfo for cygwin 1.5.x
7496         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
7497         older cygwin.
7498         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
7499         cygwin.
7500         * doc/posix-headers/netdb.texi (netdb.h): Document this.
7501
7502 2008-10-22  Bruno Haible  <bruno@clisp.org>
7503
7504         * users.txt: Update entry about pspp.
7505
7506 2008-10-21  Bruno Haible  <bruno@clisp.org>
7507
7508         Simplification.
7509         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
7510         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
7511
7512         Simplification.
7513         * lib/ioctl.c (ioctl): Don't undefine.
7514         * lib/socket.c (socket): Don't undefine.
7515
7516         Remove unused module indicator macros.
7517         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
7518         GNULIB_$1 as a C macro.
7519
7520         * doc/posix-functions/close.texi: Undo last change.
7521         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
7522         Windows platforms.
7523
7524 2008-10-21  Bruno Haible  <bruno@clisp.org>
7525
7526         Add gethostname() declaration to <unistd.h>.
7527         * lib/unistd.in.h (gethostname): New declaration.
7528         * lib/gethostname.c: Include <unistd.h>.
7529         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
7530         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
7531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
7532         and HAVE_GETHOSTNAME.
7533         * modules/gethostname (Depends-on): Add unistd.
7534         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7535         (Include): Specify <unistd.h>.
7536         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
7537         HAVE_GETHOSTNAME.
7538         * tests/test-gethostname.c: Include <unistd.h> first.
7539
7540 2008-10-21  Bruno Haible  <bruno@clisp.org>
7541
7542         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
7543         * modules/select-tests (Depends-on): Likewise.
7544         Reported by Simon Josefsson.
7545
7546 2008-10-21  Simon Josefsson  <simon@josefsson.org>
7547
7548         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
7549         * lib/accept.c: New file, based on winsock.c.
7550         * lib/bind.c: New file, based on winsock.c.
7551         * lib/connect.c: New file, based on winsock.c.
7552         * lib/getpeername.c: New file, based on winsock.c.
7553         * lib/getsockname.c: New file, based on winsock.c.
7554         * lib/getsockopt.c: New file, based on winsock.c.
7555         * lib/ioctl.c: New file, based on winsock.c.
7556         * lib/listen.c: New file, based on winsock.c.
7557         * lib/recv.c: New file, based on winsock.c.
7558         * lib/recvfrom.c: New file, based on winsock.c.
7559         * lib/send.c: New file, based on winsock.c.
7560         * lib/sendto.c: New file, based on winsock.c.
7561         * lib/setsockopt.c: New file, based on winsock.c.
7562         * lib/shutdown.c: New file, based on winsock.c.
7563         * lib/socket.c: New file, based on winsock.c.
7564         * lib/w32sock.h: New file, based on winsock.c.
7565         * lib/winsock.c: Remove file.
7566         * modules/accept: Likewise.
7567         * modules/bind: Likewise.
7568         * modules/connect: Likewise.
7569         * modules/getpeername: Likewise.
7570         * modules/getsockname: Likewise.
7571         * modules/getsockopt: Likewise.
7572         * modules/ioctl: Likewise.
7573         * modules/listen: Likewise.
7574         * modules/recv: Likewise.
7575         * modules/recvfrom: Likewise.
7576         * modules/send: Likewise.
7577         * modules/sendto: Likewise.
7578         * modules/setsockopt: Likewise.
7579         * modules/shutdown: Likewise.
7580         * modules/socket: Use socket.c instead of winsock.c.
7581         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
7582         * doc/posix-functions/accept.texi: Doc fix.
7583         * doc/posix-functions/bind.texi: Doc fix.
7584         * doc/posix-functions/close.texi: Doc fix.
7585         * doc/posix-functions/connect.texi: Doc fix.
7586         * doc/posix-functions/getpeername.texi: Doc fix.
7587         * doc/posix-functions/getsockname.texi: Doc fix.
7588         * doc/posix-functions/getsockopt.texi: Doc fix.
7589         * doc/posix-functions/ioctl.texi: Doc fix.
7590         * doc/posix-functions/listen.texi: Doc fix.
7591         * doc/posix-functions/recv.texi: Doc fix.
7592         * doc/posix-functions/recvfrom.texi: Doc fix.
7593         * doc/posix-functions/send.texi: Doc fix.
7594         * doc/posix-functions/sendto.texi: Doc fix.
7595         * doc/posix-functions/setsockopt.texi: Doc fix.
7596         * doc/posix-functions/shutdown.texi: Doc fix.
7597         * doc/posix-functions/socket.texi: Doc fix.
7598
7599 2008-10-20  Bruno Haible  <bruno@clisp.org>
7600
7601         Take into account the role of SIGABRT_COMPAT on Windows 2008.
7602         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
7603         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
7604         as an alias for SIGABRT.
7605         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
7606         (sigaction): Map it to SIGABRT.
7607         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
7608
7609 2008-10-20  Bruno Haible  <bruno@clisp.org>
7610
7611         * lib/fts.c: Don't include lstat.h.
7612         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
7613
7614         Move the lstat() declaration to <sys/stat.h>.
7615         * lib/lstat.h: Remove file.
7616         * lib/sys_stat.in.h: Add special invocation convention.
7617         (lstat): New declaration.
7618         * lib/lstat.c (orig_lstat): New function.
7619         (rpl_lstat): Use orig_lstat instead of lstat.
7620         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
7621         AC_C_INLINE. Set REPLACE_LSTAT.
7622         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
7623         and REPLACE_LSTAT.
7624         * modules/lstat (Files): Remove lib/lstat.h.
7625         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
7626         (Include): Specify <sys/stat.h> instead of lstat.h.
7627         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
7628         REPLACE_LSTAT.
7629         * NEWS: Mention the change.
7630
7631 2008-10-20  Bruno Haible  <bruno@clisp.org>
7632
7633         * modules/posix_spawn-tests: New file.
7634         * tests/test-posix_spawn3.c: New file.
7635
7636 2008-10-20  Bruno Haible  <bruno@clisp.org>
7637
7638         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
7639         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
7640         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
7641         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
7642         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
7643
7644 2008-10-20  Bruno Haible  <bruno@clisp.org>
7645
7646         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
7647         of posix_spawn on AIX 5.3.
7648
7649 2008-10-20  Bruno Haible  <bruno@clisp.org>
7650
7651         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
7652
7653 2008-10-20  Bruno Haible  <bruno@clisp.org>
7654
7655         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
7656         of AC_LANG_PROGRAM.
7657
7658 2008-10-20  Simon Josefsson  <simon@josefsson.org>
7659
7660         * lib/netdb.in.h: Don't define GNU specific constants until they
7661         are supported or needed.  Reported by Bruno Haible
7662         <bruno@clisp.org>.
7663
7664 2008-10-20  Simon Josefsson  <simon@josefsson.org>
7665
7666         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
7667
7668 2008-10-20  Simon Josefsson  <simon@josefsson.org>
7669
7670         * lib/getaddrinfo.h: Remove file.
7671         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
7672         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
7673         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
7674         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
7675         * modules/netdb: Substitute GNULIB_GETADDRINFO.
7676         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
7677         * tests/test-getaddrinfo.c: Likewise.
7678         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
7679         * NEWS: Mention change.
7680
7681 2008-10-19  Bruno Haible  <bruno@clisp.org>
7682
7683         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
7684
7685 2008-10-19  Bruno Haible  <bruno@clisp.org>
7686
7687         * lib/wait-process.c: Include simply <sys/wait.h>.
7688         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
7689         WIFSTOPPED): Remove fallback definitions.
7690         * modules/wait-process (Depends-on): Add sys_wait.
7691
7692         New module 'sys_wait'.
7693         * modules/sys_wait: New file.
7694         * lib/sys_wait.in.h: New file, partially copied from
7695         lib/wait-process.c.
7696         * m4/sys_wait_h.m4: New file.
7697         * doc/posix-headers/sys_wait.texi: Mention the new module.
7698
7699 2008-10-19  Bruno Haible  <bruno@clisp.org>
7700
7701         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
7702
7703 2008-10-19  Bruno Haible  <bruno@clisp.org>
7704
7705         Assume that waitpid() fills an 'int' status, not a 'union wait'.
7706         * lib/wait-process.c (WAIT_T): Remove type.
7707         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
7708         (wait_subprocess): Update.
7709
7710 2008-10-19  Bruno Haible  <bruno@clisp.org>
7711
7712         New module 'atoll'.
7713         * modules/atoll: New file.
7714         * lib/stdlib.in.h (atoll): New declaration.
7715         * lib/atoll.c: New file, from glibc with modifications.
7716         * m4/atoll.m4: New file.
7717         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
7718         HAVE_ATOLL.
7719         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
7720         * doc/posix-functions/atoll.texi: Mention the new module.
7721
7722 2008-10-19  Bruno Haible  <bruno@clisp.org>
7723
7724         Add strtoull() declaration to <stdlib.h>.
7725         * lib/stdlib.in.h (strtoull): New declaration.
7726         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
7727         Set HAVE_STRTOULL.
7728         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
7729         HAVE_STRTOULL.
7730         * modules/strtoull (Depends-on): Add stdlib.
7731         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
7732         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
7733         HAVE_STRTOULL.
7734
7735 2008-10-19  Bruno Haible  <bruno@clisp.org>
7736
7737         Add strtoll() declaration to <stdlib.h>.
7738         * lib/stdlib.in.h (strtoll): New declaration.
7739         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
7740         Set HAVE_STRTOLL.
7741         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
7742         HAVE_STRTOLL.
7743         * modules/strtoll (Depends-on): Add stdlib.
7744         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
7745         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
7746
7747 2008-10-19  Bruno Haible  <bruno@clisp.org>
7748
7749         * modules/bcopy (Depends-on): Add strings.
7750         (Include): Specify <strings.h>.
7751
7752 2008-10-19  Bruno Haible  <bruno@clisp.org>
7753
7754         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
7755
7756 2008-10-19  Bruno Haible  <bruno@clisp.org>
7757
7758         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
7759         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
7760         mingw.
7761
7762 2008-10-19  Bruno Haible  <bruno@clisp.org>
7763
7764         * lib/atanl.c: Don't include isnanl.h.
7765         * lib/cosl.c: Likewise.
7766         * lib/ldexpl.c: Likewise.
7767         * lib/logl.c: Likewise.
7768         * lib/sinl.c: Likewise.
7769         * lib/sqrtl.c: Likewise.
7770         * lib/tanl.c: Likewise.
7771
7772         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
7773         * lib/isnanf.h: Remove file.
7774         * lib/isnand.h: Remove file.
7775         * lib/isnanl.h: Remove file.
7776         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
7777         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
7778         macros.
7779         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
7780         HAVE_ISNANF, don't define it as a C macro.
7781         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
7782         HAVE_ISNAND, don't define it as a C macro.
7783         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
7784         HAVE_ISNANL, don't define it as a C macro.
7785         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
7786         HAVE_ISNAN[FDL].
7787         * modules/isnanf (Files): Remove lib/isnanf.h.
7788         (Depends-on): Add math.
7789         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7790         (Include): Specify <math.h> instead of isnanf.h.
7791         * modules/isnand (Files): Remove lib/isnand.h.
7792         (Depends-on): Add math.
7793         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7794         (Include): Specify <math.h> instead of isnand.h.
7795         * modules/isnanl (Files): Remove lib/isnanl.h.
7796         (Depends-on): Add math.
7797         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7798         (Include): Specify <math.h> instead of isnanl.h.
7799         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
7800         HAVE_ISNAN[FDL].
7801         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
7802         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
7803         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
7804         * NEWS: Mention the change.
7805
7806 2008-10-18  Bruno Haible  <bruno@clisp.org>
7807
7808         Add getusershell(), setusershell(), endusershell() declarations to
7809         <unistd.h>.
7810         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
7811         declarations.
7812         * lib/getusershell.c: Include unistd.h.
7813         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
7814         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
7815         HAVE_GETUSERSHELL.
7816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
7817         and HAVE_GETUSERSHELL.
7818         * modules/getusershell (Depends-on): Add unistd, extensions.
7819         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7820         (Include): Specify <unistd.h>.
7821         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
7822         HAVE_GETUSERSHELL.
7823
7824 2008-10-18  Bruno Haible  <bruno@clisp.org>
7825
7826         Add a getloadavg() declaration to <stdlib.h>.
7827         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
7828         getloadavg declaration.
7829         (getloadavg): New declaration.
7830         * lib/getloadavg.c: Include <stdlib.h> first.
7831         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
7832         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
7833         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
7834         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
7835         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
7836         * modules/getloadavg (Depends-on): Add stdlib, extensions.
7837         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
7838         (Include): Specify <stdlib.h>.
7839         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
7840         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
7841
7842 2008-10-18  Bruno Haible  <bruno@clisp.org>
7843
7844         * lib/dirchownmod.c: Don't include lchmod.h.
7845
7846         Move the lchmod() declaration to <sys/stat.h>.
7847         * lib/lchmod.h: Remove file.
7848         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
7849         (lchmod): New declaration, moved here from lib/lchown.h.
7850         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
7851         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
7852         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
7853         and HAVE_LCHMOD.
7854         * modules/lchmod (Files): Remove lib/lchmod.h.
7855         (Depends-on): Add sys_stat, extensions.
7856         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
7857         (Include): Specify <sys/stat.h> instead of lchmod.h.
7858         * modules/sys_stat (Depends-on): Add link-warning.
7859         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
7860         definition of GL_LINK_WARNING.
7861         * NEWS: Mention the change.
7862
7863 2008-10-18  Bruno Haible  <bruno@clisp.org>
7864
7865         * lib/fchdir.c: Don't include dirfd.h.
7866         * lib/fts.c: Likewise.
7867         * lib/getcwd.c: Likewise.
7868         * lib/glob.c: Likewise.
7869
7870         Move the dirfd() declaration to <dirent.h>.
7871         * lib/dirfd.h: Remove file.
7872         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
7873         (dirfd): New declaration.
7874         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
7875         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
7876         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
7877         HAVE_DECL_DIRFD.
7878         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
7879         HAVE_DECL_DIRFD.
7880         * modules/dirfd (Files): Remove lib/dirfd.h.
7881         (Depends-on): Add dirent, extensions.
7882         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
7883         (Include): Specify <dirent.h> instead of dirfd.h.
7884         * modules/dirent (Depends-on): Add link-warning.
7885         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
7886         definition of GL_LINK_WARNING.
7887         * NEWS: Mention the change.
7888
7889 2008-10-18  Bruno Haible  <bruno@clisp.org>
7890
7891         Move the euidaccess() declaration to <unistd.h>.
7892         * lib/euidaccess.h: Remove file.
7893         * lib/unistd.in.h (euidaccess): New declaration.
7894         * lib/euidaccess.c: Don't include euidaccess.h.
7895         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
7896         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
7897         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
7898         and HAVE_EUIDACCESS.
7899         * modules/euidaccess (Files): Remove lib/euidaccess.h.
7900         (Depends-on): Add unistd.
7901         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7902         (Include): Specify <unistd.h> instead of euidaccess.h.
7903         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
7904         HAVE_EUIDACCESS.
7905         * NEWS: Mention the change.
7906
7907 2008-10-18  Bruno Haible  <bruno@clisp.org>
7908
7909         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
7910
7911         Move the getdomainname() declaration to <unistd.h>.
7912         * lib/getdomainname.h: Remove file.
7913         * lib/unistd.in.h (getdomainname): New declaration.
7914         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
7915         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
7916         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
7917         HAVE_GETDOMAINNAME.
7918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7919         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
7920         * modules/getdomainname (Files): Remove lib/getdomainname.h.
7921         (Depends-on): Add unistd, extensions.
7922         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7923         (Includes): Specify <unistd.h> instead of getdomainname.h.
7924         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
7925         HAVE_GETDOMAINNAME.
7926         * NEWS: Mention the change.
7927
7928 2008-10-18  Bruno Haible  <bruno@clisp.org>
7929
7930         * modules/dirent: New file.
7931         * m4/dirent_h.m4: New file.
7932         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
7933         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
7934         * modules/fchdir (Files): Remove lib/dirent.in.h.
7935         (Depends-on): Add dirent.
7936         (Makefile.am): Move rules to modules/dirent.
7937         * doc/posix-headers/dirent.texi: Mention the new module.
7938
7939 2008-10-18  Bruno Haible  <bruno@clisp.org>
7940
7941         Avoid -Wunused-parameter warnings in public gnulib header files.
7942         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
7943         macro.
7944         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
7945
7946 2008-10-18  Bruno Haible  <bruno@clisp.org>
7947
7948         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
7949         * doc/glibc-functions/error.texi: Mention the module 'error'.
7950         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
7951         * doc/glibc-functions/getdomainname.texi: Mention the module
7952         'getdomainname'.
7953         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
7954         * doc/glibc-functions/getpagesize.texi: Mention the module
7955         'getpagesize'.
7956         * doc/glibc-functions/getusershell.texi: Mention the module
7957         'getusershell'.
7958         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
7959         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
7960         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
7961         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
7962         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
7963         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
7964         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
7965         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
7966         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
7967         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
7968         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
7969         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
7970         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
7971         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
7972
7973 2008-10-17  Bruno Haible  <bruno@clisp.org>
7974
7975         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
7976         HP-UX and IRIX, use -0.0L.
7977         * tests/test-ceill.c (minus_zero): Likewise.
7978         * tests/test-floorl.c (minus_zero): Likewise.
7979         * tests/test-frexpl.c (minus_zero): Likewise.
7980         * tests/test-isnan.c (minus_zerol): Likewise.
7981         * tests/test-isnanl.h (minus_zero): Likewise.
7982         * tests/test-ldexpl.c (minus_zero): Likewise.
7983         * tests/test-roundl.c (minus_zero): Likewise.
7984         * tests/test-signbit.c (minus_zerol): Likewise.
7985         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
7986         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
7987         * tests/test-truncl.c (minus_zero): Likewise.
7988         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
7989         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
7990         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
7991         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
7992
7993 2008-10-17  Bruno Haible  <bruno@clisp.org>
7994
7995         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
7996         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
7997         that it gets activated only for gcc >= 3.0.
7998         * lib/dirent.in.h: Likewise.
7999         * lib/errno.in.h: Likewise.
8000         * lib/fcntl.in.h: Likewise.
8001         * lib/float.in.h: Likewise.
8002         * lib/iconv.in.h: Likewise.
8003         * lib/inttypes.in.h: Likewise.
8004         * lib/locale.in.h: Likewise.
8005         * lib/math.in.h: Likewise.
8006         * lib/netdb.in.h: Likewise.
8007         * lib/netinet_in.in.h: Likewise.
8008         * lib/search.in.h: Likewise.
8009         * lib/signal.in.h: Likewise.
8010         * lib/spawn.in.h: Likewise.
8011         * lib/stdarg.in.h: Likewise.
8012         * lib/stdint.in.h: Likewise.
8013         * lib/stdio.in.h: Likewise.
8014         * lib/stdlib.in.h: Likewise.
8015         * lib/string.in.h: Likewise.
8016         * lib/strings.in.h: Likewise.
8017         * lib/sys_file.in.h: Likewise.
8018         * lib/sys_ioctl.in.h: Likewise.
8019         * lib/sys_select.in.h: Likewise.
8020         * lib/sys_socket.in.h: Likewise.
8021         * lib/sys_stat.in.h: Likewise.
8022         * lib/sys_time.in.h: Likewise.
8023         * lib/sysexits.in.h: Likewise.
8024         * lib/time.in.h: Likewise.
8025         * lib/unistd.in.h: Likewise.
8026         * lib/wchar.in.h: Likewise.
8027         * lib/wctype.in.h: Likewise.
8028         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
8029
8030 2008-10-17  Jim Meyering  <meyering@redhat.com>
8031
8032         ignore-value: don't depend on inline module
8033         * modules/ignore-value (Depends-on): Remove 'inline'.
8034         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
8035         Suggestion from Bruno Haible.
8036
8037 2008-10-17  Bruno Haible  <bruno@clisp.org>
8038
8039         New implementation of condition variables for Win32.
8040         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
8041         (gl_linked_waitqueue_t): New type.
8042         (gl_cond_t): Use it.
8043         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
8044         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
8045         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
8046         (glthread_cond_init_func, glthread_cond_wait_func,
8047         glthread_cond_timedwait_func, glthread_cond_signal_func,
8048         glthread_cond_broadcast_func, glthread_cond_destroy_func):
8049         Reimplemented on the basis of gl_linked_waitqueue_t.
8050         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
8051         gl_waitqueue_t.
8052         (gl_rwlock_t): Update.
8053         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
8054
8055 2008-10-17  Simon Josefsson  <simon@josefsson.org>
8056
8057         * modules/recvfrom (Depends-on): Add dependency on getpeername.
8058         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
8059
8060 2008-10-17  Jim Meyering  <meyering@redhat.com>
8061
8062         ignore-value: new module
8063         * modules/ignore-value: New file.
8064         * lib/ignore-value.h: New file.
8065         * MODULES.html.sh (Compiler warning management): New section,
8066         just for this module.  More to come.
8067
8068 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
8069
8070         open-safer.c: avoid 'signed and unsigned in conditional...' warning
8071         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
8072         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
8073
8074 2008-10-16  Jim Meyering  <meyering@redhat.com>
8075
8076         openat-die.c: avoid 'no previous prototype' warning
8077         * lib/openat-die.c: Include "openat.h".
8078         Reported by Reuben Thomas <rrt@sc3d.org>.
8079
8080 2008-10-16  Simon Josefsson  <simon@josefsson.org>
8081
8082         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
8083         * lib/netdb.in.h: Fix typo.
8084         Reported by Bruno Haible  <bruno@clisp.org>
8085
8086         * lib/netdb.in.h: Include sys/socket.h for platforms without
8087         netdb.h, to get structures like hostent on MinGW.
8088         * modules/netdb (Depends-on): Add sys_socket.
8089
8090 2008-10-15  Simon Josefsson  <simon@josefsson.org>
8091
8092         * modules/netdb, modules/netdb-tests: New file.
8093         * m4/netdb_h.m4: New file.
8094         * lib/netdb.in.h: Add, currently just an empty file pending
8095         definitions.
8096         * tests/test-netdb.c: New file.
8097         * doc/posix-headers/netdb.texi: Mention that we replace it if
8098         needed.
8099         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
8100         netdb.
8101
8102 2008-10-15  Simon Josefsson  <simon@josefsson.org>
8103
8104         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
8105         with code.
8106
8107 2008-10-13  Bruno Haible  <bruno@clisp.org>
8108
8109         * lib/glthread/cond.c (glthread_cond_wait_func,
8110         glthread_cond_timedwait_func): Add a comment.
8111
8112 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
8113
8114         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
8115         * tests/test-select.c: Likewise,
8116
8117 2008-10-13  Bruno Haible  <bruno@clisp.org>
8118
8119         * lib/glthread/cond.c (glthread_cond_wait_func,
8120         glthread_cond_timedwait_func): Fix variable name.
8121         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
8122
8123 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
8124
8125         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
8126         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
8127         struct sockaddr.sa_len.
8128         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
8129
8130 2008-10-13  Simon Josefsson  <simon@josefsson.org>
8131
8132         * build-aux/pmccabe2html: Add css and css_url parameters.
8133
8134 2008-10-12  Bruno Haible  <bruno@clisp.org>
8135
8136         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
8137         calling aclx_get.
8138         Reported by Rainer Tammer <tammer@tammer.net>.
8139
8140 2008-10-12  Bruno Haible  <bruno@clisp.org>
8141
8142         Use msvcrt aware primitives for creation/termination of Win32 threads.
8143         * lib/glthread/thread.c: Include <process.h>.
8144         (glthread_create_func): Use _beginthreadex instead of CreateThread.
8145         (wrapper_func): Update signature.
8146         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
8147
8148 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
8149             Bruno Haible  <bruno@clisp.org>
8150
8151         Provide a Win32 implementation of the 'cond' module.
8152         * lib/glthread/cond.h [USE_WIN32]: New implementation.
8153         * lib/glthread/cond.c (glthread_cond_init_func,
8154         glthread_cond_wait_func, glthread_cond_timedwait_func,
8155         glthread_cond_signal_func, glthread_cond_broadcast_func,
8156         glthread_cond_destroy_func) [USE_WIN32]: New functions.
8157         * modules/cond (Dependencies): Add gettimeofday.
8158
8159 2008-10-11  Bruno Haible  <bruno@clisp.org>
8160
8161         Make sleep work on older versions of mingw.
8162         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
8163         only whether it exists.
8164         * doc/posix-functions/sleep.texi: Mention the problem with older
8165         versions of mingw.
8166
8167 2008-10-11  Bruno Haible  <bruno@clisp.org>
8168
8169         New module 'shutdown'.
8170         * modules/shutdown: New file.
8171         * lib/sys_socket.in.h (shutdown): New declaration.
8172         * lib/winsock.c (shutdown): New function.
8173         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
8174         GNULIB_SHUTDOWN.
8175         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
8176         * doc/posix-functions/shutdown.texi: Document the new module.
8177
8178 2008-10-11  Jim Meyering  <meyering@redhat.com>
8179
8180         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
8181
8182 2008-10-11  Bruno Haible  <bruno@clisp.org>
8183
8184         New module 'fclose'.
8185         * modules/fclose: New file.
8186         * lib/stdio.in.h (fclose): New declaration.
8187         * lib/fclose.c: New file.
8188         * m4/fclose.m4: New file.
8189         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
8190         REPLACE_FCLOSE.
8191         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
8192         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
8193         REPLACE_FCLOSE.
8194         * modules/close (Depends-on): fclose.
8195         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
8196
8197 2008-10-11  Bruno Haible  <bruno@clisp.org>
8198
8199         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
8200         set errno and don't call _close.
8201
8202 2008-10-10  Bruno Haible  <bruno@clisp.org>
8203
8204         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
8205         ACL, not afterwards. Fixes test failure on Cygwin.
8206
8207 2008-10-09  Ben Pfaff  <blp@gnu.org>
8208
8209         * build-aux/announce-gen: Fix gnulib version related part of usage
8210         message.  Die with a useful error message if no tarballs are
8211         found.
8212
8213 2008-10-10  Jim Meyering  <meyering@redhat.com>
8214
8215         bootstrap: use git's --depth=N option only if it's supported
8216         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
8217         recognize the --depth option.  Reported by Pádraig Brady.
8218
8219 2008-10-09  Bruno Haible  <bruno@clisp.org>
8220
8221         New module 'ioctl'.
8222         * modules/ioctl: New file.
8223         * lib/sys_socket.in.h (ioctl): Remove declaration.
8224         * lib/winsock.c: Include <sys/ioctl.h>.
8225         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
8226         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
8227         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
8228         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
8229         * doc/posix-functions/ioctl.texi: Mention the new module.
8230
8231 2008-10-09  Bruno Haible  <bruno@clisp.org>
8232
8233         New module 'sys_ioctl'.
8234         * lib/sys_ioctl.in.h: New file.
8235         * m4/sys_ioctl_h.m4: New file.
8236         * modules/sys_ioctl: New file.
8237         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
8238
8239 2008-10-09  Bruno Haible  <bruno@clisp.org>
8240
8241         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
8242         * lib/winsock.c: Include <stdarg.h>.
8243         (rpl_ioctl): Change to second argument 'int' and then varargs.
8244
8245 2008-10-09  Bruno Haible  <bruno@clisp.org>
8246
8247         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
8248         when the sys_socket module is present and the system has <winsock2.h>.
8249
8250 2008-10-09  Bruno Haible  <bruno@clisp.org>
8251
8252         * doc/posix-functions/close.texi: Mention module 'close' instead of
8253         module 'sys_socket'.
8254
8255 2008-10-09  Bruno Haible  <bruno@clisp.org>
8256
8257         * doc/glibc-headers/sys_ioctl.texi: New file.
8258         * doc/gnulib.texi: Include it.
8259
8260 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
8261             Bruno Haible  <bruno@clisp.org>
8262
8263         Combine the two replacements of 'close'.
8264         * lib/sys_socket.in.h (close): Define to a reminder to include
8265         <unistd.h>.
8266         (_gl_close_fd_maybe_socket): New declaration.
8267         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
8268         * lib/winsock.c (close): Remove undefinition.
8269         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
8270         needed for the gnulib module 'close'.
8271         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
8272         define to an error symbol or to a warning, if suitable.
8273         * lib/close.c: Include <sys/socket.h>.
8274         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
8275         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
8276         UNISTD_H_HAVE_WINSOCK2_H.
8277         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
8278         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8279         UNISTD_H_HAVE_WINSOCK2_H.
8280         * modules/sys_socket (Files): Add m4/unistd_h.m4.
8281         (configure.ac): Set a module indicator.
8282         (Makefile.am): Substitute GNULIB_CLOSE.
8283         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
8284         * modules/poll-tests (Depends-on): Add close.
8285         * modules/select-tests (Depends-on): Likewise.
8286
8287 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
8288             Bruno Haible  <bruno@clisp.org>
8289
8290         New module 'close'.
8291         * modules/close: New file.
8292         * lib/unistd.in.h (close): Move declaration out of the
8293         FCHDIR_REPLACEMENT scope.
8294         (_gl_unregister_fd): New declaration.
8295         * lib/close.c: New file.
8296         * lib/fchdir.c (rpl_close): Remove function.
8297         * m4/close.m4: New file.
8298         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
8299         close.
8300         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
8301         REPLACE_CLOSE.
8302         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
8303         REPLACE_CLOSE.
8304         * modules/fchdir (Depends-on): Add close.
8305
8306 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
8307             Bruno Haible  <bruno@clisp.org>
8308
8309         * lib/fcntl.in.h (open): Simplify conditionals.
8310         (_gl_register_fd): New declaration.
8311         * lib/fchdir.c (rpl_open): Remove function.
8312         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
8313         also.
8314         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
8315         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
8316         open.
8317
8318 2008-10-09  Jim Meyering  <meyering@redhat.com>
8319
8320         GNUmakefile: use the more name-space-friendly "_version"
8321         * top/GNUmakefile (_dummy): Update.
8322         (_version): Rename from "version".
8323
8324 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
8325             Bruno Haible  <bruno@clisp.org>
8326
8327         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
8328         rpl_close.
8329         (_gl_register_fd): New function, extracted from rpl_open.
8330         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
8331         (rpl_open, rpl_opendir): Use _gl_register_fd.
8332
8333 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
8334
8335         Fix organization of 'open' replacement.
8336         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
8337         (gl_FUNC_OPEN): Use it.
8338         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
8339
8340 2008-10-08  Bruno Haible  <bruno@clisp.org>
8341
8342         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
8343
8344 2008-10-08  Simon Josefsson  <simon@josefsson.org>
8345
8346         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
8347         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
8348         listen).
8349
8350 2008-10-08  Eric Blake  <ebb9@byu.net>
8351
8352         GNUmakefile: add 'make version' target
8353         * top/GNUmakefile (_curr-ver): Split version update rules...
8354         (version): ...into a target.
8355
8356 2008-10-07  Bruno Haible  <bruno@clisp.org>
8357
8358         Use a more portable replacement expression for -0.0L.
8359         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
8360         instead of -0.0L. Fix m4 quotation.
8361
8362         * tests/test-signbit.c: Include <float.h>.
8363         (minus_zero): New variable.
8364         (test_signbitl): Use minus_zero instead of -zero.
8365         * modules/signbit-tests (Depends-on): Add float.
8366
8367         * tests/test-ceill.c: Include <float.h>.
8368         (zero): Remove variable.
8369         (minus_zero): New variable.
8370         (main): Use minus_zero instead of -zero.
8371         * modules/ceill-tests (Depends-on): Add float.
8372
8373         * tests/test-floorl.c: Include <float.h>.
8374         (zero): Remove variable.
8375         (minus_zero): New variable.
8376         (main): Use minus_zero instead of -zero.
8377         * modules/floorl-tests (Depends-on): Add float.
8378
8379         * tests/test-roundl.c: Include <float.h>.
8380         (zero): Remove variable.
8381         (minus_zero): New variable.
8382         (main): Use minus_zero instead of -zero.
8383         * modules/roundl-tests (Depends-on): Add float.
8384
8385         * tests/test-truncl.c: Include <float.h>.
8386         (zero): Remove variable.
8387         (minus_zero): New variable.
8388         (main): Use minus_zero instead of -zero.
8389         * modules/truncl-tests (Depends-on): Add float.
8390
8391         * tests/test-frexpl.c (zero): Remove variable.
8392         (minus_zero): New variable.
8393         (main): Use minus_zero instead of -zero.
8394         * modules/frexpl-tests (Depends-on): Add float.
8395
8396         * tests/test-isnan.c (zerol): Remove variable.
8397         (minus_zerol): New variable.
8398         (test_long_double): Use minus_zerol instead of -zerol.
8399         * modules/isnan-tests (Depends-on): Add float.
8400
8401         * tests/test-isnanl.h (zero): Remove variable.
8402         (minus_zero): New variable.
8403         (main): Use minus_zero instead of -zero.
8404         * modules/isnanl-nolibm-tests (Depends-on): Add float.
8405         * modules/isnanl-tests (Depends-on): Add float.
8406
8407         * tests/test-ldexpl.c (zero): Remove variable.
8408         (minus_zero): New variable.
8409         (main): Use minus_zero instead of -zero.
8410         * modules/ldexpl-tests (Depends-on): Add float.
8411
8412         * tests/test-snprintf-posix.h (zerol): Remove variable.
8413         (minus_zerol): New variable.
8414         (test_function): Use minus_zerol instead of -zerol.
8415         * modules/snprintf-posix-tests (Depends-on): Add float.
8416         * modules/vsnprintf-posix-tests (Depends-on): Add float.
8417
8418         * tests/test-sprintf-posix.h (zerol): Remove variable.
8419         (minus_zerol): New variable.
8420         (test_function): Use minus_zerol instead of -zerol.
8421         * modules/sprintf-posix-tests (Depends-on): Add float.
8422         * modules/vsprintf-posix-tests (Depends-on): Add float.
8423
8424         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
8425         (minus_zerol): New variable.
8426         (test_function): Use minus_zerol instead of -zerol.
8427         * modules/vasnprintf-posix-tests (Depends-on): Add float.
8428
8429         * tests/test-vasprintf-posix.c (zerol): Remove variable.
8430         (minus_zerol): New variable.
8431         (test_function): Use minus_zerol instead of -zerol.
8432         * modules/vasprintf-posix-tests (Depends-on): Add float.
8433
8434 2008-10-07  Simon Josefsson  <simon@josefsson.org>
8435
8436         * MODULES.html.sh (Support for building documentation): Mention
8437         pmccabe2html.  Sort entries.
8438
8439         Add pmccabe2html module, from gnupdf.
8440         * build-aux/pmccabe.css: New file.
8441         * build-aux/pmccabe2html: New file.
8442         * m4/pmccabe2html.m4: New file.
8443         * modules/pmccabe2html: New file.
8444
8445 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
8446
8447         flock: new module
8448         * MODULES.html.sh: Add to list of modules.
8449         * lib/flock.c: flock implementation for Windows and Unix systems
8450         which have fcntl.
8451         * doc/glibc-functions/flock.texi: Update documentation.
8452         * lib/sys_file.in.h: <sys/file.h> header file.
8453         * m4/flock.m4: M4 macros.
8454         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
8455         * modules/flock: flock module.
8456         * modules/flock-tests: flock tests module.
8457         * modules/sys_file: sys/file.h module.
8458         * tests/test-flock.c: test suite for flock.
8459
8460 2008-10-06  Jim Meyering  <meyering@redhat.com>
8461
8462         bootstrap: check for LT_INIT more portably still ;-)
8463         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
8464         Spotted by Bruno Haible.
8465
8466 2008-10-06  Eric Blake  <ebb9@byu.net>
8467
8468         test-signbit: avoid tripping Irix cc bug on -0.0L
8469         * tests/test-signbit.c (minus_zerol): Delete, and replace with
8470         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
8471         entire testsuite consistent and avoids an Irix 6.2 bug.
8472
8473 2008-10-05  Bruno Haible  <bruno@clisp.org>
8474             Jim Meyering  <jim@meyering.net>
8475
8476         Add an option for ignoring EPIPE during close_stdout.
8477         * lib/closeout.h: Include <stdbool.h>.
8478         (close_stdout_set_ignore_EPIPE): New declaration.
8479         * lib/closeout.c: Include <stdbool.h>.
8480         (ignore_EPIPE): New variable.
8481         (close_stdout_set_ignore_EPIPE): New function.
8482         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
8483         * lib/close-stream.c (close_stream): Mention the possible EPIPE
8484         failure.
8485         * modules/closeout (Depends-on): Add stdbool.
8486
8487 2008-10-05  Bruno Haible  <bruno@clisp.org>
8488
8489         * modules/accept: New file.
8490         * modules/bind: New file.
8491         * modules/connect: New file.
8492         * modules/getpeername: New file.
8493         * modules/getsockname: New file.
8494         * modules/getsockopt: New file.
8495         * modules/listen: New file.
8496         * modules/recv: New file.
8497         * modules/recvfrom: New file.
8498         * modules/send: New file.
8499         * modules/sendto: New file.
8500         * modules/setsockopt: New file.
8501         * modules/socket: New file.
8502         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
8503         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
8504         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
8505         the particular module is requested. Add a link warning when the
8506         particular module is not requested.
8507         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
8508         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
8509         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
8510         the particular module is requested.
8511         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
8512         gl_SYS_SOCKET_H_DEFAULTS): New macros.
8513         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
8514         * modules/sys_socket (Depends-on): Add link-warning.
8515         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
8516         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
8517         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
8518         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
8519         GL_LINK_WARNING.
8520         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
8521         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
8522         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
8523         * doc/posix-functions/getpeername.texi: Mention the new module
8524         'getpeername'.
8525         * doc/posix-functions/getsockname.texi: Mention the new module
8526         'getsockname'.
8527         * doc/posix-functions/getsockopt.texi: Mention the new module
8528         'getsockopt'.
8529         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
8530         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
8531         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
8532         * doc/posix-functions/send.texi: Mention the new module 'send'.
8533         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
8534         * doc/posix-functions/setsockopt.texi: Mention the new module
8535         'setsockopt'.
8536         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
8537         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
8538         listen, connect, accept.
8539         * modules/select-tests (Depends-on): Likewise.
8540
8541 2008-10-05  Bruno Haible  <bruno@clisp.org>
8542
8543         * lib/winsock.c (strerror): Remove unused #undef.
8544         (rpl_close): Remove unused local variable.
8545
8546         * modules/sys_socket (Depends-on); Add errno.
8547
8548 2008-10-05  Bruno Haible  <bruno@clisp.org>
8549
8550         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
8551         (select): Add a link warning when the 'select' module is not used.
8552         * modules/sys_select (Depends-on): Add link-warning.
8553         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
8554         Suggested by Paolo Bonzini.
8555
8556 2008-10-05  Jim Meyering  <meyering@redhat.com>
8557
8558         bootstrap: check for LT_INIT more portably
8559         * build-aux/bootstrap: Avoid using grep -E, since it's not
8560         portable enough.  Suggestion from Bruno Haible.
8561
8562 2008-10-05  Bruno Haible  <bruno@clisp.org>
8563
8564         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
8565         as being fixed by gnulib.
8566
8567 2008-10-05  Bruno Haible  <bruno@clisp.org>
8568
8569         * modules/select-tests: New file, mostly copied from
8570         modules/sys_select-tests.
8571         * tests/test-select.c: New file, mostly copied from
8572         tests/test-sys_select.c.
8573         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
8574         * modules/sys_select-tests (Depends-on): Remove all dependencies.
8575         (Makefile.am): Remove test_sys_select_LDADD.
8576
8577         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
8578         to an undefined symbol, for an error message.
8579         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
8580         (gl_SYS_SELECT_H_DEFAULTS): New macro.
8581         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
8582         winsock-select.c here.
8583         * modules/sys_select (Files): Remove lib/winsock-select.c.
8584         (Depends-on): Remove alloca.
8585         (Makefile.am): Substitute GNULIB_SELECT.
8586         * modules/select: New file.
8587         * doc/posix-functions/select.texi: Update.
8588
8589 2008-10-05  Bruno Haible  <bruno@clisp.org>
8590
8591         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
8592         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
8593         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
8594         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
8595         getdtablesize.
8596         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
8597         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
8598
8599 2008-10-05  Bruno Haible  <bruno@clisp.org>
8600
8601         * modules/getdtablesize-tests: New file.
8602         * tests/test-getdtablesize.c: New file.
8603
8604         New module 'getdtablesize'.
8605         * lib/unistd.in.h (getdtablesize): New declaration.
8606         * lib/getdtablesize.c: New file.
8607         * m4/getdtablesize.m4: New file.
8608         * modules/getdtablesize: New file.
8609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8610         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
8611         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
8612         HAVE_GETDTABLESIZE.
8613         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
8614
8615 2008-10-05  Bruno Haible  <bruno@clisp.org>
8616
8617         * modules/sched (Makefile.am): Fix typo.
8618         Reported by Simon Josefsson.
8619
8620 2008-10-05  Jim Meyering  <meyering@redhat.com>
8621
8622         bootstrap: check for LT_INIT, too
8623         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
8624         are deprecated.  Suggestion from Ralf Wildenhues.
8625
8626 2008-10-05  Bruno Haible  <bruno@clisp.org>
8627
8628         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
8629         overriding them by ours.
8630         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
8631
8632 2008-10-05  Jim Meyering  <meyering@redhat.com>
8633
8634         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
8635         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
8636         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
8637
8638 2008-10-04  Bruno Haible  <bruno@clisp.org>
8639
8640         * modules/dup2 (License): Change to LGPLv2+.
8641         * modules/sleep (License): Likewise.
8642         * modules/perror (License): Likewise.
8643         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
8644         Blake.
8645         * modules/signal (License): Likewise.
8646         * modules/sigprocmask (License): Likewise.
8647         * modules/raise (License): Change to LGPLv2+, with approval by Jim
8648         Meyering.
8649
8650 2008-10-04  Bruno Haible  <bruno@clisp.org>
8651
8652         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
8653         Reported by Rainer Tammer <tammer@tammer.net>.
8654
8655 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
8656             Bruno Haible  <bruno@clisp.org>
8657
8658         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
8659         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
8660         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
8661
8662 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
8663
8664         filevercmp: new module
8665         * lib/filevercmp.h: New function filevercmp comparing version strings.
8666         * lib/filevercmp.c: Implementation of filevercmp function.
8667         * modules/filevercmp: Module metadata.
8668         * tests/test-filevercmp.c: Unit test for new module.
8669         * modules/filevercmp-tests: Unit test metadata.
8670         * MODULES.html.sh: Add filevercmp module.
8671
8672 2008-10-03  Bruno Haible  <bruno@clisp.org>
8673
8674         * lib/c-ctype.h: Add comment.
8675         Reported by Jim Meyering.
8676
8677 2008-10-02  Bruno Haible  <bruno@clisp.org>
8678
8679         * modules/posix_spawn-internal (Depends-on): Add 'open'.
8680
8681 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
8682
8683         * build-aux/bootstrap: Allow renaming bootstrap, and change the
8684         name of bootstrap.conf accordingly.
8685
8686 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
8687
8688         * build-aux/bootstrap: Install git-merge-changelog configuration
8689         items into .gitconfig if needed.
8690
8691 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
8692
8693         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
8694         git repository, and initialize/update it accordingly.
8695
8696 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
8697
8698         * modules/fsync-tests: New file.
8699         * tests/test-fsync.c: New file.
8700
8701         New module 'fsync'.
8702         * lib/fsync.c: New file.
8703         * m4/fsync.m4: New file.
8704         * modules/fsync: New file.
8705         * lib/unistd.in.h (fsync): New declaration.
8706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
8707         GNULIB_FSYNC and HAVE_FSYNC.
8708         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
8709         * MODULES.html.sh (posix_functions): Add fsync.
8710         * doc/posix-functions/fsync.texi: Mention the new module.
8711
8712 2008-10-02  Jim Meyering  <meyering@redhat.com>
8713
8714         fts.c: sync with similar code from coreutils' remove.c
8715         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
8716         Guard also with "#if defined __linux__", since for now at least,
8717         this code is Linux-kernel-specific.
8718
8719 2008-10-02  Jim Meyering  <meyering@redhat.com>
8720
8721         fts: bug fixes
8722         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
8723         Include <sys/vfs.h>, not <sys/statfs.h>.
8724
8725         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
8726         Include <sys/vfs.h>, not <sys/statfs.h>.
8727
8728 2008-10-01  Bruno Haible  <bruno@clisp.org>
8729
8730         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
8731         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
8732         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
8733         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
8734         * doc/posix-functions/posix_spawnp.texi: Likewise.
8735         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
8736         whether posix_spawn actually works.
8737         * m4/pipe.m4 (gl_PIPE): Likewise.
8738         * modules/execute (Files): Add m4/posix_spawn.m4.
8739         * modules/pipe (Files): Add m4/posix_spawn.m4.
8740         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
8741
8742 2008-10-01  Jim Meyering  <meyering@redhat.com>
8743
8744         remove trailing spaces
8745         * NEWS: Likewise.
8746         * lib/poll.c (poll): Likewise.
8747         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
8748         * lib/winsock.c (rpl_close): Likewise.
8749         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
8750         * modules/yield: Likewise.
8751         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
8752         * tests/test-sys_select.c (connect_to_socket): Likewise.
8753
8754         fts.c: adjust a new interface to be more generally useful
8755         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
8756         (fts_build): Adjust caller.
8757
8758 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8759
8760         * modules/cond-tests: New file.
8761         * tests/test-cond.c: New file.
8762
8763 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8764             Bruno Haible  <bruno@clisp.org>
8765
8766         * modules/cond (Dependencies): Add errno, time.
8767         * lib/glthread/cond.h: Include <time.h>.
8768         (gl_cond_define, gl_cond_define_initialized): Use the same definition
8769         across platforms.
8770
8771 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8772             Bruno Haible  <bruno@clisp.org>
8773
8774         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
8775
8776 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8777             Bruno Haible  <bruno@clisp.org>
8778
8779         * modules/tls-tests (Depends-on): Add thread, yield.
8780         (configure.ac): Remove all checks.
8781         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
8782         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
8783         gl_thread_self): Remove definitions. Include glthread/thread.h and
8784         glthread/yield.h instead.
8785         (test_tls): Pass an additional NULL argument to gl_thread_join.
8786
8787 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8788             Bruno Haible  <bruno@clisp.org>
8789
8790         * modules/lock-tests (Depends-on): Add thread, yield.
8791         (configure.ac): Remove all checks.
8792         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
8793         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
8794         gl_thread_self): Remove definitions. Include glthread/thread.h and
8795         glthread/yield.h instead.
8796         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
8797         additional NULL argument to gl_thread_join.
8798
8799 2008-09-30  Bruno Haible  <bruno@clisp.org>
8800
8801         Fix the Win32 implementation of the 'thread' module.
8802         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
8803         pointer type.
8804         (gl_thread_self): Invoke gl_thread_self_func.
8805         (gl_thread_self_func): New declaration.
8806         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
8807         (do_init_self_key, init_self_key): New functions.
8808         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
8809         Remove some fields.
8810         (running_threads, running_lock): Remove variables.
8811         (get_current_thread_handle): New function.
8812         (gl_thread_self_func, wrapper_func, glthread_create_func,
8813         glthread_join_func, gl_thread_exit_func): Largely rewritten and
8814         simplified.
8815
8816 2008-09-30  Bruno Haible  <bruno@clisp.org>
8817
8818         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
8819         files.
8820
8821 2008-09-30  Jim Meyering  <meyering@redhat.com>
8822
8823         fts.m4: correct the test for statfs.f_type
8824         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
8825         when checking for statfs.f_type.
8826
8827 2008-09-15  Simon Josefsson  <simon@josefsson.org>
8828
8829         tests: avoid some compiler warnings
8830         * tests/test-memchr.c (main): Pass NULL indirectly.
8831         * tests/test-getdate.c (main): Remove unused variable 'ret'.
8832
8833 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
8834
8835         getdate.y: disallow countable dayshifts like "4 yesterday ago"
8836         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
8837         exactly specified dayshifts.
8838         (dayshift): New rule.
8839         (rel): Add dayshift.
8840         (relative_time_table) [tomorrow, yesterday, today, now]:
8841         Use tDAY_SHIFT in place of tDAY_UNIT.
8842         * tests/test-getdate.c: Add tests for now-disallowed countable
8843         dayshifts, e.g., "4 yesterday ago".
8844
8845 2008-09-29  Bruno Haible  <bruno@clisp.org>
8846
8847         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
8848         * tests/test-posix_spawn1.in.sh: Renamed from
8849         tests/test-posix_spawn.in.sh.
8850         * tests/test-posix_spawn2.c: New file.
8851         * tests/test-posix_spawn2.in.sh: New file.
8852         * modules/posix_spawnp-tests (Files): Update.
8853         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
8854
8855 2008-09-29  Bruno Haible  <bruno@clisp.org>
8856
8857         Propagate effects of putenv/setenv/unsetenv to child processes.
8858         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
8859         * lib/pipe.c (create_pipe): Likewise.
8860
8861 2008-09-29  Bruno Haible  <bruno@clisp.org>
8862
8863         Enable use of shell scripts as executables in mingw.
8864         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
8865         run the program as a shell script.
8866         * lib/pipe.c (create_pipe): Likewise.
8867         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
8868         resulting array.
8869
8870 2008-09-29  Eric Blake  <ebb9@byu.net>
8871
8872         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
8873
8874 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
8875
8876         * doc/posix-functions/accept.texi: Update mingw problems.
8877         * doc/posix-functions/bind.texi: Update mingw problems.
8878         * doc/posix-functions/close.texi: Update mingw problems.
8879         * doc/posix-functions/connect.texi: Update mingw problems.
8880         * doc/posix-functions/getpeername.texi: Update mingw problems.
8881         * doc/posix-functions/getsockname.texi: Update mingw problems.
8882         * doc/posix-functions/getsockopt.texi: Update mingw problems.
8883         * doc/posix-functions/ioctl.texi: Update mingw problems.
8884         * doc/posix-functions/listen.texi: Update mingw problems.
8885         * doc/posix-functions/recv.texi: Update mingw problems.
8886         * doc/posix-functions/recvfrom.texi: Update mingw problems.
8887         * doc/posix-functions/select.texi: Update mingw problems.
8888         * doc/posix-functions/send.texi: Update mingw problems.
8889         * doc/posix-functions/sendto.texi: Update mingw problems.
8890         * doc/posix-functions/setsockopt.texi: Update mingw problems.
8891         * doc/posix-functions/socket.texi: Update mingw problems.
8892
8893 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
8894             Bruno Haible  <bruno@clisp.org>
8895
8896         * lib/sys_select.in.h: Include sys/time.h.
8897         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
8898         * modules/sys_select: Depend on sys_time.
8899         * tests/test-sys_select.c: Test that sys/select.h defines struct
8900         timeval fully.
8901
8902 2008-09-29  Bruno Haible  <bruno@clisp.org>
8903
8904         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
8905         * lib/sys_select.in.h: Likewise.
8906
8907 2008-09-29  Bruno Haible  <bruno@clisp.org>
8908
8909         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
8910
8911 2008-09-29  Bruno Haible  <bruno@clisp.org>
8912
8913         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
8914         Set LIBSOCKET instead of augmenting LIBS.
8915         * modules/sockets (Link): New section.
8916         * modules/sockets-tests (test_sockets_LDADD): New variable.
8917         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
8918         * modules/poll-tests (test_poll_LDADD): New variable.
8919         * NEWS: Document the change.
8920
8921 2008-09-29  Bruno Haible  <bruno@clisp.org>
8922
8923         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
8924         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
8925         ARPA_INET_H directly.
8926         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
8927
8928 2008-09-28  Bruno Haible  <bruno@clisp.org>
8929
8930         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
8931         from gl_HEADER_SYS_SOCKET.
8932         (gl_HEADER_SYS_SOCKET): Invoke it.
8933         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8934
8935 2008-09-28  Bruno Haible  <bruno@clisp.org>
8936
8937         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
8938         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
8939         Needed on OSF/1 4.0.
8940
8941 2008-09-28  Bruno Haible  <bruno@clisp.org>
8942
8943         Override open more carefully.
8944         * lib/open.c (orig_open): New function.
8945         (rpl_open): Use orig_open instead of open.
8946         * lib/fcntl.in.h: Add special invocation convention.
8947         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
8948         (gl_FUNC_OPEN): Invoke it.
8949
8950         Override freopen more carefully.
8951         * lib/freopen.c (orig_freopen): New function.
8952         (rpl_freopen): Use orig_freopen instead of freopen.
8953         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
8954         (gl_FUNC_FREOPEN): Invoke it.
8955
8956         Override fopen more carefully.
8957         * lib/fopen.c (orig_fopen): New function.
8958         (rpl_fopen): Use orig_fopen instead of fopen.
8959         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
8960         (gl_FUNC_FOPEN): Invoke it.
8961         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
8962
8963 2008-09-28  Bruno Haible  <bruno@clisp.org>
8964
8965         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
8966         SIGPIPE.
8967
8968 2008-09-28  Bruno Haible  <bruno@clisp.org>
8969
8970         * tests/test-sigaction.c (handler, main): Disable the check whether
8971         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
8972         glibc systems with LinuxThreads.
8973
8974 2008-09-28  Bruno Haible  <bruno@clisp.org>
8975
8976         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
8977
8978         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
8979         with AIX xlc.
8980         * lib/fcntl.in.h (open): Likewise.
8981         Reported by Rainer Tammer <tammer@tammer.net>.
8982
8983 2008-09-28  Bruno Haible  <bruno@clisp.org>
8984
8985         * modules/posix_spawnp-tests: New file.
8986         * tests/test-posix_spawn.c: New file.
8987         * tests/test-posix_spawn.in.sh: New file.
8988
8989         New module 'posix_spawnp'.
8990         * modules/posix_spawnp: New file.
8991         * lib/spawnp.c: New file, from GNU libc with modifications.
8992         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
8993
8994         New module 'posix_spawn'.
8995         * modules/posix_spawn: New file.
8996         * lib/spawn.c: New file, from GNU libc with modifications.
8997         * doc/posix-functions/posix_spawn.texi: Mention the new module.
8998
8999         New module 'posix_spawnattr_destroy'.
9000         * modules/posix_spawnattr_destroy: New file.
9001         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
9002         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
9003         module.
9004
9005         New module 'posix_spawnattr_setsigmask'.
9006         * modules/posix_spawnattr_setsigmask: New file.
9007         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
9008         modifications.
9009         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
9010         new module.
9011
9012         New module 'posix_spawnattr_getsigmask'.
9013         * modules/posix_spawnattr_getsigmask: New file.
9014         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
9015         modifications.
9016         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
9017         new module.
9018
9019         New module 'posix_spawnattr_setsigdefault'.
9020         * modules/posix_spawnattr_setsigdefault: New file.
9021         * lib/spawnattr_setdefault.c: New file, from GNU libc with
9022         modifications.
9023         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
9024         new module.
9025
9026         New module 'posix_spawnattr_getsigdefault'.
9027         * modules/posix_spawnattr_getsigdefault: New file.
9028         * lib/spawnattr_getdefault.c: New file, from GNU libc with
9029         modifications.
9030         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
9031         new module.
9032
9033         New module 'posix_spawnattr_setschedpolicy'.
9034         * modules/posix_spawnattr_setschedpolicy: New file.
9035         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
9036         modifications.
9037         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
9038         new module.
9039
9040         New module 'posix_spawnattr_getschedpolicy'.
9041         * modules/posix_spawnattr_getschedpolicy: New file.
9042         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
9043         modifications.
9044         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
9045         new module.
9046
9047         New module 'posix_spawnattr_setschedparam'.
9048         * modules/posix_spawnattr_setschedparam: New file.
9049         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
9050         modifications.
9051         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
9052         new module.
9053
9054         New module 'posix_spawnattr_getschedparam'.
9055         * modules/posix_spawnattr_getschedparam: New file.
9056         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
9057         modifications.
9058         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
9059         new module.
9060
9061         New module 'posix_spawnattr_setpgroup'.
9062         * modules/posix_spawnattr_setpgroup: New file.
9063         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
9064         modifications.
9065         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
9066         module.
9067
9068         New module 'posix_spawnattr_getpgroup'.
9069         * modules/posix_spawnattr_getpgroup: New file.
9070         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
9071         modifications.
9072         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
9073         module.
9074
9075         New module 'posix_spawnattr_setflags'.
9076         * modules/posix_spawnattr_setflags: New file.
9077         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
9078         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
9079         module.
9080
9081         New module 'posix_spawnattr_getflags'.
9082         * modules/posix_spawnattr_getflags: New file.
9083         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
9084         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
9085         module.
9086
9087         New module 'posix_spawnattr_init'.
9088         * modules/posix_spawnattr_init: New file.
9089         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
9090         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
9091         module.
9092
9093         New module 'posix_spawn_file_actions_destroy'.
9094         * modules/posix_spawn_file_actions_destroy: New file.
9095         * lib/spawn_faction_destroy.c: New file, from GNU libc with
9096         modifications.
9097         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
9098         the new module.
9099
9100         New module 'posix_spawn_file_actions_addopen'.
9101         * modules/posix_spawn_file_actions_addopen: New file.
9102         * lib/spawn_faction_addopen.c: New file, from GNU libc with
9103         modifications.
9104         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
9105         the new module.
9106
9107         New module 'posix_spawn_file_actions_adddup2'.
9108         * modules/posix_spawn_file_actions_adddup2: New file.
9109         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
9110         modifications.
9111         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
9112         the new module.
9113
9114         New module 'posix_spawn_file_actions_addclose'.
9115         * modules/posix_spawn_file_actions_addclose: New file.
9116         * lib/spawn_faction_addclose.c: New file, from GNU libc with
9117         modifications.
9118         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
9119         the new module.
9120
9121         New module 'posix_spawn_file_actions_init'.
9122         * modules/posix_spawn_file_actions_init: New file.
9123         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
9124         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
9125         new module.
9126
9127         New module 'posix_spawn-internal'.
9128         * modules/posix_spawn-internal: New file.
9129         * lib/spawn_int.h: New file, from GNU libc with modifications.
9130         * lib/spawni.c: New file, from GNU libc with modifications.
9131         * m4/posix_spawn.m4: New file.
9132
9133         New module 'spawn'.
9134         * modules/spawn: New file.
9135         * lib/spawn.in.h: New file, from GNU libc with modifications.
9136         * m4/spawn_h.m4: New file.
9137         * doc/posix-headers/spawn.texi: Mention the new module.
9138
9139 2008-09-28  Bruno Haible  <bruno@clisp.org>
9140
9141         * modules/sched-tests: New file.
9142         * tests/test-sched.c: New file.
9143
9144         New module 'sched'.
9145         * modules/sched: New file.
9146         * lib/sched.in.h: New file.
9147         * m4/sched_h.m4: New file.
9148         * doc/posix-headers/sched.texi: Mention the new module.
9149
9150 2008-09-27  Eric Blake  <ebb9@byu.net>
9151
9152         Fix previous patch, and tweak references to $0.
9153         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
9154         (func_version, func_gnulib_dir): Don't call this program
9155         gnulib-tool.
9156         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
9157         with using $0 in function.
9158         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
9159         (func_fatal_error): Reuse the name the user invoked us with.
9160
9161 2008-09-27  Bruno Haible  <bruno@clisp.org>
9162
9163         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
9164         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
9165         (gl_ICONV_H): Not here.
9166         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
9167         instead of assigning ICONV_H directly.
9168
9169         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
9170         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
9171         WCHAR_H directly.
9172
9173 2008-09-27  Bruno Haible  <bruno@clisp.org>
9174
9175         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
9176         * modules/arpa_inet (Depends-on): Add link-warning.
9177         (Makefile.am): Insert the definition of GL_LINK-WARNING.
9178         * modules/unistd (Makefile.am): Likewise.
9179
9180 2008-09-26  Bruno Haible  <bruno@clisp.org>
9181
9182         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
9183         variables.
9184         (func_version): Essentially copied from gnulib-tool.
9185         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
9186         func_readlink): Copied from gnulib-tool.
9187
9188 2008-09-26  Bruno Haible  <bruno@clisp.org>
9189
9190         * gnulib-tool (func_version): Change directory to $gnulib_dir before
9191         invoking git-version-gen.
9192
9193 2008-09-26  Bruno Haible  <bruno@clisp.org>
9194
9195         * posix-modules: Update to directory names changed on 2008-01-19.
9196         Remove commas in output before splitting into words. No more need to
9197         avoid 'ftruncate' since 2007-02-19.
9198
9199 2008-09-26  Bruno Haible  <bruno@clisp.org>
9200
9201         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
9202
9203 2008-09-26  Bruno Haible  <bruno@clisp.org>
9204
9205         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
9206         * modules/fwriteerror (Depends-on): Add errno.
9207
9208 2008-09-26  Bruno Haible  <bruno@clisp.org>
9209
9210         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
9211         * tests/test-vc-list-files-cvs.sh: Likewise.
9212
9213 2008-09-26  Bruno Haible  <bruno@clisp.org>
9214
9215         * doc/posix-headers/sys_resource.texi: Reorder items.
9216
9217 2008-09-26  Jim Meyering  <meyering@redhat.com>
9218
9219         fts: tweak inode comparison function
9220         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
9221         inode numbers, as documented.
9222
9223         fts: sort dirent entries on inode number before traversing
9224         This avoids a quadratic, seek-related performance penalty when
9225         operating on a directory containing many entries (measurable at 10k;
9226         3.5 hours at 2 million entries with a cold cache) on certain types
9227         of file systems, including ext3 and ext4, but not tmpfs.
9228         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
9229         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
9230         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
9231         (fs_handles_readdir_ordered_dirents_efficiently): New function.
9232         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
9233         (fts_build): Set the stat.st_ino member from D_INO.
9234         If it is likely to be useful, sort dirent entries on inode number.
9235
9236         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
9237         and the struct statfs.f_type member.
9238         * modules/fts (Depends-on): Add d-ino.
9239
9240 2008-09-26  Bruno Haible  <bruno@clisp.org>
9241
9242         * modules/sigpipe-die (Depends-on): Add sigpipe.
9243
9244         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
9245         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
9246         and GNULIB_STDIO_H_SIGPIPE are set.
9247         * lib/stdio-write.c: New file.
9248         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
9249         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
9250         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
9251         REPLACE_STDIO_WRITE_FUNCS.
9252         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
9253         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
9254         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
9255         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
9256         * modules/stdio (Files): Add lib/stdio-write.c.
9257         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
9258         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
9259         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
9260         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
9261         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
9262         REPLACE_FPRINTF_POSIX.
9263         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
9264         REPLACE_PRINTF_POSIX.
9265         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
9266         REPLACE_VFPRINTF_POSIX.
9267         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
9268         REPLACE_VPRINTF_POSIX.
9269         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
9270         SIGPIPE issue.
9271         * doc/posix-functions/fputc.texi: Likewise.
9272         * doc/posix-functions/fputs.texi: Likewise.
9273         * doc/posix-functions/fwrite.texi: Likewise.
9274         * doc/posix-functions/printf.texi: Likewise.
9275         * doc/posix-functions/putc.texi: Likewise.
9276         * doc/posix-functions/putchar.texi: Likewise.
9277         * doc/posix-functions/puts.texi: Likewise.
9278         * doc/posix-functions/vfprintf.texi: Likewise.
9279         * doc/posix-functions/vprintf.texi: Likewise.
9280
9281         * modules/safe-write (Depends-on): Add write.
9282
9283         * modules/sigpipe-tests: New file.
9284         * tests/test-sigpipe.c: New file.
9285         * tests/test-sigpipe.sh: New file.
9286
9287         * modules/write: New file.
9288         * lib/unistd.in.h: Include <sys/types.h>.
9289         (write): New declaration.
9290         * lib/write.c: New file.
9291         * m4/write.m4: New file.
9292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9293         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
9294         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
9295         GNULIB_WRITE, REPLACE_WRITE.
9296         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
9297         and the SIGPIPE issue.
9298
9299         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
9300         (raise): New declaration.
9301         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
9302         (ext_signal): New function.
9303         (rpl_raise): New function.
9304         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9305         GNULIB_SIGNAL_H_SIGPIPE.
9306         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
9307         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
9308
9309         * modules/sigpipe: New file.
9310         * m4/sigpipe.m4: New file.
9311
9312 2008-09-25  Derek Price  <derek@ximbiot.com>
9313             Bruno Haible  <bruno@clisp.org>
9314
9315         * gnulib-tool (func_import): Report all license incompatibilities, not
9316         just the first one.
9317
9318 2008-09-25  Bruno Haible  <bruno@clisp.org>
9319
9320         * gnulib-tool (func_import): When computing the edits, consider not
9321         only the Makefile.ams that exist but also those that will be generated.
9322
9323 2008-09-25  Simon Josefsson  <simon@josefsson.org>
9324
9325         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
9326         fixes gnulib-tool --test warning about duplicate dependency.
9327
9328 2008-09-25  Bruno Haible  <bruno@clisp.org>
9329
9330         * gnulib-tool: Don't ask the user to perform edits in the generated
9331         Makefile.ams.
9332         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
9333         apply to the Makefile.am being generated.
9334         (func_emit_tests_Makefile_am): Execute edits that apply to the
9335         Makefile.am being generated.
9336         (func_import): Setup list of Makefile.am edits before emitting the
9337         Makefile.ams, not at the end.
9338         (func_create_testdir): Update.
9339         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9340
9341 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9342
9343         * gnulib-tool (func_import): Store the --tests-base option in the
9344         comment in gnulib-cache.m4.
9345
9346 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
9347
9348         * NEWS: Document increased portability that sys_select now provides.
9349
9350         * lib/sys_select.in.h: Install select wrapper.
9351         * lib/sys_socket.in.h: Use more descriptive name when there is no
9352         select wrapper.
9353         * lib/winsock-select.c: New.
9354         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
9355         Require gl_HEADER_SYS_SOCKET.
9356         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
9357         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
9358         * tests/test-sys_select.c: Add functional tests.
9359
9360 2008-09-24  Eric Blake  <ebb9@byu.net>
9361
9362         open, fopen: close fd leak in last patch
9363         * lib/open.c (rpl_open): Close fd before returning error.
9364         * lib/fopen.c (rpl_fopen): Close fd before returning error.
9365         * doc/posix-functions/open.texi (open): Document that Irix also
9366         has the bug.
9367         * doc/posix-functions/fopen.texi (fopen): Likewise.
9368         Reported by Paolo Bonzini.
9369
9370 2008-09-24  Bruno Haible  <bruno@clisp.org>
9371
9372         Ensure that a filename ending in a slash cannot be used to access a
9373         non-directory.
9374         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
9375         to check whether it's really a directory.
9376         * lib/fopen.c: Include fcntl.h, unistd.h.
9377         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
9378         and fdopen().
9379         * modules/fopen (Depends-on): Add unistd.
9380         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
9381         * tests/test-fopen.c (main): Likewise.
9382         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
9383         * doc/posix-functions/fopen.texi: Likewise.
9384         Reported by Eric Blake.
9385
9386 2008-09-23  Eric Blake  <ebb9@byu.net>
9387
9388         c-stack: avoid compiler optimizations when provoking overflow
9389         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
9390         recursion harder to optimize, to ensure a stack overflow occurs.
9391         * tests/test-c-stack.c (recurse): Likewise.
9392         Borrowed from libsigsegv.
9393
9394         c-stack: work around Irix sigaltstack bug
9395         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
9396         whether sigaltstack uses wrong end of stack_t (copied in part from
9397         libsigsegv).
9398         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
9399         Irix bug, without requiring an over-allocation.
9400         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
9401         bug.
9402
9403         fopen: document mingw bug on directories
9404         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
9405         not allowing a stream visiting a directory, even though reading
9406         from such a stream is not portable.
9407
9408 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
9409
9410         * lib/poll.c: Rewrite.
9411         * modules/poll: Depend on alloca.
9412
9413 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
9414
9415         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
9416         instead define prototypes for a full set of wrappers.  Ensure
9417         that Cygwin does not use the compatibility code, which is only
9418         for MinGW.
9419         * lib/winsock.c: New.
9420         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
9421         * modules/sys_socket: Add lib/winsock.c.
9422
9423         * modules/poll-tests: Add errno and perror.
9424         * tests/test-poll.c: Use ioctl, not ioctlsocket.
9425
9426 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
9427
9428         * tests/test-poll.c: Downgrade minimum needed Winsock version.
9429
9430 2008-09-23  Bruno Haible  <bruno@clisp.org>
9431
9432         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
9433         * doc/glibc-functions/*: Likewise.
9434
9435 2008-09-23  Simon Josefsson  <simon@josefsson.org>
9436
9437         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
9438         success.
9439
9440 2008-09-22  Eric Blake  <ebb9@byu.net>
9441             Bruno Haible  <bruno@clisp.org>
9442
9443         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
9444         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
9445         supply %A but mishandle pseudo-NaN.
9446         Reported by Simon Josefsson.
9447
9448 2008-09-21  Bruno Haible  <bruno@clisp.org>
9449
9450         * tests/test-lock.c (main): Tweak skip message.
9451         * tests/test-tls.c (main): Likewise.
9452
9453 2008-09-21  Bruno Haible  <bruno@clisp.org>
9454
9455         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
9456         whether 'struct sigaction' has sa_sigaction here...
9457         (gl_PREREQ_SIG_HANDLER_H): ... not here.
9458         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
9459
9460 2008-09-21  Bruno Haible  <bruno@clisp.org>
9461
9462         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
9463         section.
9464         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
9465         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
9466         the new section.
9467         (Support for obsolete systems lacking POSIX:2001): New section.
9468         (String handling <string.h>): Move strdup to the new section.
9469         Suggested by Simon Josefsson and Paolo Bonzini.
9470
9471 2008-09-21  Bruno Haible  <bruno@clisp.org>
9472
9473         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
9474         exponents in %e and %g results on 'long double'. Needed for mingw's
9475         improved *printf functions.
9476         * tests/test-vasprintf-posix.c (test_function): Likewise.
9477         * tests/test-snprintf-posix.h (test_function): Likewise.
9478         * tests/test-sprintf-posix.h (test_function): Likewise.
9479         Reported by Eric Blake.
9480
9481 2008-09-21  Bruno Haible  <bruno@clisp.org>
9482
9483         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
9484         * tests/test-sprintf-posix.h (test_function): Likewise.
9485
9486 2008-09-21  Bruno Haible  <bruno@clisp.org>
9487
9488         * modules/getpass (Depends-on): Add strdup-posix.
9489
9490         New module 'strdup-posix'.
9491         * modules/strdup-posix: New file.
9492         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
9493         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
9494         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
9495         REPLACE_STRDUP.
9496         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
9497         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
9498         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
9499         strdup-posix.
9500
9501         * modules/strdup (Depends-on): Remove malloc-posix.
9502
9503 2008-09-20  Bruno Haible  <bruno@clisp.org>
9504
9505         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
9506         Wildenhues.
9507
9508 2008-09-20  Bruno Haible  <bruno@clisp.org>
9509
9510         Ensure that wint_t gets defined on IRIX 5.3.
9511         * lib/wchar.in.h (wint_t): Define if not defined by the system.
9512         * lib/wctype.in.h (wint_t): Likewise.
9513         (__wctype_wint_t): Remove type.
9514         (isw*): Use wint_t instead of __wctype_wint_t.
9515         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
9516         * modules/wchar (Files): Add m4/wint_t.m4.
9517         (Makefile.am): Substitute HAVE_WINT_T.
9518         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
9519         * tests/test-wctype.c: Check that wint_t is defined.
9520         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
9521         * doc/posix-headers/wctype.texi: Likewise.
9522         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9523
9524 2008-09-18  Bruno Haible  <bruno@clisp.org>
9525
9526         * gnulib-tool (func_exit): Update comment.
9527
9528 2008-09-18  Simon Josefsson  <simon@josefsson.org>
9529
9530         * modules/getaddrinfo (Depends-on): Remove strdup, this module
9531         assumes strdup exists and does not depend on strdup to return
9532         ENOMEM on out of memory conditions.
9533
9534 2008-09-18  Bruno Haible  <bruno@clisp.org>
9535
9536         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
9537         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
9538         digits for the exponent.
9539
9540 2008-09-18  Jim Meyering  <meyering@redhat.com>
9541             Bruno Haible  <bruno@clisp.org>
9542
9543         * lib/vasnprintf.c (decimal_point_char): Define also if
9544         NEED_PRINTF_INFINITE_LONG_DOUBLE.
9545
9546 2008-09-16  Bruno Haible  <bruno@clisp.org>
9547         and Eric Blake  <ebb9@byu.net>
9548
9549         vasnprintf: support Irix 5.3
9550         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
9551         that mishandle long double infinity.
9552         Reported by Tom G. Christensen.
9553
9554 2008-09-16  Bruno Haible  <bruno@clisp.org>
9555
9556         * doc/glibc-functions/scandir.texi: Mention the function is missing on
9557         Solaris 9.
9558         * doc/glibc-functions/alphasort.texi: Likewise.
9559         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
9560
9561 2008-09-16  Jim Meyering  <meyering@redhat.com>
9562
9563         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
9564         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
9565         a umask modification leak out of a subshell.  Otherwise, the
9566         opensolaris /bin/sh would be accepted and thus cause unwarranted
9567         failures in the coreutils test suite.
9568
9569 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
9570
9571         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
9572         to succeed.
9573
9574 2008-09-16  Jim Meyering  <meyering@redhat.com>
9575
9576         avoid spurious test failure when library is built without ACL support
9577         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
9578         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
9579         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
9580         * tests/test-copy-acl.sh: Likewise.
9581
9582 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9583
9584         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
9585         based on character occurrence counts.
9586
9587 2008-09-15  Eric Blake  <ebb9@byu.net>
9588
9589         tests: avoid some compiler warnings
9590         * tests/test-memchr.c (main): Pass NULL indirectly.
9591         * tests/test-closein.c (main): Avoid unused variable.
9592
9593 2008-09-15  Bruno Haible  <bruno@clisp.org>
9594
9595         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
9596         are missing on OpenBSD 4.0 individually.
9597         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9598
9599 2008-09-15  Bruno Haible  <bruno@clisp.org>
9600
9601         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
9602         * doc/posix-functions/strerror.texi: Mention also Cygwin.
9603         * doc/posix-functions/perror.texi: Likewise.
9604         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
9605         is missing.
9606         Reported by Eric Blake.
9607
9608         * lib/errno.in.h: Use replacement values >= 2000.
9609         Reported by Eric Blake.
9610
9611 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9612
9613         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
9614         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
9615         limit.
9616         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
9617         compareseq was aborted.
9618
9619 2008-09-14  Bruno Haible  <bruno@clisp.org>
9620
9621         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
9622         yvec_edit_count.
9623         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
9624         (fstrcmp_bounded): Simplify result computation accordingly.
9625
9626 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9627
9628         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
9629         (fstrcmp): Define in terms of fstrcmp_bounded.
9630         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
9631         lower_bound argument.
9632         Return quickly if the result is certainly < lower_bound.
9633         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
9634
9635 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9636
9637         * lib/diffseq.h (EARLY_ABORT): New macro.
9638         (compareseq): Change return type to bool. Return true when EARLY_ABORT
9639         evaluates to true.
9640
9641 2008-09-14  Bruno Haible  <bruno@clisp.org>
9642
9643         * modules/perror-tests: New file.
9644         * tests/test-perror.sh: New file.
9645         * tests/test-perror.c: New file.
9646
9647         New module 'perror'.
9648         * lib/stdio.in.h (perror): New declaration.
9649         * lib/perror.c: New file.
9650         * m4/perror.m4: New file.
9651         * modules/perror: New file.
9652         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
9653         * doc/posix-functions/perror.texi: Mention the perror module.
9654         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
9655         REPLACE_PERROR.
9656         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
9657         REPLACE_PERROR.
9658
9659 2008-09-14  Bruno Haible  <bruno@clisp.org>
9660
9661         * modules/stdio (Makefile.am): Reorder to match the order in
9662         lib/stdio.in.h.
9663         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
9664
9665 2008-09-13  Bruno Haible  <bruno@clisp.org>
9666
9667         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
9668
9669 2008-09-13  Bruno Haible  <bruno@clisp.org>
9670
9671         Extend strerror to cover the added errno values.
9672         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
9673         (rpl_strerror): Provide error messages for the added errno values and
9674         for the WSA* values.
9675         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
9676         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
9677         strerror.
9678         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
9679         * modules/strerror (Depends-on): Add errno.
9680         * doc/posix-functions/strerror.texi: Document the change.
9681         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
9682         and EOVERFLOW.
9683
9684 2008-09-13  Bruno Haible  <bruno@clisp.org>
9685
9686         * modules/EOVERFLOW: Remove file.
9687         * m4/eoverflow.m4: Remove file.
9688         * modules/EOVERFLOW-tests: Remove file.
9689         * tests/test-EOVERFLOW.c: Remove file.
9690         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
9691         * modules/ftell (Depends-on): Likewise.
9692         * modules/getdelim (Depends-on): Likewise.
9693         * modules/getugroups (Depends-on): Likewise.
9694         * modules/poll (Depends-on): Likewise.
9695         * modules/snprintf (Depends-on): Likewise.
9696         * modules/sprintf-posix (Depends-on): Likewise.
9697         * modules/vasnprintf (Depends-on): Likewise.
9698         * modules/vasprintf (Depends-on): Likewise.
9699         * modules/vfprintf-posix (Depends-on): Likewise.
9700         * modules/vsnprintf (Depends-on): Likewise.
9701         * modules/vsprintf-posix (Depends-on): Likewise.
9702         * modules/xvasprintf (Depends-on): Likewise.
9703         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
9704         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
9705         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
9706         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
9707         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9708         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
9709         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
9710         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
9711         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9712         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
9713         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
9714         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
9715         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9716         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
9717         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
9718         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
9719         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9720         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
9721         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
9722         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
9723         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9724         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
9725         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
9726         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
9727         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
9728         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9729         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
9730         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
9731         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
9732         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
9733         * MODULES.html.sh: Remove EOVERFLOW.
9734         * NEWS: Mention the change.
9735
9736 2008-09-13  Bruno Haible  <bruno@clisp.org>
9737
9738         * modules/errno-tests: New file.
9739         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
9740
9741         * lib/errno.in.h: New file.
9742         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
9743         * modules/errno: New file.
9744         * doc/posix-headers/errno.texi: Update documentation.
9745         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
9746
9747 2008-09-13  Bruno Haible  <bruno@clisp.org>
9748
9749         * tests/test-poll.c: Use #if for native Windows, rather than testing
9750         __MSVCRT__.
9751
9752 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9753             Bruno Haible  <bruno@clisp.org>
9754
9755         * lib/glob.c: Don't include <pwd.h> on native Windows.
9756         (WINDOWS32): New macro.
9757         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
9758
9759 2008-09-13  Bruno Haible  <bruno@clisp.org>
9760
9761         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
9762         (ETIMEDOUT): Remove macro.
9763         (glthread_cond_timedwait_multithreaded): New declaration.
9764         (glthread_cond_timedwait): Use it.
9765         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
9766         (glthread_cond_timedwait_multithreaded): New function.
9767
9768 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
9769
9770         * modules/poll-tests: Do not check for io.h.
9771         * tests/test-poll.c: Check for __MSVCRT__ instead.
9772
9773 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
9774
9775         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
9776         * modules/poll-tests: Add inet_pton, stdbool, sockets.
9777         * tests/test-poll.c: Use them.  Use _pipe on Windows.
9778
9779 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
9780
9781         * modules/poll-tests: New.
9782         * tests/test-poll.c: New.
9783
9784 2008-09-12  Eric Blake  <ebb9@byu.net>
9785
9786         frexp: test for NetBSD failure on -0.0
9787         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
9788         not all, bugs from NetBSD 3.0 have been fixed.
9789         * doc/posix-functions/frexp.texi (frexp): Document bug.
9790         Reported by Thomas Klausner.
9791
9792         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
9793         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
9794         literal -0.0.
9795         Reported by Jonathan C. Patschke <jp@centtech.com>.
9796
9797 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9798
9799         * lib/glthread/cond.h: Use dummy implementation also if
9800         USE_WIN32_THREADS.
9801
9802 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9803
9804         * modules/fnmatch-posix (License): Change to LGPLv2+.
9805         * modules/fnmatch-gnu (License): Likewise.
9806
9807 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9808
9809         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
9810
9811 2008-09-11  Jim Meyering  <meyering@redhat.com>
9812
9813         * users.txt: Add gtk-vnc.
9814
9815 2008-09-08  Simon Josefsson  <simon@josefsson.org>
9816
9817         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
9818         rotate amounts.
9819
9820         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
9821         required for 16-bit and 8-bit rotates.
9822         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
9823         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
9824         UINT8_MAX instead of hard-coded constants.
9825         Suggested by Paul Eggert.
9826
9827 2008-09-07  Bruno Haible  <bruno@clisp.org>
9828
9829         * tests/test-striconveh.c (main): Check behaviour when converting from
9830         UTF-7.
9831
9832         Make striconveh work better with stateful encodings.
9833         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
9834         that iconv does not increment the inptr when returning -1/EINVAL.
9835
9836 2008-09-07  Bruno Haible  <bruno@clisp.org>
9837
9838         * build-aux/config.rpath: Update according to libtool-2.2.6.
9839         * build-aux/config.libpath: Likewise.
9840
9841 2008-09-06  Bruno Haible  <bruno@clisp.org>
9842
9843         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
9844         * lib/freadptr.c (freadptr): Likewise.
9845         * lib/freadseek.c (freadptrinc): Likewise.
9846         Reported by Simon Josefsson.
9847
9848 2008-09-06  Bruno Haible  <bruno@clisp.org>
9849
9850         * modules/freadptr (License): Change to LGPLv2+.
9851         * modules/freadseek (License): Likewise.
9852         Suggested by Eric Blake.
9853
9854         * modules/memchr2 (License): Change to LGPLv2+.
9855         Approved by Eric Blake.
9856
9857 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9858             Bruno Haible  <bruno@clisp.org>
9859
9860         Make gnulib-tool work with native 'sed' on AIX.
9861         * gnulib-tool (sed_noop): New variable.
9862         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
9863         func_add_or_update, func_create_testdir): Use it to initialize sed
9864         script variables.
9865         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9866
9867 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
9868             Bruno Haible  <bruno@clisp.org>
9869
9870         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
9871         also works after #include directives.
9872
9873 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
9874
9875         getdate.y: reject an out-of-range timezone value
9876         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
9877         the range [-24...+24].  When specified with only one or two digits,
9878         * tests/test-getdate.c: Tests for the fix.
9879         * doc/getdate.texi: Document this change.
9880
9881 2008-09-03  Bruno Haible  <bruno@clisp.org>
9882
9883         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
9884
9885 2008-09-02  Simon Josefsson  <simon@josefsson.org>
9886
9887         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
9888         <bruce.korb@gmail.com> with ideas from Ben Pfaff
9889         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
9890         Blake <ebb9@byu.net>.
9891
9892         * tests/test-bitrotate.c: Add more test vectors.
9893
9894 2008-09-02  Eric Blake  <ebb9@byu.net>
9895
9896         vasnprintf-posix: handle large precision via %.*d
9897         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
9898         when handling it ourselves.
9899         * tests/test-vasnprintf-posix.c (test_function): Add test.
9900         * tests/test-snprintf-posix.h (test_function): Likewise.
9901         * tests/test-sprintf-posix.h (test_function): Likewise.
9902         * tests/test-vasprintf-posix.c (test_function): Likewise.
9903         Reported by Alain Guibert.
9904
9905 2008-09-01  Eric Blake  <ebb9@byu.net>
9906
9907         c-stack: make configure-time check more robust
9908         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
9909         successful sigaction call.
9910         Reported by Tom G. Christensen.
9911
9912 2008-09-01  Bruno Haible  <bruno@clisp.org>
9913
9914         New module 'findprog-lgpl'.
9915         * modules/findprog-lgpl: New file.
9916         * lib/findprog-lgpl.c: New file.
9917         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
9918         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
9919         to decide whether to use strdup or xstrdup, concatenated_filename or
9920         xconcatenated_filename.
9921
9922 2008-09-01  Bruno Haible  <bruno@clisp.org>
9923
9924         Split module 'concat-filename' into 'concat-filename' (LGPL) and
9925         'xconcat-filename' (GPL).
9926         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
9927         (License): Change to LGPLv2+.
9928         * modules/xconcat-filename: New file.
9929         * lib/concat-filename.h (concatenated_filename): Change specification.
9930         (xconcatenated_filename): New declaration.
9931         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
9932         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
9933         memory situations.
9934         * lib/xconcat-filename.c: New file.
9935         * NEWS: Mention the change.
9936         * lib/findprog.c: Include concat-filename.h, not filename.h.
9937         (find_in_path): Use xconcatenated_filename instead of
9938         concatenated_filename.
9939         * lib/javacomp.c: Include concat-filename.h, not filename.h.
9940         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
9941         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
9942         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
9943         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
9944         instead of concatenated_filename.
9945         * lib/javaexec.c: Include concat-filename.h, not filename.h.
9946         (execute_java_class): Use xconcatenated_filename instead of
9947         concatenated_filename.
9948         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
9949         * modules/javacomp (Depends-on): Likewise.
9950         * modules/javaexec (Depends-on): Likewise.
9951
9952 2008-09-01  Bruno Haible  <bruno@clisp.org>
9953
9954         Split module 'filename' into 'filename' and 'concat-filename'.
9955         * modules/filename: Keep only lib/filename.h.
9956         (License): Change to LGPLv2+.
9957         * modules/concat-filename: New file, extracted from modules/filename.
9958         * lib/filename.h (concatenated_filename): Remove declaration.
9959         * lib/concat-filename.h: New file, extracted from lib/filename.h.
9960         * lib/concat-filename.c: Include concat-filename.h.
9961         * NEWS: Mention the change.
9962
9963 2008-09-01  Simon Josefsson  <simon@josefsson.org>
9964
9965         * lib/bitrotate.h (rotl8, rotr8): Add.
9966
9967         * modules/bitrotate (configure.ac): Need
9968         AC_REQUIRE([AC_C_INLINE]).
9969         (Description): Mention stdint.h.  Reported by Bruno Haible
9970         <bruno@clisp.org>.
9971
9972         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
9973         Paolo Bonzini <bonzini@gnu.org>.
9974
9975 2008-08-31  Bruno Haible  <bruno@clisp.org>
9976
9977         Assume Solaris specific bi-arch conventions on Solaris systems.
9978         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
9979         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
9980         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
9981         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
9982         like acl_libdirstem.
9983         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
9984         acl_libdirstem.
9985         * NEWS: Mention the change.
9986         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
9987
9988 2008-08-31  Jim Meyering  <meyering@redhat.com>
9989
9990         * lib/strftime.h: Add comments describing the two added arguments.
9991
9992         remove duplicate #include directives
9993         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
9994         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
9995
9996 2008-08-31  Bruno Haible  <bruno@clisp.org>
9997
9998         New module 'sigpipe-die'.
9999         * modules/sigpipe-die: New file.
10000         * lib/sigpipe-die.h: New file.
10001         * lib/sigpipe-die.c: New file.
10002         * MODULES.html.sh (Signal handling): Add sigpipe-die.
10003
10004 2008-08-31  Bruno Haible  <bruno@clisp.org>
10005
10006         Don't override previously installed signal handlers.
10007         * lib/fatal-signal.c (saved_sigactions): New variable.
10008         (uninstall_handlers): Reset the signal to the saved handler, not
10009         to SIG_DFL (except when ignored).
10010         (install_handlers): Save the previous handlers.
10011
10012 2008-08-30  Bruno Haible  <bruno@clisp.org>
10013
10014         * gnulib-tool (func_reset_sigpipe): New function.
10015         (func_get_automake_snippet, func_modules_transitive_closure,
10016         func_import): Invoke it before a join command that reads from stdin,
10017         to avoid "echo: write error: Broken pipe" error messages on stderr.
10018         Reported by Sam Steingold <sds@gnu.org>.
10019
10020 2008-08-30  Bruno Haible  <bruno@clisp.org>
10021
10022         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
10023         Code copied from m4/open.m4.
10024         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
10025         access and the filename ends in a slash. Code copied from lib/open.c.
10026         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
10027         * tests/test-fopen.c (main): Check against bug with trailing slash.
10028
10029 2008-08-29  Bruno Haible  <bruno@clisp.org>
10030
10031         Avoid some "gcc -pedantic" warnings.
10032         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
10033         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
10034         * lib/dirent.in.h: Likewise.
10035         * lib/fcntl.in.h: Likewise.
10036         * lib/float.in.h: Likewise.
10037         * lib/iconv.in.h: Likewise.
10038         * lib/inttypes.in.h: Likewise.
10039         * lib/locale.in.h: Likewise.
10040         * lib/math.in.h: Likewise.
10041         * lib/netinet_in.in.h: Likewise.
10042         * lib/search.in.h: Likewise.
10043         * lib/signal.in.h: Likewise.
10044         * lib/stdarg.in.h: Likewise.
10045         * lib/stdint.in.h: Likewise.
10046         * lib/stdio.in.h: Likewise.
10047         * lib/stdlib.in.h: Likewise.
10048         * lib/string.in.h: Likewise.
10049         * lib/strings.in.h: Likewise.
10050         * lib/sys_select.in.h: Likewise.
10051         * lib/sys_socket.in.h: Likewise.
10052         * lib/sys_stat.in.h: Likewise.
10053         * lib/sys_time.in.h: Likewise.
10054         * lib/sysexits.in.h: Likewise.
10055         * lib/time.in.h: Likewise.
10056         * lib/unistd.in.h: Likewise.
10057         * lib/wchar.in.h: Likewise.
10058         * lib/wctype.in.h: Likewise.
10059         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
10060         * modules/fchdir (Makefile.am): Likewise.
10061         * modules/fcntl (Makefile.am): Likewise.
10062         * modules/float (Makefile.am): Likewise.
10063         * modules/iconv_open (Makefile.am): Likewise.
10064         * modules/inttypes (Makefile.am): Likewise.
10065         * modules/locale (Makefile.am): Likewise.
10066         * modules/math (Makefile.am): Likewise.
10067         * modules/netinet_in (Makefile.am): Likewise.
10068         * modules/search (Makefile.am): Likewise.
10069         * modules/signal (Makefile.am): Likewise.
10070         * modules/stdarg (Makefile.am): Likewise.
10071         * modules/stdint (Makefile.am): Likewise.
10072         * modules/stdio (Makefile.am): Likewise.
10073         * modules/stdlib (Makefile.am): Likewise.
10074         * modules/string (Makefile.am): Likewise.
10075         * modules/strings (Makefile.am): Likewise.
10076         * modules/sys_select (Makefile.am): Likewise.
10077         * modules/sys_socket (Makefile.am): Likewise.
10078         * modules/sys_stat (Makefile.am): Likewise.
10079         * modules/sys_time (Makefile.am): Likewise.
10080         * modules/sysexits (Makefile.am): Likewise.
10081         * modules/time (Makefile.am): Likewise.
10082         * modules/unistd (Makefile.am): Likewise.
10083         * modules/wchar (Makefile.am): Likewise.
10084         * modules/wctype (Makefile.am): Likewise.
10085         Reported by Reuben Thomas <rrt@sc3d.org>.
10086
10087 2008-08-29  Bruno Haible  <bruno@clisp.org>
10088
10089         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
10090         any more.
10091
10092 2008-08-29  Simon Josefsson  <simon@josefsson.org>
10093
10094         * MODULES.html.sh (Misc): Add bitrotate.
10095
10096         * modules/bitrotate: New file.
10097
10098         * lib/bitrotate.h: New file.
10099
10100         * modules/bitrotate-tests: New file.
10101
10102         * tests/test-bitrotate.c: New file.
10103
10104         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
10105         on the bitrotate module.
10106
10107         * lib/arctwo.c: Use new bitrotate module.
10108
10109 2008-08-29  Jim Meyering  <meyering@redhat.com>
10110
10111         bootstrap: merge changes from coreutils
10112         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
10113         of copied files.  Remove a kludge, now that this is fixed.
10114         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
10115         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
10116         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
10117
10118 2008-08-29  Bruno Haible  <bruno@clisp.org>
10119
10120         * MODULES.html.sh: Remove --cvs-urls option.
10121
10122 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
10123
10124         maint.mk: adjust to file name change
10125         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
10126
10127 2008-08-28  Jim Meyering  <meyering@redhat.com>
10128
10129         * modules/getndelim2 (License): Relicense to LGPLv2+.
10130         Approved by Richard Stallman for the version of 1995, and by
10131         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
10132
10133 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
10134
10135         * lib/getdelim.c (flockfile, funlockfile): Make all of them
10136         dummy if one is not available.  Do not touch them if
10137         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
10138         (getc_maybe_unlocked): New.
10139         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
10140
10141 2008-08-26  Eric Blake  <ebb9@byu.net>
10142
10143         doc/INSTALL: resync from autoconf
10144         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
10145         (INSTALL_PRELUDE): Delete; this is done more efficiently by
10146         moving...
10147         * install.texi [!autoconf]: ...here.  Resync from autoconf.
10148         * INSTALL: Regenerate.
10149         * INSTALL.ISO: New file.
10150         * INSTALL.UTF-8: Likewise.
10151
10152 2008-08-26  Jim Meyering  <meyering@redhat.com>
10153
10154         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
10155         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
10156         these definitions conditional, so that they may be overridden, too.
10157
10158 2008-08-26  Bruno Haible  <bruno@clisp.org>
10159
10160         Generate INSTALL file variants with prettier quotes.
10161         * doc/Makefile (INSTALL_PRELUDE): New macro.
10162         (INSTALL): Use it.
10163         (INSTALL.ISO, INSTALL.UTF-8): New rules.
10164
10165 2008-08-26  Bruno Haible  <bruno@clisp.org>
10166
10167         Run makeinfo in an English locale.
10168         * doc/Makefile (MAKEINFO): New variable.
10169
10170 2008-08-26  Bruno Haible  <bruno@clisp.org>
10171
10172         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
10173         Suggested by Eric Blake.
10174
10175 2008-08-25  Bruno Haible  <bruno@clisp.org>
10176
10177         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
10178
10179 2008-08-25  Eric Blake  <ebb9@byu.net>
10180
10181         c-stack: test that stack overflow can be caught
10182         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
10183         that platform allows handling stack overflow; at least OS/2 EMX
10184         has sigaltstack, but crashes before transferring control to
10185         handler on stack overflow.
10186         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
10187         check for HAVE_STACK_OVERFLOW_HANDLING.
10188         Reported by Elbert Pol.
10189
10190 2008-08-25  Bruno Haible  <bruno@clisp.org>
10191
10192         * doc/posix-functions/strftime.texi: Fix description of strftime
10193         module.
10194
10195 2008-08-24  Bruno Haible  <bruno@clisp.org>
10196
10197         * tests/uniwidth/test-uc_width2.c: New file.
10198         * tests/uniwidth/test-uc_width2.sh: New file.
10199         * modules/uniwidth/width-tests (Files): Add the new files.
10200         (TESTS): Add uniwidth/test-uc_width2.sh.
10201         (TESTS_ENVIRONMENT): New variable.
10202         (check_PROGRAMS): Add test-uc_width2.
10203         (test_uc_width2_SOURCES): New variable.
10204
10205         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
10206         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
10207         not 0x00AB.
10208         Reported by Alexander V. Lukyanov <lav@netis.ru>.
10209
10210 2008-08-22  Eric Blake  <ebb9@byu.net>
10211
10212         test-lock, test-tls: mention why a test is skipped
10213         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
10214         skipped.
10215         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
10216
10217         count-one-bits: relax license
10218         * modules/count-one-bits (License): Relicense to LGPLv2+.
10219         Suggested by Ludovic Courtès, approved by Ben Pfaff.
10220
10221 2008-08-22  Andreas Schwab  <schwab@suse.de>
10222
10223         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
10224         Remove spurious space in assignment.
10225
10226 2008-08-21  Simon Josefsson  <simon@josefsson.org>
10227
10228         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
10229         Paul Eggert <eggert@CS.UCLA.EDU>.
10230
10231 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
10232
10233         * modules/gettext: Add m4/threadlib.m4.
10234
10235 2008-08-19  Eric Blake  <ebb9@byu.net>
10236
10237         test-c-stack: fix compilation failure on FreeBSD 5.0
10238         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
10239         headers before <sys/resource.h>.
10240         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
10241         the bug.
10242         Reported by Nelson H. F. Beebe.
10243
10244         strverscmp: migrate from "strverscmp.h" to <string.h>
10245         * modules/string (Makefile.am): Add new hooks.
10246         * modules/strverscmp (Files): Remove strverscmp.h.
10247         (Depends-on): Add string.
10248         (configure.ac): Add indicator.
10249         (Include): Mention new header.
10250         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
10251         defaults.
10252         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
10253         results.
10254         * lib/strverscmp.h: Delete.
10255         * lib/string.in.h (strverscmp): Provide declaration, when needed.
10256         * tests/test-strverscmp.c (includes): Adjust client.
10257         * lib/check-version.c (includes): Likewise.
10258         * NEWS: Document the change.
10259
10260         strverscmp: add unit test
10261         * modules/strverscmp-tests: New file.
10262         * tests/test-strverscmp.c: Likewise.
10263
10264 2008-08-19  Simon Josefsson  <simon@josefsson.org>
10265
10266         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
10267         regarding Windows crypto stuff, from Mono.
10268
10269 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
10270
10271         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
10272         if present, for intel RND.  Return error on failures.
10273
10274 2008-08-18  Ben Pfaff  <blp@gnu.org>
10275
10276         gitlog-to-changelog: give better diagnostic for failed pipe-open
10277         * build-aux/gitlog-to-changelog: Improve error message: suggest
10278         that the version of Git may be too old.
10279
10280 2008-08-18  Simon Josefsson  <simon@josefsson.org>
10281
10282         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
10283         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
10284
10285 2008-08-18  Bruno Haible  <bruno@clisp.org>
10286
10287         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
10288         pthread_in_use().
10289
10290 2008-08-18  Bruno Haible  <bruno@clisp.org>
10291
10292         * lib/glthread/threadlib.c: Include <pthread.h>.
10293
10294 2008-08-18  Bruno Haible  <bruno@clisp.org>
10295
10296         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
10297         glthread_recursive_lock_* macros.
10298         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
10299         Fix syntax error.
10300
10301 2008-08-18  Bruno Haible  <bruno@clisp.org>
10302
10303         * lib/glthread/thread.c: Avoid forcing a context switch right after
10304         thread creation.
10305
10306 2008-08-17  Bruno Haible  <bruno@clisp.org>
10307
10308         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
10309         * lib/glthread/thread.h: Provide Win32 specific implementation.
10310         * modules/thread (Files): Add lib/glthread/thread.c.
10311         (Depends-on): Add lock.
10312         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
10313
10314 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10315
10316         New module 'yield'.
10317         * modules/yield: New file.
10318         * lib/glthread/yield.h: New file.
10319         * m4/yield.m4: New file.
10320         * MODULES.html.sh (Multithreading): Add yield.
10321
10322 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10323
10324         New module 'thread'.
10325         * modules/thread: New file.
10326         * lib/glthread/thread.h: New file.
10327         * m4/thread.m4: New file.
10328         * MODULES.html.sh (Multithreading): Add thread.
10329
10330 2008-08-17  Bruno Haible  <bruno@clisp.org>
10331
10332         * lib/glthread/lock.h: Include <stdlib.h> always.
10333         * lib/glthread/tls.h: Likewise.
10334         * lib/glthread/cond.h: Likewise.
10335
10336 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10337
10338         New module 'cond'.
10339         * modules/cond: New file.
10340         * lib/glthread/cond.h: New file.
10341         * lib/glthread/cond.c: New file.
10342         * m4/cond.m4: New file.
10343         * MODULES.html.sh (Multithreading): Add cond.
10344
10345 2008-08-16  Eric Blake  <ebb9@byu.net>
10346
10347         c-stack: fix regression on Irix 5.3 from 2008-06-21
10348         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
10349         sa_sigaction...
10350         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
10351         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
10352         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
10353         * modules/signal (Makefile.am): Use the value.
10354         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
10355         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
10356         * doc/posix-headers/signal.texi (signal.h): Document this
10357         portability issue.
10358         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
10359         Reported by Tom G. Christensen.
10360
10361 2008-08-17  Bruno Haible  <bruno@clisp.org>
10362
10363         New module 'threadlib'.
10364         * modules/threadlib: New file.
10365         * lib/glthread/threadlib.c: New file, extracted from
10366         lib/glthread/lock.c.
10367         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
10368         functions.
10369         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
10370         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
10371         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
10372         macros.
10373         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
10374         (gl_DISABLE_THREADS): Remove macro.
10375         * modules/lock (Files): Remove build-aux/config.rpath.
10376         (Depends-on): Remove havelib. Add threadlib.
10377         (configure.ac-early): Remove section.
10378         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
10379         * modules/tls (Depends-on): Remove lock. Add threadlib.
10380         (Link): New section, copied from threadlib.
10381         * MODULES.html.sh (Multithreading): Add threadlib.
10382
10383 2008-08-14  Bruno Haible  <bruno@clisp.org>
10384
10385         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
10386         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
10387         glthread_rwlock_unlock, glthread_rwlock_destroy,
10388         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
10389         glthread_recursive_lock_destroy): Define as macros always.
10390         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
10391         glthread_lock_lock.
10392         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
10393         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
10394         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
10395         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
10396         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
10397         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
10398         (glthread_recursive_lock_lock_func): Renamed from
10399         glthread_recursive_lock_lock.
10400         (glthread_recursive_lock_unlock_func): Renamed from
10401         glthread_recursive_lock_unlock.
10402         (glthread_recursive_lock_destroy_func): Renamed from
10403         glthread_recursive_lock_destroy.
10404
10405 2008-08-14  Bruno Haible  <bruno@clisp.org>
10406
10407         * lib/glthread/lock.h: Renamed from lib/lock.h.
10408         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
10409         * lib/glthread/tls.h: Renamed from lib/tls.h.
10410         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
10411         * lib/fstrcmp.c: Update includes.
10412         * lib/strsignal.c: Update includes.
10413         * modules/lock (Files, Makefile.am): Update.
10414         (Include): Change to "glthread/lock.h".
10415         * modules/tls (Files, Makefile.am): Update.
10416         (Include): Change to "glthread/tls.h".
10417         * tests/test-lock.c: Update includes.
10418         * tests/test-tls.c: Update includes.
10419         * NEWS: Mention the renamed header files.
10420
10421 2008-08-11  Jim Meyering  <meyering@redhat.com>
10422
10423         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
10424
10425 2008-08-11  Eric Blake  <ebb9@byu.net>
10426
10427         test-c-stack: avoid C99-ism
10428         * tests/test-c-stack.c (main): Fix whitespace, move declaration
10429         before statement.
10430         Reported by Alain Guibert.
10431
10432 2008-08-10  Jim Meyering  <meyering@redhat.com>
10433
10434         ensure that return value of uinttostr et al are not ignored
10435         * lib/inttostr.h (__GNUC_PREREQ): Define.
10436         (__attribute_warn_unused_result__): Define.
10437         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
10438
10439 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
10440
10441         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
10442         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
10443
10444 2008-08-07  Jim Meyering  <meyering@redhat.com>
10445
10446         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
10447
10448         * modules/mkstemp (License): Relicense under LGPLv2+.
10449         * modules/tempname (License): Likewise.
10450
10451 2008-08-06  Bruno Haible  <bruno@clisp.org>
10452
10453         * lib/poll.c (poll): Further micro-optimization.
10454
10455 2008-08-06  Jim Meyering  <meyering@redhat.com>
10456
10457         inet_pton.c: use locale-independent tolower
10458         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
10459         (inet_pton6): Use c_tolower rather than tolower.
10460         * modules/inet_pton (Depends-on): Add c-ctype.
10461
10462 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
10463
10464         * lib/poll.c (poll): Avoid division when timeout is 0, cache
10465         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
10466
10467 2008-08-06  Jim Meyering  <meyering@redhat.com>
10468
10469         * modules/inet_pton (License): Relicense under LGPLv2+.
10470
10471 2008-08-03  Bruno Haible  <bruno@clisp.org>
10472
10473         Additional non-aborting API for lock and tls.
10474         * lib/lock.h: Include <errno.h>.
10475         (glthread_lock_init): New macro/function.
10476         (gl_lock_init): Define as wrapper around glthread_lock_init.
10477         (glthread_lock_lock): New macro/function.
10478         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
10479         (glthread_lock_unlock): New macro/function.
10480         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
10481         (glthread_lock_destroy): New macro/function.
10482         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
10483         (glthread_rwlock_init): New macro/function.
10484         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
10485         (glthread_rwlock_rdlock): New macro/function.
10486         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
10487         (glthread_rwlock_wrlock): New macro/function.
10488         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
10489         (glthread_rwlock_unlock): New macro/function.
10490         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
10491         (glthread_rwlock_destroy): New macro/function.
10492         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
10493         (glthread_recursive_lock_init): New macro/function.
10494         (gl_recursive_lock_init): Define as wrapper around
10495         glthread_recursive_lock_init.
10496         (glthread_recursive_lock_lock): New macro/function.
10497         (gl_recursive_lock_lock): Define as wrapper around
10498         glthread_recursive_lock_lock.
10499         (glthread_recursive_lock_unlock): New macro/function.
10500         (gl_recursive_lock_unlock): Define as wrapper around
10501         glthread_recursive_lock_unlock.
10502         (glthread_recursive_lock_destroy): New macro/function.
10503         (gl_recursive_lock_destroy): Define as wrapper around
10504         glthread_recursive_lock_destroy.
10505         (glthread_once): New macro/function.
10506         (gl_once): Define as wrapper around glthread_once.
10507         Update function declarations.
10508         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
10509         glthread_rwlock_init. Return error code.
10510         (glthread_rwlock_rdlock_multithreaded): Renamed from
10511         glthread_rwlock_rdlock. Return error code.
10512         (glthread_rwlock_wrlock_multithreaded): Renamed from
10513         glthread_rwlock_wrlock. Return error code.
10514         (glthread_rwlock_unlock_multithreaded): Renamed from
10515         glthread_rwlock_unlock. Return error code.
10516         (glthread_rwlock_destroy_multithreaded): Renamed from
10517         glthread_rwlock_destroy. Return error code.
10518         (glthread_recursive_lock_init_multithreaded): Renamed from
10519         glthread_recursive_lock_init. Return error code.
10520         (glthread_recursive_lock_lock_multithreaded): Renamed from
10521         glthread_recursive_lock_lock. Return error code.
10522         (glthread_recursive_lock_unlock_multithreaded): Renamed from
10523         glthread_recursive_lock_unlock. Return error code.
10524         (glthread_recursive_lock_destroy_multithreaded): Renamed from
10525         glthread_recursive_lock_destroy. Return error code.
10526         (glthread_once_call): Make static.
10527         (glthread_once_multithreaded): Renamed from glthread_once.
10528         * lib/tls.h: Include <errno.h>.
10529         (glthread_tls_key_init): New macro/function.
10530         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
10531         (glthread_tls_set): New macro/function.
10532         (gl_tls_set): Define as wrapper around glthread_tls_set.
10533         (glthread_tls_key_destroy): New macro/function.
10534         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
10535         Update function declarations.
10536         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
10537         glthread_tls_get.
10538         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
10539
10540 2008-08-04  Eric Blake  <ebb9@byu.net>
10541
10542         gnumakefile: use space, not TAB, outside of targets
10543         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
10544
10545 2008-08-02  Jim Meyering  <meyering@redhat.com>
10546
10547         getdate.y: avoid locale-dependent date parsing failure
10548         In Turkish locales, getdate would fail to recognize keywords
10549         containing a lowercase "i".  The solution is not to rely on
10550         locale-sensitive case-conversion.
10551         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
10552         (lookup_word): Use c_toupper in place of toupper.
10553         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
10554         Reported by Vefa Bicakci <bicave@superonline.com> in
10555         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
10556         * modules/getdate (Depends-on): Add c-ctype.
10557
10558 2008-08-02  Bruno Haible  <bruno@clisp.org>
10559
10560         * gnulib-tool (func_import): When updating or creating a .gitignore
10561         file, prepend each added line with a slash, and ignore leading slashes
10562         from the existing lines.
10563         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
10564
10565 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10566
10567         Portability fix for GNU make 3.79.1.
10568         * top/GNUmakefile: Avoid 'else COND', which older GNU make
10569         versions do not understand.
10570
10571 2008-08-01  Bruno Haible  <bruno@clisp.org>
10572
10573         Work around bug of HP-UX 10.20 cc with -0.0 literal.
10574         * tests/test-isnanf.h (zero): New variable.
10575         (main): Avoid literal -0.0f.
10576         * tests/test-isnand.h (zero): New variable.
10577         (main): Avoid literal -0.0.
10578         * tests/test-isnanl.h (zero): New variable.
10579         (main): Avoid literal -0.0L.
10580         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
10581         (test_float, test_double, test_long_double): Avoid literals -0.0f,
10582         -0.0, -0.0L.
10583         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
10584         (test_signbitd): Avoid literal -0.0.
10585         (test_signbitl): Avoid literal -0.0L.
10586         * tests/test-ceilf1.c (zero): New variable.
10587         (main): Avoid literal -0.0f.
10588         * tests/test-ceill.c (zero): New variable.
10589         (main): Avoid literal -0.0L.
10590         * tests/test-floorf1.c (zero): New variable.
10591         (main): Avoid literal -0.0f.
10592         * tests/test-floorl.c (zero): New variable.
10593         (main): Avoid literal -0.0L.
10594         * tests/test-roundf1.c (zero): New variable.
10595         (main): Avoid literal -0.0f.
10596         * tests/test-round1.c (zero): New variable.
10597         (main): Avoid literal -0.0.
10598         * tests/test-roundl.c (zero): New variable.
10599         (main): Avoid literal -0.0L.
10600         * tests/test-truncf1.c (zero): New variable.
10601         (main): Avoid literal -0.0f.
10602         * tests/test-trunc1.c (zero): New variable.
10603         (main): Avoid literal -0.0.
10604         * tests/test-truncl.c (zero): New variable.
10605         (main): Avoid literal -0.0L.
10606         * tests/test-frexp.c (zero): New variable.
10607         (main): Avoid literal -0.0.
10608         * tests/test-frexpl.c (zero): New variable.
10609         (main): Avoid literal -0.0L.
10610         * tests/test-ldexpl.c (zero): New variable.
10611         (main): Avoid literal -0.0L.
10612         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
10613         (zerod, zerol): New variables.
10614         (test_function): Avoid literals -0.0, -0.0L.
10615         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
10616         (zerod, zerol): New variables.
10617         (test_function): Avoid literals -0.0, -0.0L.
10618         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
10619         (zerod, zerol): New variables.
10620         (test_function): Avoid literals -0.0, -0.0L.
10621         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
10622         (zerod, zerol): New variables.
10623         (test_function): Avoid literals -0.0, -0.0L.
10624         * tests/test-strtod.c (zero): New variable.
10625         (main): Avoid literal -0.0.
10626         Reported by Jonathan C. Patschke <jp@centtech.com>.
10627
10628 2008-07-31  Jim Meyering  <meyering@redhat.com>
10629
10630         sha256.h: correct definition of SHA224_DIGEST_SIZE
10631         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
10632         Reported by Paulie Pena IV <paulie4@gmail.com>.
10633         Define as 224 / 8, rather than as a literal.
10634         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
10635         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
10636         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
10637
10638 2008-07-31  Bruno Haible  <bruno@clisp.org>
10639
10640         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
10641         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
10642         Reported by Jonathan Patschke <jp@centtech.com>.
10643
10644 2008-07-31  Bruno Haible  <bruno@clisp.org>
10645
10646         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
10647         Reported by Paolo Bonzini <bonzini@gnu.org>.
10648
10649 2008-07-30  Eric Blake  <ebb9@byu.net>
10650
10651         test-strtod: allow compilation without -lm
10652         * tests/test-strtod.c (main): Avoid link dependence on fabs.
10653         Reported by Dennis Clarke <blastwave@gmail.com>.
10654
10655 2008-07-28  Jim Meyering  <meyering@redhat.com>
10656
10657         bootstrap: work also when there are no .po files in po/
10658         * build-aux/bootstrap (update_po_files): Complete the change
10659         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
10660
10661 2008-07-27  Jim Meyering  <meyering@redhat.com>
10662
10663         * users.txt: Add zile.
10664
10665 2008-07-26  Ben Pfaff  <blp@gnu.org>
10666
10667         Add missing dependencies on new m4/exponent[fdl].m4 files.
10668         * modules/isnanf-nolibm: Add m4/exponentf.m4.
10669         * modules/isnand-nolibm: Add m4/exponentd.m4.
10670         * modules/isnanl-nolibm: Add m4/exponentl.m4.
10671         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
10672         m4/isnan[fdl].m4, because the macros actually used moved.
10673         Reported by Jim Meyering.
10674
10675 2008-07-14  Ben Pfaff  <blp@gnu.org>
10676
10677         Add isinf module.
10678         * lib/isinf.c: New file.
10679         * lib/math.in.h: Define isinf macro if we have decided to replace
10680         it.
10681         * m4/isinf.m4: New file.
10682         * m4/math_h.m4: Initialize and substitute variables for isinf
10683         module.
10684         * modules/isinf: New file.
10685         * modules/isinf-tests: New file.
10686         * modules/math: Add substitutions for new module.
10687         * tests/test-isinf.c: New file.
10688         * doc/posix-functions/isinf.texi: Mention new module.
10689         * MODULES.html.sh: Mention new module.
10690
10691 2008-07-14  Ben Pfaff  <blp@gnu.org>
10692
10693         Factor out some macros for use by additional modules.
10694         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
10695         exponentf.m4.
10696         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
10697         exponentd.m4.
10698         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
10699         file exponentl.m4.
10700         * m4/exponentf.m4: New file.
10701         * m4/exponentd.m4: New file.
10702         * m4/exponentl.m4: New file.
10703         * modules/isnanf: Use new file m4/exponentf.m4.
10704         * modules/isnand: Use new file m4/exponentd.m4.
10705         * modules/isnanl: Use new file m4/exponentl.m4.
10706
10707 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
10708
10709         mktime.c: normalize tp->tm_isdst value to -1/0/1.
10710         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
10711         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
10712         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
10713
10714         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
10715         readlink on platforms without PATH_MAX.
10716
10717 2008-07-21  Eric Blake  <ebb9@byu.net>
10718
10719         Warn, not fail, on stale version.
10720         * top/GNUmakefile (_curr-ver): Tone down previous patch.
10721
10722         Don't allow installation with stale devel version number.
10723         * top/GNUmakefile (_is-install-target): New macro.
10724         (_curr-ver): Forbid installation with stale version number.
10725
10726 2008-07-20  Bruno Haible  <bruno@clisp.org>
10727
10728         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
10729         TESTS_ENVIRONMENT.
10730         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
10731
10732 2008-07-20  Bruno Haible  <bruno@clisp.org>
10733
10734         * lib/c-stack.h (c_stack_action): Add documentation.
10735         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
10736
10737 2008-07-20  Bruno Haible  <bruno@clisp.org>
10738
10739         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
10740         * modules/readlink (License): Likewise.
10741
10742 2008-07-17  Eric Blake  <ebb9@byu.net>
10743
10744         * modules/c-stack (Link): Fix typo.
10745
10746         Make c-stack use libsigsegv, when available.
10747         * modules/c-stack (Depends-on): Add libsigsegv.
10748         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
10749         needed.
10750         * lib/c-stack.c (SIGSTKSZ): Define fallback.
10751         (segv_handler, overflow_handler, c_stack_action)
10752         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
10753         implementation when libsigsegv is available, but only when using
10754         the library is necessary.
10755         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
10756         comment, explaining why XSI check fails on Linux.
10757         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
10758         * tests/test-c-stack2.sh: Tweak skip message.
10759         * NEWS: Document new link-time requirements.
10760
10761 2008-07-16  Eric Blake  <ebb9@byu.net>
10762
10763         c-stack: Expose false positives when not using libsigsegv.
10764         * modules/c-stack-tests (Files): Expand test.
10765         * tests/test-c-stack.c (main): Add means to conditionally trigger
10766         non-overflow SIGSEGV.
10767         * tests/test-c-stack2.sh: New file.
10768
10769 2008-07-14  Bruno Haible  <bruno@clisp.org>
10770
10771         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
10772         Reported by Eric Blake.
10773
10774 2008-07-14  Sam Steingold  <sds@gnu.org>
10775             Bruno Haible  <bruno@clisp.org>
10776
10777         New module libsigsegv.
10778         * modules/libsigsegv: New file.
10779         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
10780         modifications.
10781         * MODULES.html.sh (Signal handling): New section.
10782
10783 2008-07-14  Bruno Haible  <bruno@clisp.org>
10784
10785         * modules/unictype/ctype-* (Description): Add the word "function".
10786         Improves the resulting doc in MODULES.html.
10787
10788 2008-07-12  Ben Pfaff  <blp@gnu.org>
10789
10790         Add longlong module.
10791         * modules/longlong: New file.
10792
10793 2008-07-12  Bruno Haible  <bruno@clisp.org>
10794
10795         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
10796         to empty.
10797
10798 2008-07-10  Ben Pfaff  <blp@gnu.org>
10799
10800         Add isnan module.
10801         * doc/posix-functions/isnan.texi: Mention new module.
10802         * lib/math.in.h: Define isnan macro if we have decided to replace
10803         it.
10804         * m4/isnan.m4: New file.
10805         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
10806         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
10807         also.
10808         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
10809         redundancy.
10810         * m4/math_h.m4: Initialize and substitute variables for isnan
10811         module.
10812         * modules/isnan: New file.
10813         * modules/isnan-tests: New file.
10814         * modules/math: Add substitutions for new module.
10815         * tests/test-isnan.c: New file.
10816         * MODULES.html.sh: Mention new module.
10817
10818 2008-07-10  Ben Pfaff  <blp@gnu.org>
10819
10820         Add isnanf module.
10821         * lib/isnanf.m4: New file.
10822         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
10823         (gl_HAVE_ISNANF_IN_LIBM): New macro.
10824         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
10825         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
10826         * modules/isnanf: New file.
10827         * modules/isnanf-tests: New file.
10828         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
10829         files.
10830         * tests/test-isnanf-nolibm.c: factored most of its contents into
10831         new file tests/test-isnanf.h.
10832         * tests/test-isnanf.h: New file.
10833         * tests/test-isnanf.c: New file.
10834         * MODULES.html.sh: Mention new module.
10835         * doc/glibc-functions/isnanf.texi: Mention new module.
10836
10837 2008-07-10  Ben Pfaff  <blp@gnu.org>
10838
10839         Add isnand module.
10840         * lib/isnand.h: New file.
10841         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
10842         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
10843         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
10844         functionality also.
10845         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
10846         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
10847         (gl_HAVE_ISNAND_IN_LIBM): New macro.
10848         * modules/isnand: New file.
10849         * modules/isnand-tests: New file.
10850         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
10851         files.
10852         * tests/test-isnand-nolibm.c: factored most of its contents into
10853         new file tests/test-isnand.h.
10854         * tests/test-isnand.h: New file.
10855         * tests/test-isnand.c: New file.
10856         * MODULES.html.sh: Mention new module.
10857
10858 2008-07-10  Ben Pfaff  <blp@gnu.org>
10859
10860         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
10861         * lib/isnand.h: Rename lib/isnand-nolibm.h.
10862         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
10863         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
10864         * modules/isnanf-nolibm: Update references to renamed files.
10865         * modules/isnand-nolibm: Likewise.
10866         * modules/isnanf-nolibm-tests: Likewise.
10867         * modules/isnand-nolibm-tests: Likewise.
10868         * lib/frexp.c: Likewise.
10869         * lib/isfinite.c: Likewise.
10870         * lib/signbitd.c: Likewise.
10871         * lib/signbitf.c: Likewise.
10872         * lib/vasnprintf.c: Likewise.
10873         * tests/test-ceilf1.c: Likewise.
10874         * tests/test-ceilf2.c: Likewise.
10875         * tests/test-floorf1.c: Likewise.
10876         * tests/test-floorf2.c: Likewise.
10877         * tests/test-frexp.c: Likewise.
10878         * tests/test-round1.c: Likewise.
10879         * tests/test-round2.c: Likewise.
10880         * tests/test-roundf1.c: Likewise.
10881         * tests/test-strtod.c: Likewise.
10882         * tests/test-trunc1.c: Likewise.
10883         * tests/test-trunc2.c: Likewise.
10884         * tests/test-truncf1.c: Likewise.
10885         * tests/test-truncf2.c: Likewise.
10886         * NEWS: Mention the renamed header files.
10887
10888 2008-07-11  Jim Meyering  <meyering@redhat.com>
10889
10890         vc-list-files: make the last-resort awk code more portable
10891         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
10892         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
10893         does not support it.
10894
10895 2008-07-10  Eric Blake  <ebb9@byu.net>
10896
10897         Work with tar's bootstrap.
10898         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
10899         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
10900         an m4 comment.
10901
10902 2008-07-09  Jim Meyering  <meyering@redhat.com>
10903
10904         posix-shell.m4: fix typo that made this test malfunction
10905         * m4/posix-shell.m4: Remove capitalization in variable name.
10906
10907 2008-07-08  Bruno Haible  <bruno@clisp.org>
10908
10909         * m4/onceonly.m4: Update comments.
10910         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10911
10912 2008-07-04  Jim Meyering  <meyering@redhat.com>
10913
10914         * users.txt: Add vc-dwim.
10915         (bison, coreutils): Use the gitweb URL.
10916
10917 2008-07-03  Jim Meyering  <meyering@redhat.com>
10918
10919         * users.txt: Add libffcall.  From Sam Steingold.
10920
10921 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
10922
10923         getdate.y: do not ignore TZ with relative day, month or year offset
10924         * lib/getdate.y (get_date): Move the tz-handling block to follow the
10925         relative-date-handling, since otherwise, the latter would clobber the
10926         sole output (an updated Start value) of the tz-handling block.
10927         * tests/test-getdate.c: Tests for the fix
10928
10929 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10930
10931         Recognize 'foo_LIBRARIES += libgnu.a'.
10932         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
10933         makefile snippet has already specified an installation location,
10934         also using '+='.
10935
10936 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
10937
10938         getdate.y: factor out common actions
10939         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
10940         Use them in place of open-coded actions.
10941
10942 2008-07-01  Simon Josefsson  <simon@josefsson.org>
10943
10944         Add self-test for getdate module.
10945         * modules/getdate-tests: New file.
10946         * tests/test-getdate.c: New file.
10947
10948 2008-06-29  Bruno Haible  <bruno@clisp.org>
10949
10950         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
10951         .gitignore.
10952         Reported by Sylvain Beucler <beuc@beuc.net>.
10953
10954 2008-06-29  Bruno Haible  <bruno@clisp.org>
10955
10956         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
10957         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
10958
10959 2008-06-29  Bruno Haible  <bruno@clisp.org>
10960
10961         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
10962         EXTRA_DIST.
10963         Reported by Sylvain Beucler <beuc@beuc.net>.
10964
10965 2008-06-26  Jim Meyering  <meyering@redhat.com>
10966
10967         make several modules depend on the "open" module
10968         This provides slightly increased consistency when opening-for-write
10969         the name of a non-directory spelled with a trailing slash.
10970         * modules/chdir-safer: Likewise.
10971         * modules/chown: Likewise.
10972         * modules/clean-temp: Likewise.
10973         * modules/copy-file: Likewise.
10974         * modules/fchdir: Likewise.
10975         * modules/fcntl-safer: Likewise.
10976         * modules/pipe: Likewise.
10977         * modules/utime: Likewise.
10978         Prompted by Eric Blake and Bruno Haible.
10979
10980 2008-06-24  Andreas Schwab  <schwab@suse.de>
10981
10982         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
10983         literals can be used as initializers for global variables.
10984
10985 2008-06-23  Eric Blake  <ebb9@byu.net>
10986
10987         Make gnulib-cache.m4 easier to diff.
10988         * gnulib-tool (func_import): Allow newlines when reading cached
10989         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
10990
10991 2008-06-23  Bruno Haible  <bruno@clisp.org>
10992
10993         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
10994         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
10995         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
10996         m4/signalblocking.m4.
10997         (gl_PREREQ_SIGACTION): Don't invoke it.
10998         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
10999         gl_PREREQ_SIG_HANDLER_H.
11000         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
11001         Don't check for sigaction here.
11002
11003 2008-06-23  Bruno Haible  <bruno@clisp.org>
11004
11005         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
11006         (install_handlers): Don't set the SA_RESETHAND flag.
11007
11008 2008-06-23  Bruno Haible  <bruno@clisp.org>
11009
11010         * m4/sigaction.m4: Comment fixes.
11011         * lib/signal.in.h: Likewise.
11012
11013 2008-06-23  Eric Blake  <ebb9@byu.net>
11014
11015         Fix typo.
11016         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
11017
11018         Avoid SA_ namespace.
11019         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
11020         Reported by Ralf Wildenhues.
11021
11022         Avoid test failure due to SA_RESTORER.
11023         * tests/test-sigaction.c (SA_MASK): New macro.
11024         (main): Avoid failing due to extension flags being set.
11025         Reported by Jim Meyering.
11026
11027         Revert use of sig-handler.h in sigprocmask.c.
11028         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
11029         it requires the existence of struct sigaction.
11030         * lib/sigprocmask.c (handler_t): Restore typedef.
11031         (rpl_signal, old_handlers): Use local type.
11032
11033 2008-06-22  Bruno Haible  <bruno@clisp.org>
11034
11035         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
11036         conditionally.
11037         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11038
11039 2008-06-22  Bruno Haible  <bruno@clisp.org>
11040
11041         * doc/posix-functions/siginterrupt.texi: Move note.
11042
11043         * lib/signal.in.h (SA_RESTART): New macro.
11044         * lib/sigaction.c: Update comment.
11045
11046         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
11047
11048         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
11049         (gl_PREREQ_SIGPROCMASK): Invoke it.
11050         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
11051
11052         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
11053
11054         * lib/sigprocmask.c: Update a comment.
11055
11056 2008-06-21  Eric Blake  <ebb9@byu.net>
11057
11058         Use sigaction module rather than signal().
11059         * modules/c-stack (Depends-on): Add sigaction.
11060         * modules/fatal-signal (Depends-on): Likewise.
11061         * modules/nanosleep (Depends-on): Likewise.
11062         * modules/sigprocmask (Files): Add sig-handler.h.
11063         * modules/sigaction (Files): Likewise.
11064         * lib/sig-handler.h (get_handler): New file, suggested by Paul
11065         Eggert.
11066         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
11067         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
11068         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
11069         (init_fatal_signals): Likewise.
11070         * lib/nanosleep.c (rpl_nanosleep): Likewise.
11071         (siginterrupt): Delete fallback.
11072         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
11073         instead.
11074         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
11075         siginterrupt.
11076
11077         New module sigaction, for mingw.
11078         * modules/sigaction: New module...
11079         * modules/sigaction-tests: ...and its test.
11080         * m4/sigaction.m4: New file.
11081         * lib/sigaction.c: Likewise.
11082         * tests/test-sigaction.c: Likewise.
11083         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
11084         * modules/signal (Makefile.am): Likewise.
11085         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
11086         needed.
11087         * doc/posix-headers/signal.texi (signal.h): Mention provided
11088         types.
11089         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
11090         that sigaction is preferable.
11091         * doc/posix-functions/sigaction.texi (sigaction): Mention new
11092         module.
11093         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11094         sigaction.
11095
11096         Improve robustness of sigprocmask by overriding signal.
11097         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
11098         is in use.
11099         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
11100         (SIGKILL, SIGSTOP): Provide fallbacks.
11101         (rpl_signal): Implement.
11102         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
11103         signal can be called inside handlers.
11104
11105         Fix nanosleep module on mingw.
11106         * modules/nanosleep (Depends-on): Add sys_select.
11107         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
11108
11109         Fix licensing of sigprocmask.
11110         * modules/raise (License): Relicense as LGPL.
11111
11112 2008-06-21  Bruno Haible  <bruno@clisp.org>
11113
11114         * lib/propername.c (proper_name_utf8): Don't use the transliterated
11115         result if it contains question marks.
11116         Reported by Michael Geng <linux@michaelgeng.de>.
11117
11118 2008-06-19  Bruno Haible  <bruno@clisp.org>
11119
11120         Fix CVS-ism.
11121         * doc/gnulib.texi: Include updated-stamp.texi.
11122         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
11123         (updated-stamp.texi): New rule.
11124         (gnulib.info): Depend on it.
11125         * doc/.gitignore: Add updated-stamp.texi.
11126         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
11127
11128 2008-06-19  Bruno Haible  <bruno@clisp.org>
11129
11130         * doc/Makefile (gnulib.info): Update and simplify dependencies.
11131         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
11132
11133 2008-06-19  Eric Blake  <ebb9@byu.net>
11134
11135         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
11136         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
11137         Reported by Stepan Kasal.
11138
11139 2008-06-18  Bruno Haible  <bruno@clisp.org>
11140
11141         * lib/fatal-signal.c (init_fatal_signals): Add comment.
11142         Reported by Eric Blake.
11143
11144 2008-06-18  Eric Blake  <ebb9@byu.net>
11145
11146         Work around cygwin 1.5.25 strsignal bug.
11147         * tests/test-strsignal.c: Allow for const char *.
11148         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
11149
11150 2008-06-18  Simon Josefsson  <simon@josefsson.org>
11151
11152         * users.txt: Update URL to article and add author/date
11153         information.
11154
11155 2008-06-17  Bruno Haible  <bruno@clisp.org>
11156
11157         New macro gl_DISABLE_THREADS.
11158         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
11159         if the user did not pass --enable-threads or --disable-threads option.
11160         (gl_DISABLE_THREADS): New macro.
11161         Reported by Eric Blake <ebb9@byu.net>.
11162
11163 2008-06-17  Bruno Haible  <bruno@clisp.org>
11164
11165         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
11166         when the macro ignores it.
11167         Based on a patch by Eric Blake <ebb9@byu.net>.
11168
11169 2008-06-17  Bruno Haible  <bruno@clisp.org>
11170
11171         * modules/tls (License): Change to LGPLv2+.
11172         Reported by Eric Blake.
11173
11174 2008-06-17  Eric Blake  <ebb9@byu.net>
11175
11176         Simplify c-stack prerequisites.
11177         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
11178         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
11179         no longer requires <ucontext.h> to exist.  Optimize setrlimit
11180         check.
11181         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
11182         <sys/resource.h>.
11183
11184         Move c-stack test into testsuite.
11185         * modules/c-stack-tests: New file.
11186         * lib/c-stack.c [DEBUG]: Move test program...
11187         * tests/test-c-stack.c: ...into this new file.  Skip rather than
11188         fail test if sigaltstack is lacking.
11189         * tests/test-c-stack.sh: New driver file.
11190
11191 2008-06-16  Eric Blake  <ebb9@byu.net>
11192
11193         Use raise module consistently.
11194         * modules/fatal-signal (Depends-on): Add raise.
11195         * modules/sigprocmask (Depends-on): Likewise.
11196         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
11197         * lib/sigprocmask.c (sigprocmask): Likewise.
11198         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
11199         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
11200
11201         Fix compliance bug in sigpending.
11202         * lib/sigprocmask.c (sigpending): Return pending array via
11203         parameter, not return value.
11204
11205 2008-06-14  Eric Blake  <ebb9@byu.net>
11206
11207         Improve obstack-printf test code.
11208         * tests/test-obstack-printf.c (test_function): Fix comment, and
11209         simplify usage of obstack_* in macros.  Add a test for coverage.
11210         Reported by Bruno Haible.
11211
11212 2008-06-14  Bruno Haible  <bruno@clisp.org>
11213
11214         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
11215         array size as a constant, not as a const variable.
11216         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
11217         AC_USE_SYSTEM_EXTENSIONS.
11218         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
11219         Test whether the obstack_printf function actually exists.
11220         * modules/obstack-printf (Depends-on): Add extensions.
11221         (Include): Remove obstack.h.
11222         * modules/obstack-printf-posix (Depends-on): Add extensions.
11223         (Include): Remove obstack.h.
11224
11225 2008-06-13  Eric Blake  <ebb9@byu.net>
11226
11227         Add obstack-printf and obstack-printf-posix modules.
11228         * modules/obstack-printf: New file.
11229         * modules/obstack-printf-posix: Likewise.
11230         * MODULES.html.sh (Misc): Mention them.
11231         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
11232         Likewise.
11233         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
11234         Likewise.
11235         * modules/stdio (Makefile.am): Accomodate new modules.
11236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11237         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
11238         Declare.
11239         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
11240         functions.
11241         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
11242         (gl_REPLACE_OBSTACK_PRINTF): New macros
11243         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
11244         * tests/test-obstack-printf.c: New file.
11245         * modules/obstack-printf-tests: Likewise.
11246         * modules/obstack-printf-posix-tests: Likewise.
11247
11248 2008-06-11  Bruno Haible  <bruno@clisp.org>
11249
11250         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
11251         * lib/open.c: Include errno.h.
11252         (open): Fail when attempting to write to a file that has a trailing
11253         slash.
11254         * tests/test-open.c (main): Test against trailing slash bug.
11255         * doc/posix-functions/open.texi: Mention the trailing slash bug.
11256
11257 2008-06-10  Bruno Haible  <bruno@clisp.org>
11258
11259         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
11260         for $? to work inside the trap command, with various /bin/sh-s.
11261         * tests/test-vc-list-files-cvs.sh: Likewise.
11262
11263 2008-06-10  Bruno Haible  <bruno@clisp.org>
11264
11265         * lib/acl-internal.h: Don't include gettext.h here.
11266         * lib/set-mode-acl.c: Include gettext.h here.
11267         * lib/copy-acl.c: Likewise.
11268
11269 2008-06-10  Bruno Haible  <bruno@clisp.org>
11270
11271         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
11272         * lib/wait-process.c (wait_subprocess): Likewise.
11273         * lib/execute.h (execute): Add termsigp argument.
11274         * lib/execute.c (execute): Likewise.
11275         * lib/csharpcomp.c (compile_csharp_using_pnet,
11276         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
11277         * lib/csharpexec.c (execute_csharp_using_pnet,
11278         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
11279         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
11280         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
11281         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
11282         is_jikes_present): Update.
11283         * lib/javaexec.c (execute_java_class): Update.
11284         * lib/javaversion.c (execute_and_read_line): Update.
11285         * NEWS: Document the changes.
11286         Reported by Eric Blake.
11287
11288 2008-06-10  Eric Blake  <ebb9@byu.net>
11289
11290         Add missing include.
11291         * tests/test-strstr.c (includes): Add <signal.h>.
11292         * tests/test-strcasestr.c (includes): Likewise.
11293         * tests/test-memmem.c (includes): Likewise.
11294
11295 2008-06-10  Bruno Haible  <bruno@clisp.org>
11296
11297         * lib/wait-process.c (wait_subprocess): Add an assertion.
11298
11299 2008-06-10  Bruno Haible  <bruno@clisp.org>
11300
11301         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
11302
11303 2008-06-10  Bruno Haible  <bruno@clisp.org>
11304
11305         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
11306         using alarm().
11307         * tests/test-strcasestr.c (main): Likewise.
11308         * tests/test-strstr.c (main): Likewise.
11309
11310 2008-06-09  Bruno Haible  <bruno@clisp.org>
11311
11312         Work around the Solaris 10 ACE ACLs ABI change.
11313         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
11314         declare if ACL_NO_TRIVIAL is present.
11315         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
11316         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
11317         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
11318         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
11319         define if ACL_NO_TRIVIAL is present.
11320         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
11321         and use the current ABI.
11322         (file_has_acl): Use same #if condition as elsewhere.
11323         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
11324         in use, and use the current ABI.
11325         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
11326         Reported by Jim Meyering.
11327
11328 2008-06-09  Eric Blake  <ebb9@byu.net>
11329
11330         Work around environments that (stupidly) ignore SIGALRM.
11331         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
11332         before using alarm().
11333         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11334         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11335         Reported by Ian Beckwith <ianb@erislabs.net>.
11336
11337         Produce autobuild blurb earlier in log.
11338         * modules/autobuild (configure.ac-early): Move AB_INIT here.
11339
11340 2008-06-09  Jim Meyering  <meyering@redhat.com>
11341         and OndÅ™ej Vašík  <ovasik@redhat.com>
11342
11343         utimens.c: correct kernel bug work-around
11344         OndÅ™ej Vašík found that the invalid return value of 280 indicates
11345         failure, not success, and the kernel bug we're trying to work
11346         around affects not just the utimensat call, but also the fallback
11347         futimens call.
11348         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
11349         not success.
11350         [HAVE_FUTIMENS]: Use the same work-around, here.
11351
11352 2008-06-09  Jim Meyering  <meyering@redhat.com>
11353
11354         add more guards around definition of ACE_-related code
11355         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
11356         ALLOW and ACE_OWNER are also defined.
11357
11358 2008-06-08  Bruno Haible  <bruno@clisp.org>
11359
11360         * lib/acl-internal.h: Add me as co-author.
11361         * lib/file-has-acl.c: Likewise.
11362         * lib/set-mode-acl.c: Likewise.
11363         * lib/copy-acl.c: Likewise.
11364
11365 2008-06-08  Bruno Haible  <bruno@clisp.org>
11366
11367         Add support for AIX ACLs.
11368         * lib/acl-internal.h (acl_nontrivial): New declaration.
11369         * lib/file-has-acl.c (acl_nontrivial): New function.
11370         (file_has_acl): Add implementation using AIX 4 ACL API.
11371         * lib/set-mode-acl.c (qset_acl): Likewise.
11372         * lib/copy-acl.c (qcopy_acl): Likewise.
11373
11374 2008-06-08  Bruno Haible  <bruno@clisp.org>
11375
11376         Add support for HP-UX ACLs.
11377         * lib/acl-internal.h (acl_nontrivial): New declaration.
11378         * lib/file-has-acl.c (acl_nontrivial): New function.
11379         (file_has_acl): Add implementation using HP-UX 11 ACL API.
11380         * lib/set-mode-acl.c (qset_acl): Likewise.
11381         * lib/copy-acl.c (qcopy_acl): Likewise.
11382
11383 2008-06-08  Bruno Haible  <bruno@clisp.org>
11384
11385         Add support for Cygwin ACLs.
11386         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
11387         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
11388         the chmod_or_fchmod call.
11389         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
11390
11391 2008-06-08  Bruno Haible  <bruno@clisp.org>
11392
11393         Fix bug with setuid modes in Solaris 10+ code.
11394         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
11395         succeeded, when the mode contains some special bits.
11396
11397 2008-06-08  Bruno Haible  <bruno@clisp.org>
11398
11399         Add support for Solaris 7..10 ACLs.
11400         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
11401         declarations.
11402         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
11403         functions.
11404         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
11405         * lib/set-mode-acl.c (qset_acl): Likewise.
11406         * lib/copy-acl.c (qcopy_acl): Likewise.
11407
11408 2008-06-08  Bruno Haible  <bruno@clisp.org>
11409
11410         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
11411         declaration.
11412         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
11413         (acl_access_nontrivial): Remove MacOS X case.
11414         (file_has_acl): Use acl_extended_nontrivial.
11415         * lib/copy-acl.c (qcopy_acl): Likewise.
11416
11417 2008-06-08  Bruno Haible  <bruno@clisp.org>
11418
11419         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
11420
11421 2008-06-08  Jim Meyering  <meyering@redhat.com>
11422
11423         * modules/acl (Maintainer): Add Bruno Haible.
11424
11425 2008-06-07  Bruno Haible  <bruno@clisp.org>
11426
11427         Improve support for Tru64 ACLs.
11428         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
11429         ACL on OSF/1.
11430
11431 2008-06-07  Bruno Haible  <bruno@clisp.org>
11432
11433         Add support for MacOS X ACLs.
11434         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
11435         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
11436         * lib/set-mode-acl.c (qset_acl): Likewise.
11437         * lib/copy-acl.c (qcopy_acl): Likewise.
11438
11439 2008-06-07  Bruno Haible  <bruno@clisp.org>
11440
11441         Fix memory leak introduced on 2008-05-22.
11442         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
11443         use.
11444
11445 2008-06-07  Bruno Haible  <bruno@clisp.org>
11446
11447         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
11448         to construct an empty ACL.
11449
11450 2008-06-07  Bruno Haible  <bruno@clisp.org>
11451
11452         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
11453         precisely.
11454         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
11455
11456 2008-06-07  Bruno Haible  <bruno@clisp.org>
11457
11458         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
11459         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
11460
11461 2008-06-07  Bruno Haible  <bruno@clisp.org>
11462
11463         * doc/posix-functions/_setjmp.texi: Explain the use of this function
11464         regardless of POSIX.
11465         * doc/posix-functions/_longjmp.texi: Likewise.
11466         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
11467         SystemV platform in this case.
11468
11469 2008-06-06  Eric Blake  <ebb9@byu.net>
11470
11471         Document abort() bugs.
11472         * doc/posix-functions/abort.texi (abort): Mention anomalies.
11473
11474         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
11475         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
11476         sigsetjmp.
11477         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
11478         siglongjmp, but only as a macro.
11479         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
11480         is obsolete.
11481         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
11482
11483         Tweak documentation to cover cygwin argz bugs.
11484         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
11485         argz bug fix; no code change needed since no cygwin releases
11486         occurred between the last fix and the bug being tested.
11487         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
11488         module and recently fixed cygwin bugs.
11489         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
11490         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
11491         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
11492         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
11493         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
11494         Likewise.
11495         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
11496         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
11497         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
11498         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
11499         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
11500         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
11501         Likewise.
11502
11503         Avoid gcc warning on cygwin.
11504         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
11505         !ACL_NO_TRIVIAL]: Avoid unused variable.
11506
11507 2008-06-05  Eric Blake  <ebb9@byu.net>
11508
11509         Be tolerant of UNKNOWN version in gnulib-tool test dir.
11510         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
11511         git-version-gen fails to come up with a version.
11512         Reported by Simon Josefsson.
11513
11514 2008-06-05  Jim Meyering  <meyering@redhat.com>
11515             Paul Eggert  <eggert@cs.ucla.edu>
11516
11517         utimens.c: work around a probable Linux kernel bug
11518         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
11519         appears to be a kernel bug that causes utimensat to return 280
11520         instead of 0, indicating success.
11521
11522 2008-06-04  Bruno Haible  <bruno@clisp.org>
11523
11524         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
11525         2008-06-01 commit.
11526
11527 2008-06-04  Bruno Haible  <bruno@clisp.org>
11528
11529         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
11530         * lib/file-has-acl.c (acl_access_nontrivial): New function.
11531         (file_has_acl): Use it. Save errno afterwards.
11532         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
11533
11534 2008-06-03  Bruno Haible  <bruno@clisp.org>
11535
11536         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
11537         draft code. Simplify #ifs.
11538         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
11539         Put Solaris code after POSIX-draft code. Fix comments regarding
11540         Solaris 10, HP-UX. Mention Cygwin.
11541         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
11542
11543 2008-06-03  Eric Blake  <ebb9@byu.net>
11544
11545         Provide fallback for older kernels.
11546         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
11547         Provide runtime fallback if kernel lacks support.
11548         Reported by Mike Frysinger.
11549
11550 2008-06-02  Bruno Haible  <bruno@clisp.org>
11551
11552         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
11553         it exists.
11554
11555 2008-06-02  Bruno Haible  <bruno@clisp.org>
11556
11557         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
11558         * lib/copy-acl.c (qcopy_acl): Update comment.
11559
11560 2008-06-02  Bruno Haible  <bruno@clisp.org>
11561
11562         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
11563         like ACL APIs.
11564
11565 2008-06-02  Bruno Haible  <bruno@clisp.org>
11566
11567         * tests/test-file-has-acl.sh: Use different code for Cygwin.
11568         * tests/test-set-mode-acl.sh: Likewise.
11569         * tests/test-copy-acl.sh: Likewise.
11570         * tests/test-copy-file.sh: Likewise.
11571
11572 2008-06-02  Bruno Haible  <bruno@clisp.org>
11573
11574         * tests/test-file-has-acl.sh: Remove unused code.
11575
11576 2008-06-01  Bruno Haible  <bruno@clisp.org>
11577
11578         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
11579         (copy_acl): Just a wrapper around qcopy_acl that emits the error
11580         messages.
11581         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
11582
11583 2008-06-01  Bruno Haible  <bruno@clisp.org>
11584
11585         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
11586         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
11587         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
11588         APIs.
11589         * modules/acl-tests (configure.ac): Remove tests now contained in
11590         m4/acl.m4.
11591
11592 2008-06-02  Jim Meyering  <meyering@redhat.com>
11593
11594         announce-gen: use a better key-server host name
11595         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
11596         it may be more consistently reliable.  Suggested by Werner Koch
11597         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
11598
11599 2008-06-01  Bruno Haible  <bruno@clisp.org>
11600
11601         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
11602         Reported by Voroskoi Andras <voroskoi@gmail.com>.
11603
11604 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
11605
11606         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
11607
11608 2008-06-01  Bruno Haible  <bruno@clisp.org>
11609
11610         New ACL tests.
11611         * tests/test-file-has-acl.sh: New file.
11612         * tests/test-file-has-acl.c: New file.
11613         * tests/test-set-mode-acl.sh: New file.
11614         * tests/test-set-mode-acl.c: New file.
11615         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
11616         * tests/test-copy-acl.c: New file.
11617         * modules/acl-tests: New file, based on modules/copy-file-tests.
11618         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
11619         (Depends-on): Add acl-tests.
11620         (configure.ac): Remove checks.
11621         (Makefile.am): Don't create test-sameacls program here any more.
11622
11623 2008-06-01  Bruno Haible  <bruno@clisp.org>
11624
11625         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
11626         * tests/test-sameacls.c: Include progname.h.
11627         (main): Invoke set_program_name. Portability fixes for MacOS X,
11628         Solaris, HP-UX.
11629
11630 2008-06-01  Bruno Haible  <bruno@clisp.org>
11631
11632         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
11633         function.
11634         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
11635
11636 2008-06-01  Bruno Haible  <bruno@clisp.org>
11637
11638         * modules/rpmatch (Depends-on): Add strdup.
11639
11640 2008-06-01  Bruno Haible  <bruno@clisp.org>
11641
11642         * lib/pipe.c: Include unistd-safer.h.
11643         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
11644         * modules/pipe (Depends-on): Add unistd-safer.
11645
11646 2008-05-30  Simon Josefsson  <simon@josefsson.org>
11647
11648         * modules/autobuild (configure.ac): Call AB_INIT.
11649
11650 2008-05-30  Simon Josefsson  <simon@josefsson.org>
11651
11652         * tests/test-getaddrinfo.c: Don't print debug messages by default.
11653         Suggested by Bruno Haible <bruno@clisp.org>.
11654
11655 2008-05-30  Simon Josefsson  <simon@josefsson.org>
11656
11657         * tests/test-base64.c: Cast size_t to unsigned long when invoking
11658         printf.  Use %lu instead of %d.  Reported by Bruno Haible
11659         <bruno@clisp.org>.
11660
11661 2008-05-29  Eric Blake  <ebb9@byu.net>
11662
11663         Prefer new POSIX 200x interfaces over futimesat.
11664         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
11665         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
11666         when available.
11667         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
11668
11669 2008-05-28  Bruno Haible  <bruno@clisp.org>
11670
11671         * modules/stpcpy (License): Change to LGPLv2+.
11672         Requested by David Lutterkort <dlutter@redhat.com>.
11673
11674 2008-05-27  Bruno Haible  <bruno@clisp.org>
11675
11676         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
11677         current mingw.
11678         Reported by Jose E. Marchesi <jemarch@gnu.org>.
11679
11680 2008-05-27  Bruno Haible  <bruno@clisp.org>
11681
11682         * modules/iconv_open (Link): New section, from module 'iconv'.
11683         * modules/striconv (Link): Likewise.
11684         * modules/striconveh (Link): Likewise.
11685         * modules/xstriconv (Link): Likewise.
11686         * modules/unicodeio (Link): Likewise.
11687         * modules/propername (Link): Likewise.
11688         Reported by Jim Meyering.
11689
11690 2008-05-26  Jim Meyering  <meyering@redhat.com>
11691
11692         sha256: do not artificially restrict buffer length to be < 2^32
11693         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
11694         uint32_t to size_t.
11695         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
11696         to match.
11697
11698         avoid unaligned access errors, e.g., on sparc
11699         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
11700         direct access through a possibly-unaligned uint64* pointer.
11701         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
11702         direct access through a possibly-unaligned uint32* pointer.
11703         Prompted by this patch from Tom "spot" Callaway:
11704         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
11705
11706         sha512.c: fix typo in comment
11707         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
11708
11709 2008-05-25  Bruno Haible  <bruno@clisp.org>
11710
11711         * lib/set-mode-acl.c: Renamed from lib/acl.c.
11712         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
11713         (Makefile.am): Update lib_SOURCES.
11714
11715 2008-05-25  Bruno Haible  <bruno@clisp.org>
11716
11717         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
11718
11719 2008-05-25  Jim Meyering  <meyering@redhat.com>
11720
11721         useless-if-before-free: freed expr may have white-space differences
11722         * build-aux/useless-if-before-free: Recognize cases in which the
11723         freed expression differs from the tested one in embedded white
11724         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
11725         $1 was used, so we can't make any regexp shy.  Improved tests now
11726         detect this.
11727
11728         useless-if-before-free: accept white space in the expression.
11729         * build-aux/useless-if-before-free: For now, any white space
11730         in the expression must be identical in the free argument.
11731
11732         useless-if-before-free: efficiency tweak
11733         * build-aux/useless-if-before-free: Make the expression-matching
11734         regexp "shy".
11735         Make the *outer* regexp shy, not the expr-matching one.
11736
11737         update code-in-comment to accept cast of free arg
11738         * build-aux/useless-if-before-free: Update regexp.
11739
11740 2008-05-25  Bruno Haible  <bruno@clisp.org>
11741
11742         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
11743         * modules/copy-file-tests (Files, Makefile.am): Update.
11744         * tests/test-copy-file.c (func_test_copy): Update.
11745
11746 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
11747
11748         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
11749
11750 2008-05-23  Bruno Haible  <bruno@clisp.org>
11751
11752         Improve support for ACLs on OSF/1.
11753         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
11754         Remove fallback for unknown flavors of ACLs.
11755
11756 2008-05-22  Bruno Haible  <bruno@clisp.org>
11757
11758         Add support for ACLs on OSF/1.
11759         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
11760         replacements.
11761         (acl_free_text): New macro fallback.
11762         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
11763         acl_free.
11764         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
11765         acl_free_text function. Require AC_C_INLINE.
11766
11767 2008-05-22  Bruno Haible  <bruno@clisp.org>
11768
11769         Make copy_acl work on MacOS X 10.5.
11770         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
11771         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
11772         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
11773         If MODE_INSIDE_ACL, don't assume that every system has the same text
11774         representation for ACLs as FreeBSD.
11775         * lib/copy-acl.c (copy_acl): Add support for platforms with
11776         !MODE_INSIDE_ACL.
11777         * lib/file-has-acl.c (file_has_acl): Likewise.
11778         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
11779         FreeBSD, MacOS X, or IRIX, respectively.
11780
11781 2008-05-22  Bruno Haible  <bruno@clisp.org>
11782
11783         * lib/acl.h: Don't include <sys/acl.h>.
11784         (GETACLCNT): Move fallback to lib/acl-internal.h.
11785         * lib/acl-internal.h: Include <sys/acl.h> here.
11786         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
11787
11788 2008-05-22  Bruno Haible  <bruno@clisp.org>
11789
11790         Split off copy_acl function to separate file.
11791         * lib/copy-acl.c: New file, extracted from lib/acl.c.
11792         * lib/acl.c (copy_acl): Moved function to separate file.
11793         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
11794         * modules/acl (Files): Add lib/copy-acl.c.
11795         (Makefiles.am): Augment lib_SOURCES.
11796
11797 2008-05-22  Bruno Haible  <bruno@clisp.org>
11798
11799         * modules/copy-file-tests: New file.
11800         * tests/test-copy-file.sh: New file.
11801         * tests/test-copy-file.c: New file.
11802         * tests/test-copy-file-sameacls.c: New file.
11803
11804 2008-05-22  Eric Blake  <ebb9@byu.net>
11805
11806         Avoid gcc warning.
11807         * tests/test-memcmp.c (main): Pass NULL indirectly.
11808
11809 2008-05-21  Bruno Haible  <bruno@clisp.org>
11810
11811         Add reference doc about ACLs.
11812         * doc/acl-resources.txt: New file.
11813         * doc/acl-cygwin.txt: New file.
11814
11815 2008-05-21  Bruno Haible  <bruno@clisp.org>
11816
11817         Avoid one more warning from gcc.
11818         * lib/vasnprintf.c (IF_LINT): Update comments.
11819         (VASNPRINTF): Use it also for the 'prefix' array initializer.
11820
11821 2008-05-21  Jim Meyering  <meyering@redhat.com>
11822
11823         avoid a warning from gcc
11824         * lib/vasnprintf.c (IF_LINT): Define.
11825         (scale10_round_decimal_long_double):
11826         Use it to avoid a "may be used uninitialized" warning.
11827         (scale10_round_decimal_double): Likewise.
11828
11829 2008-05-21  Simon Josefsson  <simon@josefsson.org>
11830
11831         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
11832         declared.
11833
11834 2008-05-20  Bruno Haible  <bruno@clisp.org>
11835
11836         * tests/test-memcmp.c (main): Test also the sign of the result. Test
11837         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
11838
11839 2008-05-20  Simon Josefsson  <simon@josefsson.org>
11840
11841         * modules/memcmp-tests: New file.
11842         * tests/test-memcmp.c: New file.
11843
11844 2008-05-19  Bruno Haible  <bruno@clisp.org>
11845
11846         * modules/propername (Notice, configure.ac): Put quoted "..." into
11847         --keyword option.
11848         * lib/propername.h: Update comments accordingly.
11849         Reported by Eric Blake.
11850
11851 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
11852
11853         * modules/getpass-gnu (Depends-on): Add fseeko.
11854
11855 2008-05-19  Simon Josefsson  <simon@josefsson.org>
11856
11857         * modules/base64-tests: New file.
11858
11859 2008-05-19  Bo Borgerson <gigabo@gmail.com>
11860
11861         * lib/base64.c (base64_decode_ctx): If a decode context structure
11862         was passed in use it to ignore newlines.  If a context structure
11863         was _not_ passed in, continue to treat newlines as garbage (this
11864         is the historical behavior).  Formerly base64_decode.
11865         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
11866         takes a decode context structure.
11867         * lib/base64.h (base64_decode): Macro for four-argument calls.
11868         (base64_decode_alloc): Likewise.
11869         * lib/base64.c (base64_decode_ctx): If a decode context structure
11870         was passed in use it to ignore newlines.  If a context structure
11871         was _not_ passed in, continue to treat newlines as garbage (this
11872         is the historical behavior).  Formerly base64_decode.
11873         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
11874         takes a decode context structure.
11875         * lib/base64.h (base64_decode): Macro for four-argument calls.
11876         (base64_decode_alloc): Likewise.
11877
11878 2008-05-19  Jim Meyering  <meyering@redhat.com>
11879
11880         avoid a warning from gcc
11881         * lib/trim.c (IF_LINT): Define.
11882         (trim2): Use it to avoid a "may be used uninitialized" warning.
11883
11884         Fix doc typo.
11885         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
11886
11887 2008-05-19  Bruno Haible  <bruno@clisp.org>
11888
11889         * doc/glibc-functions/getpass.texi: Document limits of other
11890         implementations.
11891
11892 2008-05-19  Simon Josefsson  <simon@josefsson.org>
11893             Bruno Haible <bruno@clisp.org>
11894
11895         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
11896
11897 2008-05-18  Bruno Haible  <bruno@clisp.org>
11898
11899         * modules/propername: New file, from GNU gettext.
11900         * lib/propername.h: New file, from GNU gettext.
11901         * lib/propername.c: New file, from GNU gettext.
11902         * MODULES.html.sh (Internationalization functions): Add propername.
11903
11904 2008-05-16  Jim Meyering  <meyering@redhat.com>
11905             Bruno Haible  <bruno@clisp.org>
11906
11907         Avoid some warnings from "gcc -Wshadow".
11908         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
11909
11910 2008-05-15  Eric Blake  <ebb9@byu.net>
11911
11912         Extend previous patch to cygwin 1.7.0.
11913         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
11914         fast implementation in cygwin >= 1.7.0.
11915         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
11916         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11917
11918 2008-05-15  Bruno Haible  <bruno@clisp.org>
11919
11920         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
11921         implementation in glibc >= 2.9.
11922         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
11923         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11924
11925 2008-05-15  Bruno Haible  <bruno@clisp.org>
11926
11927         * MODULES.html.sh (Internationalization functions): Remove linebreak.
11928         (Unicode string functions): Add unilbrk/*.
11929         Reported by Karl Berry.
11930
11931 2008-05-15  Eric Blake  <ebb9@byu.net>
11932
11933         Fix violation of <stdbool.h> replacement in regex.
11934         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
11935         * lib/regexec.c (re_search_internal): Likewise.
11936         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
11937
11938 2008-05-15  Jim Meyering  <meyering@redhat.com>
11939
11940         avoid distracting test output when git or cvs is not found
11941         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
11942         * tests/test-vc-list-files-git.sh: Likewise.
11943
11944 2008-05-15  Eric Blake  <ebb9@byu.net>
11945
11946         Glibc finally accepted the memmem speedup code, bugzilla #5514.
11947         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
11948         glibc version.
11949         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
11950         * doc/posix-functions/strstr.texi (strstr): Likewise.
11951         * lib/str-two-way.h (MAX): Sychronize with glibc.
11952
11953 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
11954
11955         * lib/regcomp.c (optimize_utf8): Add a note on why we test
11956         opr.ctx_type.
11957         (calc_first): Initialize constraint field.
11958         (duplicate_node_closure): Use it instead of special casing ANCHORS.
11959         Fix grammar.
11960         (duplicate_node): Merge constraint field for all node types.
11961         (calc_eclosure_iter): Look at constraint field for all node types.
11962         * lib/regex_internal.c (create_cd_newstate): Don't look at
11963         opr.ctx_type.
11964
11965 2008-05-14  Bruno Haible  <bruno@clisp.org>
11966
11967         Help GCC to do better code generation.
11968         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
11969         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
11970         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
11971         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
11972         Declare with attribute 'malloc' if supported.
11973
11974 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
11975
11976         use "echo STR|wc -c" rather than unportable "expr length STR"
11977         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
11978         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
11979
11980 2008-05-14  Jim Meyering  <meyering@redhat.com>
11981
11982         use dd ibs=$n count=1 ... rather than less-portable head -c$n
11983         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
11984         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
11985         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
11986         via Collin Lasse.
11987
11988 2008-05-14  Eric Blake  <ebb9@byu.net>
11989
11990         Avoid quadratic growth in gl_LIBSOURCES.
11991         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
11992         Suggested by Bruno Haible.
11993
11994         Test xmemdup0.
11995         * modules/xmemdup0-tests: New file.
11996         * tests/test-xmemdup0.c: Likewise.
11997
11998 2008-05-13  Eric Blake  <ebb9@byu.net>
11999
12000         Split xmemdup0 into its own module.
12001         * modules/xmemdup0: New file.
12002         * lib/xmemdup0.h: Likewise.
12003         * lib/xmemdup0.c: Likewise.
12004         * MODULES.html.sh (Memory management functions): Add xmemdup0.
12005         * lib/xalloc.h (xmemdup0): Remove.
12006         * lib/xmalloc.c (xmemdup0): Likewise.
12007
12008 2008-05-13  Eric Blake  <ebb9@byu.net>
12009             Bruno Haible  <bruno@clisp.org>
12010
12011         Reduce number of forks required during autoconf.
12012         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
12013         and gl_LIBSOURCES_DIR.
12014         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
12015         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
12016         m4_syscmd per file.
12017         <m4_foreach_w>: Move...
12018         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
12019
12020 2008-05-13  Eric Blake  <ebb9@byu.net>
12021
12022         * gnulib-tool: Fix various comment typos.
12023
12024 2008-05-12  Bruno Haible  <bruno@clisp.org>
12025
12026         Tailor the linebreaking algorithm.
12027         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
12028
12029 2008-05-12  Bruno Haible  <bruno@clisp.org>
12030
12031         Update to Unicode 5.0.0.
12032         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
12033         LBP_JV, LBP_JT. Redistribute values.
12034         (unilbrk_table): Change size.
12035         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
12036         Unicode TR#14 rev. 22.
12037         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
12038         LBP_JV, LBP_JT. Redistribute values.
12039         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
12040         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
12041         Update.
12042         * lib/unilbrk/lbrkprop1.h: Regenerated.
12043         * lib/unilbrk/lbrkprop2.h: Regenerated.
12044         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
12045         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
12046         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
12047         Likewise.
12048         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
12049         Likewise.
12050         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
12051         result.
12052         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
12053         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
12054         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
12055         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
12056         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
12057         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
12058
12059 2008-05-11  Bruno Haible  <bruno@clisp.org>
12060
12061         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
12062
12063 2008-05-11  Bruno Haible  <bruno@clisp.org>
12064
12065         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
12066         * modules/unilbrk/gen-lbrk: New file.
12067
12068 2008-05-11  Bruno Haible  <bruno@clisp.org>
12069
12070         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
12071         * m4/sha512.m4 (gl_SHA512): Likewise.
12072
12073 2008-05-11  Jim Meyering  <meyering@redhat.com>
12074
12075         New modules: crypto/sha256, crypto/sha512 (from coreutils)
12076         * modules/crypto/sha256: New file.
12077         * modules/crypto/sha512: Likewise.
12078         * lib/sha256.c: Likewise.
12079         * lib/sha256.h: Likewise.
12080         * lib/sha512.c: Likewise.
12081         * lib/sha512.h: Likewise.
12082         * lib/u64.h: Likewise.
12083         * m4/sha256.m4: Likewise.
12084         * m4/sha512.m4: Likewise.
12085         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
12086
12087 2008-05-10  Bruno Haible  <bruno@clisp.org>
12088
12089         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
12090         (Input/Output <stdio.h>): Add xprintf.
12091         (Signal handling <signal.h>): Add strsignal.
12092         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
12093         (Core language properties): Add func.
12094         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
12095         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
12096         strings.
12097         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
12098         (Input/output): New section.
12099         (File system functions): Add openat-die, stat-macros.
12100         (Networking functions): Add sockets.
12101         (Unicode string functions): Add unictype/*.
12102         (Support for building libraries and executables): Add gperf.
12103         (Support for building documentation): Add agpl-3.0.
12104         (Misc): Add nocrash.
12105
12106 2008-05-10  Bruno Haible  <bruno@clisp.org>
12107
12108         * modules/unictype/gen-ctype: New file.
12109
12110 2008-05-10  Jim Meyering  <meyering@redhat.com>
12111
12112         Make chdir-safer.c more efficient on a system with no symlinks.
12113         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
12114         also if ELOOP is zero.  Suggested by Bruno Haible.
12115
12116         Make chdir-safer.c slightly safer.
12117         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
12118         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
12119
12120         Avoid compile failure on systems without ELOOP (like mingw).
12121         * lib/chdir-safer.c (ELOOP): Define if not already defined.
12122         Reported by Bruno Haible.
12123
12124 2008-05-10  Bruno Haible  <bruno@clisp.org>
12125
12126         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
12127         (is_utf8_encoding): Use a case-insensitive comparison.
12128         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
12129         streq.
12130
12131 2008-05-10  Bruno Haible  <bruno@clisp.org>
12132
12133         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
12134         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
12135         * lib/unilbrk/ulc-common.h (iconv_string_length,
12136         iconv_string_keeping_offsets): Remove declarations.
12137         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
12138         Don't include <iconv.h>, streq.h, xsize.h.
12139         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
12140         conversion.
12141         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
12142         <iconv.h>, streq.h, xsize.h.
12143         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
12144         conversion.
12145         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
12146         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
12147         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
12148         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
12149
12150 2008-05-10  Bruno Haible  <bruno@clisp.org>
12151
12152         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
12153         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
12154
12155         * modules/unilbrk/u32-width-linebreaks-tests: New file.
12156         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
12157
12158         * modules/unilbrk/u16-width-linebreaks-tests: New file.
12159         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
12160
12161         * modules/unilbrk/u8-width-linebreaks-tests: New file.
12162         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
12163
12164         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
12165         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
12166
12167         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
12168         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
12169
12170         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
12171         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
12172
12173         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
12174         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
12175
12176 2008-05-10  Bruno Haible  <bruno@clisp.org>
12177
12178         Split up 'linebreak' module.
12179         * lib/unilbrk.h: New file, based on lib/linebreak.h.
12180         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
12181         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
12182         modifications.
12183         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
12184         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
12185         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
12186         lib/linebreak.c.
12187         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
12188         lib/linebreak.c.
12189         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
12190         lib/linebreak.c.
12191         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
12192         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
12193         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
12194         lib/linebreak.c.
12195         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
12196         lib/linebreak.c.
12197         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
12198         lib/linebreak.c.
12199         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
12200         lib/linebreak.c.
12201         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
12202         lib/linebreak.c.
12203         * modules/unilbrk/base: New file.
12204         * modules/unilbrk/tables: New file.
12205         * modules/unilbrk/u8-possible-linebreaks: New file.
12206         * modules/unilbrk/u16-possible-linebreaks: New file.
12207         * modules/unilbrk/u32-possible-linebreaks: New file.
12208         * modules/unilbrk/ulc-common: New file.
12209         * modules/unilbrk/ulc-possible-linebreaks: New file.
12210         * modules/unilbrk/u8-width-linebreaks: New file.
12211         * modules/unilbrk/u16-width-linebreaks: New file.
12212         * modules/unilbrk/u32-width-linebreaks: New file.
12213         * modules/unilbrk/ulc-width-linebreaks: New file.
12214         * lib/linebreak.h: Remove file.
12215         * lib/linebreak.c: Remove file.
12216         * m4/linebreak.m4: Remove file.
12217         * modules/linebreak: Remove file.
12218         * NEWS: Mention the changes.
12219
12220 2008-05-09  Eric Blake  <ebb9@byu.net>
12221
12222         Add xmemdup0.
12223         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
12224         implementation.
12225         * lib/xmalloc.c (xmemdup0): New C implementation.
12226
12227 2008-05-08  Bruno Haible  <bruno@clisp.org>
12228
12229         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
12230
12231 2008-05-07  Eric Blake  <ebb9@byu.net>
12232
12233         Support cross-compilation of <wctype.h>.
12234         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
12235         AC_CACHE_CHECK.
12236
12237 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
12238
12239         * build-aux/vc-list-files: Add support for bzr.
12240
12241 2008-05-03  Jim Meyering  <meyering@redhat.com>
12242
12243         avoid failed assertion with tight malloc
12244         * tests/test-getndelim2.c: Correct an off-by-one assertion.
12245
12246 2008-05-03  Simon Josefsson  <simon@josefsson.org>
12247
12248         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
12249         are needed from arpa/inet.h.
12250         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
12251         Reported by Bruno Haible.
12252
12253 2008-05-02  Jim Meyering  <meyering@redhat.com>
12254
12255         avoid compilation error on FreeBSD 6
12256         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
12257
12258 2008-05-01  Jim Meyering  <meyering@redhat.com>
12259
12260         useless-if-before-free: correct --help's exit status description
12261         * build-aux/useless-if-before-free (usage): Like grep, exit 0
12262         for one or more matches, etc.  Reported by Bruno Haible.
12263
12264         vc-list-files: make the stand-alone gnulib test work
12265         * modules/vc-list-files-tests (configure.ac):
12266         Define and AC_SUBST abs_aux_dir.
12267         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
12268         $(abs_top_srcdir) to each script and having each of them
12269         duplicate the work of setting PATH, set PATH here, using
12270         the new variable, abs_aux_dir instead.
12271         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
12272         * tests/test-vc-list-files-git.sh: Likewise.
12273         Reported by Bruno Haible.
12274
12275 2008-05-01  Bruno Haible  <bruno@clisp.org>
12276
12277         * lib/getndelim2.c (getndelim2): Fix newsize computation during
12278         reallocation. Rename 'done' to 'found_delimiter'.
12279
12280 2008-05-01  Jim Meyering  <meyering@redhat.com>
12281
12282         vc-list-files: accommodate /bin/sh like the one from Solaris 10
12283         * build-aux/vc-list-files: Use `...`, not $(...).
12284
12285 2008-04-30  Jim Meyering  <meyering@redhat.com>
12286
12287         add tests for vc-list-files
12288         * modules/vc-list-files-tests: New module.
12289         * tests/test-vc-list-files-cvs.sh: New file.
12290         * tests/test-vc-list-files-git.sh: New file.
12291
12292         avoid a warning from gcc
12293         * lib/getndelim2.c (IF_LINT): Define.
12294         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
12295
12296         vc-list-files: work properly with build-aux/cvsu, too
12297         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
12298         to all cvs-based clauses.
12299
12300         vc-list-files: work properly in the CVS+awk case, too
12301         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
12302
12303         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
12304         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
12305         take more than one file argument, so .  Add quotes, just in case $dir
12306         ever contains a shell meta-character.  Prompted by Soren Hansen in
12307         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
12308
12309 2008-04-29  Eric Blake  <ebb9@byu.net>
12310
12311         Optimize getndelim2 to use block operations when possible.
12312         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
12313         freadseek, and memchr2.
12314         * lib/getndelim2.c (getndelim2): Use them for block reads.
12315
12316 2008-04-29  Bruno Haible  <bruno@clisp.org>
12317
12318         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
12319         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12320         * modules/inet_ntop (Depends-on): Add extensions.
12321         * modules/inet_pton (Depends-on): Likewise.
12322         Reported by Simon Josefsson.
12323
12324 2008-04-29  Jim Meyering  <meyering@redhat.com>
12325
12326         When the is more than one match in a block, match all of them.
12327         * build-aux/useless-if-before-free: Iterate through each block
12328         until there are no more matches.
12329
12330         Fix broken useless-if-before-free script.
12331         * build-aux/useless-if-before-free: Fix typo: missing "?" after
12332         the expression to match cast of argument to free-like function.
12333
12334 2008-04-29  Eric Blake  <ebb9@byu.net>
12335
12336         Use new header.
12337         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
12338
12339 2008-04-29  Jim Meyering  <meyering@redhat.com>
12340
12341         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
12342         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
12343         by gnulib to exist and to declare e.g., inet_ntop.
12344         Don't include "inet_ntop.h", now removed.
12345
12346         * m4/arpa_inet_h.m4: Remove trailing blanks.
12347
12348 2008-04-29  Eric Blake  <ebb9@byu.net>
12349
12350         Silence valgrind on safe reads beyond potential array bounds.
12351         * lib/rawmemchr.valgrind: New file.
12352         * lib/strchrnul.valgrind: Likewise.
12353         * modules/rawmemchr (Files): Distribute new file.
12354         * modules/strchrnul (Files): Likewise.
12355         Suggested by Bruno Haible.
12356
12357 2008-04-29  Bruno Haible  <bruno@clisp.org>
12358
12359         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
12360         (inet_ntop, inet_pton): Change portability warning's wording.
12361         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
12362         Invoke gl_CHECK_NEXT_HEADERS.
12363         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
12364         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
12365         set ARPA_INET_H.
12366         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12367         * modules/arpa_inet (Description): No longer only for systems that
12368         lack it.
12369         (Depends-on): Add include_next.
12370         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
12371         HAVE_ARPA_INET_H.
12372
12373 2008-04-29  Jim Meyering  <meyering@redhat.com>
12374
12375         * modules/mkdir (License): Re-license as LGPLv2+.
12376
12377 2008-04-29  Bruno Haible  <bruno@clisp.org>
12378
12379         * modules/rawmemchr (Maintainer): Set to Eric.
12380         * modules/strchrnul (Maintainer): Likewise.
12381
12382 2008-04-29  Simon Josefsson  <simon@josefsson.org>
12383
12384         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
12385         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
12386
12387         * modules/arpa_inet (arpa/inet.h): Use them.
12388
12389 2008-04-28  Eric Blake  <ebb9@byu.net>
12390
12391         Test getndelim2.
12392         * modules/getndelim2-tests: New file.
12393         * tests/test-getndelim2.c: Likewise.
12394         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
12395         stream.
12396         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
12397
12398         * MODULES.html.sh: Document new module.
12399
12400 2008-04-20  Bruno Haible  <bruno@clisp.org>
12401
12402         * lib/c-stack.c (die): Use raise.
12403         * modules/c-stack (Depends-on): Add raise.
12404
12405 2008-04-28  Bruno Haible  <bruno@clisp.org>
12406
12407         Expect rpmatch to be declared.
12408         * lib/yesno.c (rpmatch): Remove declaration.
12409
12410         Declare rpmatch.
12411         * lib/stdlib.in.h (rpmatch): New declaration.
12412         * lib/rpmatch.c: Include <stdlib.h> first.
12413         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
12414         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
12415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
12416         HAVE_RPMATCH.
12417         * modules/rpmatch (Depends-on): Add stdlib, extensions.
12418         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12419         (Include): Set to <stdlib.h>.
12420         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
12421         HAVE_RPMATCH.
12422         * NEWS: Document the change.
12423
12424 2008-04-28  Bruno Haible  <bruno@clisp.org>
12425
12426         Change rpmatch to use nl_langinfo when appropriate.
12427         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
12428         (N_): New macro.
12429         (localized_pattern): New function/macro.
12430         (try): Remove match, nomatch arguments. Copy the pattern into safe
12431         memory before caching it.
12432         (rpmatch): Use localized_pattern. Add translator comments.
12433         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
12434         Suggested by Eric Blake.
12435         * modules/rpmatch (Depends-on): Add stdbool.
12436
12437 2008-04-28  Eric Blake  <ebb9@byu.net>
12438
12439         Add rawmemchr module, matching glibc.
12440         * modules/string (Makefile.am): New indicator.
12441         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
12442         * lib/string.in.h (rawmemchr): Declare when appropriate.
12443         * modules/rawmemchr: New file.
12444         * m4/rawmemchr.m4: Likewise.
12445         * lib/rawmemchr.c: Likewise.
12446         * modules/rawmemchr-tests: Likewise.
12447         * tests/test-rawmemchr.c: Likewise.
12448         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
12449         module.
12450         * modules/strchrnul (Depends-on): Add rawmemchr.
12451         * lib/strchrnul.c (strchrnul): Optimize a corner case.
12452
12453         Whitespace cleanup.
12454         * tests/test-strchrnul.c: Reindent.
12455         * lib/strchrnul.c: Likewise.
12456
12457         Optimize and test strchrnul.
12458         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
12459         * modules/strchrnul-tests: New file.
12460         * tests/test-strchrnul.c: Likewise.
12461
12462         Remove intprops dependency.
12463         * modules/memchr (Depends-on): Remove intprops.
12464         * modules/memrchr (Depends-on): Likewise.
12465         * modules/memchr2 (Depends-on): Likewise.
12466         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
12467         * lib/memrchr.c (__memrchr): Likewise.
12468         * lib/memrchr2.c (memchr2): Likewise.
12469         Reported by Simon Josefsson.
12470
12471 2008-04-28  Simon Josefsson  <simon@josefsson.org>
12472
12473         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
12474         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12475
12476 2008-04-28  Simon Josefsson  <simon@josefsson.org>
12477
12478         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
12479
12480         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
12481
12482         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
12483
12484         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
12485         declarations.
12486         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
12487
12488         * m4/inet_pton.m4: Don't check for header files.
12489
12490         * m4/inet_ntop.m4: Don't check for header files.
12491
12492 2008-04-28  Simon Josefsson  <simon@josefsson.org>
12493
12494         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
12495         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
12496         trigger for cygwin).
12497         Reported by Bruno Haible  <bruno@clisp.org>.
12498
12499 2008-04-28  Bruno Haible  <bruno@clisp.org>
12500
12501         * doc/posix-functions/strdup.texi: Mention mingw problem.
12502
12503 2008-04-27  Bruno Haible  <bruno@clisp.org>
12504
12505         * modules/stat-time-tests (Depends-on): Add sleep.
12506         * tests/test-stat-time.c (force_unlink): New function.
12507         (cleanup): Use it.
12508         (test_mtime): Remove the ctime related tests.
12509         (test_ctime): New function, containing the ctime related tests.
12510         (main): Call test_ctime, except on native Windows platforms.
12511
12512 2008-04-27  Bruno Haible  <bruno@clisp.org>
12513
12514         * lib/rpmatch.c (rpmatch): Add some comments.
12515         Reported by James Youngman <jay@gnu.org>.
12516
12517 2008-04-27  Bruno Haible  <bruno@clisp.org>
12518
12519         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
12520         quiet NaNs.
12521
12522 2008-04-27  Bruno Haible  <bruno@clisp.org>
12523
12524         Make test-yesno.sh work on mingw.
12525         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
12526         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
12527         (main): Set stdin to binary mode.
12528         * modules/yesno-tests (Depends-on): Add binary-io.
12529
12530 2008-04-27  Bruno Haible  <bruno@clisp.org>
12531
12532         Fix 'isfinite' on x86, x86_64, ia64 platforms.
12533         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
12534         argument that lie outside the IEEE 854 domain.
12535         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
12536         (gl_ISFINITE): Use it.
12537         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
12538
12539 2008-04-27  Bruno Haible  <bruno@clisp.org>
12540
12541         Allow local renaming in config.h.
12542         * lib/memrchr.c (memrchr): Don't undefine outside libc.
12543
12544 2008-04-27  Bruno Haible  <bruno@clisp.org>
12545
12546         * lib/memchr.c (__memchr): Change type of 'i'.
12547         * lib/memchr2.c (memchr2): Likewise.
12548
12549 2008-04-26  Eric Blake  <ebb9@byu.net>
12550         and Bruno Haible  <bruno@clisp.org>
12551
12552         Optimize and test memrchr.
12553         * modules/memrchr (Depends-on): Add intprops.
12554         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
12555         * modules/memrchr-tests: New file.
12556         * tests/test-memrchr.c: New file.
12557
12558 2008-04-26  Bruno Haible  <bruno@clisp.org>
12559
12560         Add tentative support for DragonFly BSD.
12561         * lib/stdio-impl.h: Add macros for DragonFly BSD.
12562         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
12563         fp.
12564         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
12565         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
12566         * lib/fpurge.c (fpurge): Likewise.
12567         * lib/freadable.c (freaadable): Likewise.
12568         * lib/freadahead.c (freadahead): Likewise.
12569         * lib/freading.c (freading): Likewise.
12570         * lib/freadptr.c (freadptr): Likewise.
12571         * lib/freadseek.c (freadptrinc): Likewise.
12572         * lib/fseeko.c (fseeko): Likewise.
12573         * lib/fseterr.c (fseterr): Likewise.
12574         * lib/fwritable.c (fwritable): Likewise.
12575         * lib/fwriting.c (fwriting): Likewise.
12576
12577 2008-04-26  Bruno Haible  <bruno@clisp.org>
12578
12579         * lib/stdio-impl.h: New file.
12580         * lib/fbufmode.c: Include stdio-impl.h.
12581         (fbufmode): Use fp_, remove redundant #defines.
12582         * lib/fflush.c: Include stdio-impl.h.
12583         (clear_ungetc_buffer): Remove redundant #defines.
12584         * lib/fpurge.c: Include stdio-impl.h.
12585         (fpurge): Remove redundant #defines.
12586         * lib/freadable.c: Include stdio-impl.h.
12587         (freadable): Remove redundant #defines.
12588         * lib/freadahead.c: Include stdio-impl.h.
12589         (freadahead): Remove redundant #defines.
12590         * lib/freading.c: Include stdio-impl.h.
12591         (freading): Remove redundant #defines.
12592         * lib/freadptr.c: Include stdio-impl.h.
12593         (freadptr): Remove redundant #defines.
12594         * lib/freadseek.c: Include stdio-impl.h.
12595         (freadptrinc): Remove redundant #defines.
12596         * lib/fseeko.c: Include stdio-impl.h.
12597         (rpl_fseeko): Remove redundant #defines.
12598         * lib/fseterr.c: Include stdio-impl.h.
12599         (fseterr): Remove redundant #defines.
12600         * lib/fwritable.c: Include stdio-impl.h.
12601         (fwritable: Remove redundant #defines.
12602         * lib/fwriting.c: Include stdio-impl.h.
12603         (fwriting): Remove redundant #defines.
12604         * modules/fbufmode (Files): Add lib/stdio-impl.h.
12605         * modules/fflush (Files): Likewise.
12606         * modules/fpurge (Files): Likewise.
12607         * modules/freadable (Files): Likewise.
12608         * modules/freadahead (Files): Likewise.
12609         * modules/freading (Files): Likewise.
12610         * modules/freadptr (Files): Likewise.
12611         * modules/freadseek (Files): Likewise.
12612         * modules/fseeko (Files): Likewise.
12613         * modules/fseterr (Files): Likewise.
12614         * modules/fwritable (Files): Likewise.
12615         * modules/fwriting (Files): Likewise.
12616
12617 2008-04-26  Bruno Haible  <bruno@clisp.org>
12618
12619         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
12620         restore_seek_optimization, update_fpos_cache): New functions, extracted
12621         from rpl_fflush.
12622         (rpl_fflush): Use them.
12623         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
12624         (gl_REPLACE_FFLUSH): Use it.
12625
12626 2008-04-26  Bruno Haible  <bruno@clisp.org>
12627
12628         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
12629         on Solaris.
12630         * tests/test-xstrtoimax.sh: Likewise.
12631         * tests/test-xstrtoumax.sh: Likewise.
12632         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12633
12634 2008-04-26  Bruno Haible  <bruno@clisp.org>
12635
12636         * modules/memchr-tests: New file.
12637         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
12638
12639 2008-04-26  Eric Blake  <ebb9@byu.net>
12640             Bruno Haible  <bruno@clisp.org>
12641
12642         * lib/memchr.c: Include intprops.h.
12643         (__memchr): Optimize parallel detection of matching bytes. Rename local
12644         variables. Add explanatory comments.
12645
12646 2008-04-26  Bruno Haible  <bruno@clisp.org>
12647
12648         Fix module 'memchr', broken since 2000-10-28.
12649         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
12650
12651 2008-04-26  Bruno Haible  <bruno@clisp.org>
12652
12653         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
12654         comments.
12655
12656 2008-04-25  Eric Blake  <ebb9@byu.net>
12657
12658         Use native fstatat on cygwin 1.7.0.
12659         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
12660         first.
12661
12662 2008-04-23  Eric Blake  <ebb9@byu.net>
12663
12664         Improve memchr2 performance.
12665         * lib/memchr2.c (memchr2): Further optimize parallel detection of
12666         NUL bytes.
12667         * modules/memchr2 (Depends-on): Use intprops.h.
12668
12669 2008-04-23  Simon Josefsson  <simon@josefsson.org>
12670
12671         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
12672         an inline function instead of a CPP macro.  Patch by Ben Pfaff
12673         <blp@cs.stanford.edu>.
12674
12675 2008-04-23  Simon Josefsson  <simon@josefsson.org>
12676
12677         * lib/arpa_inet.in.h: New file.
12678
12679         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
12680         (Makefile.am): Sed in substitute header file.
12681
12682         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
12683         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
12684
12685         * modules/inet_ntop (configure.ac): Use
12686         gl_ARPA_INET_MODULE_INDICATOR.
12687
12688         * modules/inet_pton (configure.ac): Use
12689         gl_ARPA_INET_MODULE_INDICATOR.
12690
12691 2008-04-22  Jim Meyering  <meyering@redhat.com>
12692
12693         * modules/verify (License): Re-license as LGPLv2+.
12694
12695 2008-04-22  Simon Josefsson  <simon@josefsson.org>
12696
12697         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
12698         parameter to void* as per POSIX standard (MinGW uses char*).
12699
12700 2008-04-21  Bruno Haible  <bruno@clisp.org>
12701
12702         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
12703         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
12704         Define to replacements if REPLACE_ISWCNTRL is 1.
12705         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
12706         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
12707         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
12708         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
12709         what it fixes.
12710         * doc/posix-functions/iswalpha.texi: Likewise.
12711         * doc/posix-functions/iswblank.texi: Likewise.
12712         * doc/posix-functions/iswcntrl.texi: Likewise.
12713         * doc/posix-functions/iswdigit.texi: Likewise.
12714         * doc/posix-functions/iswgraph.texi: Likewise.
12715         * doc/posix-functions/iswlower.texi: Likewise.
12716         * doc/posix-functions/iswprint.texi: Likewise.
12717         * doc/posix-functions/iswpunct.texi: Likewise.
12718         * doc/posix-functions/iswspace.texi: Likewise.
12719         * doc/posix-functions/iswupper.texi: Likewise.
12720         * doc/posix-functions/iswxdigit.texi: Likewise.
12721         Reported by Alain Guibert.
12722
12723 2008-04-21  Bruno Haible  <bruno@clisp.org>
12724
12725         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
12726         Patch by Alain Guibert.
12727
12728 2008-04-21  Bruno Haible  <bruno@clisp.org>
12729
12730         Fix test failures on mingw.
12731         * tests/test-xstrtol.c (print_no_progname): New function.
12732         (main): Install it in error_print_progname hook.
12733         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
12734         * tests/test-xstrtoimax.sh: Likewise.
12735         * tests/test-xstrtoumax.sh: Likewise.
12736
12737 2008-04-21  Bruno Haible  <bruno@clisp.org>
12738
12739         Fix test failure on mingw.
12740         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
12741
12742 2008-04-21  Bruno Haible  <bruno@clisp.org>
12743
12744         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
12745         Actually assign a value.
12746
12747 2008-04-20  Bruno Haible  <bruno@clisp.org>
12748
12749         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
12750         take 2.
12751         * lib/canonicalize.c (canonicalize_file_name): Elide if the
12752         'canonicalize-lgpl' module is also used.
12753         * lib/canonicalize-lgpl.c: Undo last change.
12754         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
12755
12756 2008-04-20  Bruno Haible  <bruno@clisp.org>
12757
12758         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
12759         config.h. Provide _mkdir based fallback for mingw.
12760         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
12761         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
12762         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
12763         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
12764         rather than defining mkdir in config.h.
12765         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
12766         (gl_SYS_STAT_H_DEFAULTS): New macro.
12767         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
12768         HAVE_IO_H any more.
12769         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
12770         HAVE_DECL_MKDIR and HAVE_IO_H.
12771
12772 2008-04-20  Bruno Haible  <bruno@clisp.org>
12773
12774         * lib/isapipe.c: Port to native Windows platforms.
12775
12776 2008-04-20  Bruno Haible  <bruno@clisp.org>
12777
12778         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
12779
12780 2008-04-21  Eric Blake  <ebb9@byu.net>
12781
12782         Work around preprocessors that don't handle UINTMAX_MAX.
12783         * lib/memchr2.c (memchr2): Avoid embedded #if.
12784         Reported by Alain Guibert, fix suggested by Bruno Haible.
12785
12786 2008-04-21  Simon Josefsson  <simon@josefsson.org>
12787
12788         * doc/posix-functions/strftime.texi (strftime): Explain better
12789         Windows incompatibility.  Suggested by Micah Cowan
12790         <micah@cowan.name>.
12791
12792 2008-04-20  Bruno Haible  <bruno@clisp.org>
12793
12794         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
12795         unistr/u8-mblen.
12796
12797 2008-04-20  Bruno Haible  <bruno@clisp.org>
12798
12799         Fix test failure on platforms with non-GNU iconv.
12800         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
12801         (U_TO_U8): Use it, rather than u16_to_u8.
12802         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
12803         units at the end of the input string.
12804         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
12805
12806 2008-04-20  Bruno Haible  <bruno@clisp.org>
12807
12808         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
12809         when the resulting length is 0.
12810         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
12811
12812 2008-04-20  Bruno Haible  <bruno@clisp.org>
12813
12814         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
12815         works.
12816         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
12817
12818 2008-04-20  Bruno Haible  <bruno@clisp.org>
12819
12820         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
12821         * modules/tsearch-tests (configure.ac): Test for initstate function.
12822
12823 2008-04-20  Bruno Haible  <bruno@clisp.org>
12824
12825         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
12826         for nlink_t if missing.
12827         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
12828
12829 2008-04-19  Bruno Haible  <bruno@clisp.org>
12830
12831         Work around snprintf bug on Linux libc5.
12832         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
12833         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
12834         gl_SNPRINTF_SIZE1.
12835         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
12836         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
12837         that test failed.
12838         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
12839         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
12840         * modules/snprintf (Files): Add m4/printf.m4.
12841         * modules/vsnprintf (Files): Likewise.
12842         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
12843         * doc/posix-functions/vsnprintf.texi: Likewise.
12844
12845 2008-04-19  Bruno Haible  <bruno@clisp.org>
12846
12847         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
12848         from 0.0058 to less than 10^-7.
12849
12850 2008-04-19  Bruno Haible  <bruno@clisp.org>
12851
12852         Fix rounding when a precision is given.
12853         * lib/vasnprintf.c (is_borderline): New function.
12854         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
12855         9...9x.
12856         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
12857         %e, %g.
12858         * tests/test-vasprintf-posix.c (test_function): Likewise.
12859         * tests/test-snprintf-posix.h (test_function): Likewise.
12860         * tests/test-sprintf-posix.h (test_function): Likewise.
12861         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
12862         * tests/test-printf-posix.h (test_function): Likewise.
12863         * tests/test-printf-posix.output: Update.
12864         Reported by John Darrington <john@darrington.wattle.id.au> via
12865         Ben Pfaff <blp@cs.stanford.edu>.
12866
12867 2008-04-18  Simon Josefsson  <simon@josefsson.org>
12868
12869         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
12870         Suggested by Bruno Haible <bruno@clisp.org>.
12871
12872 2008-04-17  Bruno Haible  <bruno@clisp.org>
12873
12874         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
12875         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
12876         implementation.
12877         Patch by Bruce Merry <bmerry@gmail.com>.
12878
12879 2008-04-17  Simon Josefsson  <simon@josefsson.org>
12880
12881         * doc/posix-functions/strftime.texi (strftime): Mention that %e
12882         doesn't work under Windows.
12883
12884 2008-04-16  Bruno Haible  <bruno@clisp.org>
12885
12886         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
12887         New macros.
12888         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
12889         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
12890         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
12891         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
12892         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
12893         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
12894         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
12895         macros.
12896         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
12897         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
12898         Northern Sotho, Uighur.
12899
12900 2008-04-16  Bruno Haible  <bruno@clisp.org>
12901
12902         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
12903         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
12904         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
12905         Reported by Daniel Bergström <daniel@octocode.com>.
12906
12907 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
12908             Bruno Haible  <bruno@clisp.org>
12909
12910         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
12911         function.
12912         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
12913         New functions, mostly extracted from gl_locale_name_default.
12914         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
12915
12916 2008-04-16  Eric Blake  <ebb9@byu.net>
12917
12918         Adjust strtod detection to catch glibc 2.7 bug.
12919         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
12920         Reported by John Gatewood Ham.
12921
12922 2008-04-16  Bruno Haible  <bruno@clisp.org>
12923
12924         Add tentative support for Linux libc5.
12925         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
12926         * lib/fpurge.c (fpurge): Likewise.
12927         * lib/freadable.c (freadable): Likewise.
12928         * lib/freadahead.c (freadahead): Likewise.
12929         * lib/freading.c (freading): Likewise.
12930         * lib/freadptr.c (freadptr): Likewise.
12931         * lib/freadseek.c (freadptrinc): Likewise.
12932         * lib/fseeko.c (rpl_fseeko): Likewise.
12933         * lib/fseterr.c (fseterr): Likewise.
12934         * lib/fwritable.c (fwritable): Likewise.
12935         * lib/fwriting.c (fwriting): Likewise.
12936         Reported by Alain Guibert <alguibert+bts@free.fr>.
12937
12938 2008-04-15  Bruno Haible  <bruno@clisp.org>
12939
12940         * modules/mathl (configure.ac): Define module indicator.
12941
12942 2008-04-15  Bruno Haible  <bruno@clisp.org>
12943
12944         * lib/logl.c (logl): Remove unused variables.
12945
12946 2008-04-15  Bruno Haible  <bruno@clisp.org>
12947
12948         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
12949         fails.
12950
12951 2008-04-15  Bruno Haible  <bruno@clisp.org>
12952
12953         * lib/trim.c (trim2): Fix argument of isspace() macro.
12954
12955 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
12956
12957         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
12958         to 0.
12959         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
12960
12961 2008-04-14  Bruno Haible  <bruno@clisp.org>
12962
12963         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
12964         AC_LANG_PROGRAM argument.
12965         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
12966         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
12967         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
12968         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
12969         * m4/math_h.m4 (gl_MATH_H): Likewise.
12970         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
12971         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
12972         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
12973         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
12974         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
12975         * m4/regex.m4 (gl_REGEX): Likewise.
12976         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
12977         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
12978         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
12979         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
12980         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
12981         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
12982         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
12983         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
12984
12985 2008-04-14  Jim Meyering  <meyering@redhat.com>
12986
12987         test-strtod: fix typos: s/abs/fabs/
12988         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
12989
12990 2008-04-13  Bruno Haible  <bruno@clisp.org>
12991
12992         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
12993         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
12994         module is also used and while not building the reloc-wrapper.
12995
12996 2008-04-13  Bruno Haible  <bruno@clisp.org>
12997
12998         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
12999
13000 2008-04-13  Bruno Haible  <bruno@clisp.org>
13001
13002         Fix AIX compilation failure introduced on 2008-04-02.
13003         * tests/test-frexp.c (exp): Undefine before redefining.
13004         * tests/test-frexpl.c (exp): Likewise.
13005
13006 2008-04-13  Bruno Haible  <bruno@clisp.org>
13007
13008         Work around a HP-UX stdio bug.
13009         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
13010         * tests/test-ftello.c (main): Likewise.
13011         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
13012         * doc/posix-functions/ftello.texi: Likewise.
13013
13014 2008-04-13  Bruno Haible  <bruno@clisp.org>
13015
13016         Make test-signbit pass on HP-UX/hppa.
13017         * tests/test-signbit.c (minus_zerol): New variable.
13018         (test_signbitl): Use it.
13019
13020 2008-04-13  Bruno Haible  <bruno@clisp.org>
13021
13022         Make truncl work on OSF/1 4.0.
13023         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
13024         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
13025         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
13026         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
13027         HAVE_DECL_TRUNCL.
13028         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
13029         HAVE_DECL_TRUNCL.
13030         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
13031
13032 2008-04-13  Bruno Haible  <bruno@clisp.org>
13033
13034         * lib/unictype.h: Remove trailing comma from enumeration definitions.
13035
13036 2008-04-13  Bruno Haible  <bruno@clisp.org>
13037
13038         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
13039         expression, so as to avoid HP-UX 11 cc compiler bug.
13040
13041 2008-04-13  Bruno Haible  <bruno@clisp.org>
13042
13043         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
13044
13045 2008-04-13  Bruno Haible  <bruno@clisp.org>
13046
13047         * lib/git-merge-changelog.c: Remove empty declaration outside of
13048         functions.
13049
13050 2008-04-13  Bruno Haible  <bruno@clisp.org>
13051
13052         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
13053
13054 2008-04-13  Bruno Haible  <bruno@clisp.org>
13055
13056         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
13057         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
13058         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
13059         also if it exists but lacks definitions of the SHUT_* macros.
13060         * modules/sys_socket (Description): Update.
13061         Reported by Elbert Pol <e.pol@chello.nl>.
13062
13063 2008-04-13  Bruno Haible  <bruno@clisp.org>
13064
13065         * lib/localcharset.c (OS2): Don't redefine if already defined.
13066         Reported by Elbert Pol <e.pol@chello.nl>.
13067
13068 2008-04-13  Bruno Haible  <bruno@clisp.org>
13069
13070         * lib/binary-io.h [__EMX__]: Include <io.h>.
13071         Reported by Elbert Pol <e.pol@chello.nl>.
13072
13073 2008-04-12  Bruno Haible  <bruno@clisp.org>
13074
13075         * lib/fpucw.h: Enable the definitions also for x86_64.
13076         Needed for NetBSD/x86_64.
13077         Reported by Thomas Klausner <tk@giga.or.at>.
13078
13079 2008-04-12  Bruno Haible  <bruno@clisp.org>
13080
13081         * tests/test-strtod.c: Include isnand.h.
13082         (main): Use isnand instead of isnan.
13083         Reported by Jim Meyering.
13084
13085 2008-04-12  Bruno Haible  <bruno@clisp.org>
13086
13087         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
13088         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
13089
13090 2008-04-12  Jim Meyering  <meyering@redhat.com>
13091
13092         * m4/math_h.m4 (gl_MATH_H): Fix typos.
13093
13094 2008-04-12  Bruno Haible  <bruno@clisp.org>
13095
13096         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
13097         Reported by Elbert Pol <e.pol@chello.nl>.
13098
13099 2008-04-12  Eric Blake  <ebb9@byu.net>
13100
13101         Work around Solaris 10 math.h bug.
13102         * m4/math_h.m4 (gl_MATH_H): Check for bug.
13103         (gl_MATH_H_DEFAULTS): Set up default.
13104         * modules/math (Makefile.am): Replace new indicators.
13105         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
13106         * tests/test-math.c (main): Test this.
13107         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
13108         * doc/posix-headers/math.texi (math.h): Mention bug.
13109         Reported by Nelson H. F. Beebe and Jim Meyering.
13110
13111 2008-04-11  Bruno Haible  <bruno@clisp.org>
13112
13113         Adapt to future versions of Apple GCC.
13114         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
13115         Reported by Peter O'Gorman <peter@pogma.com>.
13116
13117 2008-04-11  Bruno Haible  <bruno@clisp.org>
13118
13119         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
13120
13121 2008-04-11  Bruno Haible  <bruno@clisp.org>
13122
13123         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
13124
13125         * modules/getaddrinfo-tests (Makefile.am): Define
13126         test_getaddrinfo_LDADD.
13127
13128 2008-04-11  Bruno Haible  <bruno@clisp.org>
13129
13130         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
13131         (init): Fix syntax error.
13132         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
13133         is declared.
13134
13135 2008-04-11  Bruno Haible  <bruno@clisp.org>
13136
13137         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
13138         * modules/glob (Depends-on): Add stdbool.
13139
13140 2008-04-11  Bruno Haible  <bruno@clisp.org>
13141
13142         * lib/trim.c: Include <string.h>.
13143
13144 2008-04-11  Eric Blake  <ebb9@byu.net>
13145
13146         Avoid compile failure on OS/2.
13147         * lib/regex_internal.h (internal_function): Disable optimization
13148         on OS/2 (__EMX__), where it caused compiler error.
13149         Reported by Elbert Pol.
13150
13151 2008-04-11  Bruno Haible  <bruno@clisp.org>
13152
13153         Flush the standard error stream before aborting. Needed on mingw.
13154         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
13155         * tests/test-array_list.c (ASSERT): Likewise.
13156         * tests/test-array_oset.c (ASSERT): Likewise.
13157         * tests/test-avltree_list.c (ASSERT): Likewise.
13158         * tests/test-avltree_oset.c (ASSERT): Likewise.
13159         * tests/test-avltreehash_list.c (ASSERT): Likewise.
13160         * tests/test-binary-io.c (ASSERT): Likewise.
13161         * tests/test-byteswap.c (ASSERT): Likewise.
13162         * tests/test-c-ctype.c (ASSERT): Likewise.
13163         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
13164         * tests/test-c-strcasestr.c (ASSERT): Likewise.
13165         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
13166         * tests/test-c-strstr.c (ASSERT): Likewise.
13167         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
13168         * tests/test-canonicalize.c (ASSERT): Likewise.
13169         * tests/test-carray_list.c (ASSERT): Likewise.
13170         * tests/test-ceilf1.c (ASSERT): Likewise.
13171         * tests/test-ceilf2.c (ASSERT): Likewise.
13172         * tests/test-ceill.c (ASSERT): Likewise.
13173         * tests/test-count-one-bits.c (ASSERT): Likewise.
13174         * tests/test-fbufmode.c (ASSERT): Likewise.
13175         * tests/test-fflush2.c (ASSERT): Likewise.
13176         * tests/test-floorf1.c (ASSERT): Likewise.
13177         * tests/test-floorf2.c (ASSERT): Likewise.
13178         * tests/test-floorl.c (ASSERT): Likewise.
13179         * tests/test-fopen.c (ASSERT): Likewise.
13180         * tests/test-fpending.c (ASSERT): Likewise.
13181         * tests/test-fprintf-posix.c (ASSERT): Likewise.
13182         * tests/test-fpurge.c (ASSERT): Likewise.
13183         * tests/test-freadable.c (ASSERT): Likewise.
13184         * tests/test-freadahead.c (ASSERT): Likewise.
13185         * tests/test-freading.c (ASSERT): Likewise.
13186         * tests/test-freadptr.c (ASSERT): Likewise.
13187         * tests/test-freadptr2.c (ASSERT): Likewise.
13188         * tests/test-freadseek.c (ASSERT): Likewise.
13189         * tests/test-freopen.c (ASSERT): Likewise.
13190         * tests/test-frexp.c (ASSERT): Likewise.
13191         * tests/test-frexpl.c (ASSERT): Likewise.
13192         * tests/test-fseek.c (ASSERT): Likewise.
13193         * tests/test-fseeko.c (ASSERT): Likewise.
13194         * tests/test-fstrcmp.c (ASSERT): Likewise.
13195         * tests/test-ftell.c (ASSERT): Likewise.
13196         * tests/test-ftello.c (ASSERT): Likewise.
13197         * tests/test-func.c (ASSERT): Likewise.
13198         * tests/test-fwritable.c (ASSERT): Likewise.
13199         * tests/test-fwriting.c (ASSERT): Likewise.
13200         * tests/test-getdelim.c (ASSERT): Likewise.
13201         * tests/test-getline.c (ASSERT): Likewise.
13202         * tests/test-i-ring.c (ASSERT): Likewise.
13203         * tests/test-iconv-utf.c (ASSERT): Likewise.
13204         * tests/test-iconv.c (ASSERT): Likewise.
13205         * tests/test-isfinite.c (ASSERT): Likewise.
13206         * tests/test-isnand.c (ASSERT): Likewise.
13207         * tests/test-isnanf.c (ASSERT): Likewise.
13208         * tests/test-isnanl.h (ASSERT): Likewise.
13209         * tests/test-ldexpl.c (ASSERT): Likewise.
13210         * tests/test-linked_list.c (ASSERT): Likewise.
13211         * tests/test-linkedhash_list.c (ASSERT): Likewise.
13212         * tests/test-localename.c (ASSERT): Likewise.
13213         * tests/test-lseek.c (ASSERT): Likewise.
13214         * tests/test-mbscasecmp.c (ASSERT): Likewise.
13215         * tests/test-mbscasestr1.c (ASSERT): Likewise.
13216         * tests/test-mbscasestr2.c (ASSERT): Likewise.
13217         * tests/test-mbscasestr3.c (ASSERT): Likewise.
13218         * tests/test-mbscasestr4.c (ASSERT): Likewise.
13219         * tests/test-mbschr.c (ASSERT): Likewise.
13220         * tests/test-mbscspn.c (ASSERT): Likewise.
13221         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
13222         * tests/test-mbspbrk.c (ASSERT): Likewise.
13223         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
13224         * tests/test-mbsrchr.c (ASSERT): Likewise.
13225         * tests/test-mbsspn.c (ASSERT): Likewise.
13226         * tests/test-mbsstr1.c (ASSERT): Likewise.
13227         * tests/test-mbsstr2.c (ASSERT): Likewise.
13228         * tests/test-mbsstr3.c (ASSERT): Likewise.
13229         * tests/test-memchr2.c (ASSERT): Likewise.
13230         * tests/test-memmem.c (ASSERT): Likewise.
13231         * tests/test-open.c (ASSERT): Likewise.
13232         * tests/test-printf-frexp.c (ASSERT): Likewise.
13233         * tests/test-printf-frexpl.c (ASSERT): Likewise.
13234         * tests/test-printf-posix.c (ASSERT): Likewise.
13235         * tests/test-quotearg.c (ASSERT): Likewise.
13236         * tests/test-rbtree_list.c (ASSERT): Likewise.
13237         * tests/test-rbtree_oset.c (ASSERT): Likewise.
13238         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
13239         * tests/test-round1.c (ASSERT): Likewise.
13240         * tests/test-roundf1.c (ASSERT): Likewise.
13241         * tests/test-roundl.c (ASSERT): Likewise.
13242         * tests/test-signbit.c (ASSERT): Likewise.
13243         * tests/test-sleep.c (ASSERT): Likewise.
13244         * tests/test-snprintf-posix.c (ASSERT): Likewise.
13245         * tests/test-snprintf.c (ASSERT): Likewise.
13246         * tests/test-sprintf-posix.c (ASSERT): Likewise.
13247         * tests/test-stat-time.c (ASSERT): Likewise.
13248         * tests/test-strcasestr.c (ASSERT): Likewise.
13249         * tests/test-strerror.c (ASSERT): Likewise.
13250         * tests/test-striconv.c (ASSERT): Likewise.
13251         * tests/test-striconveh.c (ASSERT): Likewise.
13252         * tests/test-striconveha.c (ASSERT): Likewise.
13253         * tests/test-strsignal.c (ASSERT): Likewise.
13254         * tests/test-strstr.c (ASSERT): Likewise.
13255         * tests/test-strtod.c (ASSERT): Likewise.
13256         * tests/test-trunc1.c (ASSERT): Likewise.
13257         * tests/test-trunc2.c (ASSERT): Likewise.
13258         * tests/test-truncf1.c (ASSERT): Likewise.
13259         * tests/test-truncf2.c (ASSERT): Likewise.
13260         * tests/test-truncl.c (ASSERT): Likewise.
13261         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
13262         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
13263         * tests/test-vasnprintf.c (ASSERT): Likewise.
13264         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
13265         * tests/test-vasprintf.c (ASSERT): Likewise.
13266         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
13267         * tests/test-vprintf-posix.c (ASSERT): Likewise.
13268         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
13269         * tests/test-vsnprintf.c (ASSERT): Likewise.
13270         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
13271         * tests/test-wcwidth.c (ASSERT): Likewise.
13272         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
13273         * tests/test-xprintf-posix.c (ASSERT): Likewise.
13274         * tests/test-xvasprintf.c (ASSERT): Likewise.
13275         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
13276         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
13277         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
13278         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
13279         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
13280         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
13281         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
13282         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
13283         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
13284         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
13285         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
13286         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
13287         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
13288         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
13289         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
13290         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
13291         * tests/unictype/test-block_list.c (ASSERT): Likewise.
13292         * tests/unictype/test-block_of.c (ASSERT): Likewise.
13293         * tests/unictype/test-block_test.c (ASSERT): Likewise.
13294         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
13295         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
13296         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
13297         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
13298         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
13299         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
13300         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
13301         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
13302         * tests/unictype/test-combining.c (ASSERT): Likewise.
13303         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
13304         * tests/unictype/test-digit.c (ASSERT): Likewise.
13305         * tests/unictype/test-mirror.c (ASSERT): Likewise.
13306         * tests/unictype/test-numeric.c (ASSERT): Likewise.
13307         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
13308         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
13309         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
13310         * tests/unictype/test-scripts.c (ASSERT): Likewise.
13311         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
13312         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
13313         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
13314         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
13315         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
13316         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
13317         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
13318         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
13319         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
13320         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
13321         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
13322         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
13323         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
13324         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
13325         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
13326         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
13327         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
13328         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
13329         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
13330         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
13331         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
13332         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
13333         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
13334         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
13335         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
13336         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
13337         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
13338         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
13339         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
13340         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
13341         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
13342         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
13343         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
13344         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
13345         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
13346         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
13347         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
13348         Reported by Eric Blake.
13349
13350 2008-04-11  Bruno Haible  <bruno@clisp.org>
13351
13352         * lib/wchar.in.h: Tweak comment.
13353
13354 2008-04-11  Bruno Haible  <bruno@clisp.org>
13355
13356         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
13357         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
13358         gl_COMMON.
13359         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
13360
13361 2008-04-11  Bruno Haible  <bruno@clisp.org>
13362
13363         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
13364
13365 2008-04-11  Simon Josefsson  <simon@josefsson.org>
13366
13367         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
13368         of attempting to use non-existing /dev/*random.  Based on patch
13369         from Adam Strzelecki <ono@java.pl> in
13370         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
13371
13372 2008-04-08  Bruno Haible  <bruno@clisp.org>
13373
13374         Add tentative support for emx+gcc.
13375         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
13376         * lib/fpurge.c (fpurge): Likewise.
13377         * lib/freadable.c (freadable): Likewise.
13378         * lib/freadahead.c (freadahead): Likewise.
13379         * lib/freading.c (freading): Likewise.
13380         * lib/freadptr.c (freadptr): Likewise.
13381         * lib/freadseek.c (freadptrinc): Likewise.
13382         * lib/fseeko.c (rpl_fseeko): Likewise.
13383         * lib/fseterr.c (fseterr): Likewise.
13384         * lib/fwritable.c (fwritable): Likewise.
13385         * lib/fwriting.c (fwriting): Likewise.
13386         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
13387
13388 2008-04-09  Eric Blake  <ebb9@byu.net>
13389
13390         Avoid some autoconf warnings.
13391         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
13392         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
13393         * m4/afs.m4 (gl_AFS): Likewise.
13394         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
13395         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
13396         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
13397         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
13398         (gl_INTEGER_TYPE_SUFFIX): Likewise.
13399         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
13400         (AC_CHECK_DECLS_ONCE): Likewise.
13401         Rename file...
13402         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
13403         gnulib-tool requires autoconf 2.59 or better.
13404         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
13405
13406 2008-04-08  Eric Blake  <ebb9@byu.net>
13407
13408         Use 'git describe --match' if present (added in git 1.5.5).
13409         * build-aux/git-version-gen: Limit result to tags that match 'v*'
13410         if possible.
13411
13412 2008-04-08  Bruno Haible  <bruno@clisp.org>
13413
13414         Add tentative support for OpenServer.
13415         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
13416         _ptr, _cnt.
13417         * lib/fpurge.c (fpurge): Likewise.
13418         * lib/freadable.c (freadable): Likewise.
13419         * lib/freadahead.c (freadahead): Likewise.
13420         * lib/freading.c (freading): Likewise.
13421         * lib/freadptr.c (freadptr): Likewise.
13422         * lib/freadseek.c (freadptrinc): Likewise.
13423         * lib/fseeko.c (rpl_fseeko): Likewise.
13424         * lib/fseterr.c (fseterr): Likewise.
13425         * lib/fwritable.c (fwritable): Likewise.
13426         * lib/fwriting.c (fwriting): Likewise.
13427         Reported by Roger Cornelius <rac@tenzing.org> and
13428         Brian K. White <brian@aljex.com>.
13429
13430 2008-04-06  Jim Meyering  <meyering@redhat.com>
13431
13432         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
13433
13434 2008-04-06  Bruno Haible  <bruno@clisp.org>
13435
13436         Avoid possible error with non-ASCII bytes in UTF-8 locales.
13437         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
13438         * tests/test-printf-posix.sh: Likewise.
13439         * tests/test-vfprintf-posix.sh: Likewise.
13440         * tests/test-vprintf-posix.sh: Likewise.
13441         * tests/test-xprintf-posix.sh: Likewise.
13442
13443 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13444
13445         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
13446         hide error from 'ls', needed on OS/2.
13447         Report by Elbert Pol <elbert.pol@gmail.com>.
13448
13449 2008-04-04  Eric Blake  <ebb9@byu.net>
13450
13451         Make test-fseeko.c failures meaningful.
13452         * tests/test-fseeko.c: Print line number on failure.
13453         * tests/test-fseek.c: Likewise.
13454         Reported by Nelson H. F. Beebe.
13455
13456         Improve strtod bug detection check.
13457         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
13458         required for Solaris 10.
13459         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
13460
13461 2008-04-04  Bruno Haible  <bruno@clisp.org>
13462
13463         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
13464         by m4/setenv.m4.
13465
13466 2008-04-03  Eric Blake  <ebb9@byu.net>
13467
13468         Ensure sane .version contents.
13469         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
13470         version string.
13471         * build-aux/git-version-gen: Improve documentation.
13472
13473         Make GNU make output nicer.
13474         * top/GNUmakefile [!_have-Makefile]: Add dependency on
13475         MAKECMDGOALS to enforce message for all command line targets.  Set
13476         srcdir for use in maint.mk.
13477
13478         Another maintainer tweak.
13479         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
13480         a target that regenerates version.
13481
13482 2008-04-03  Jim Meyering  <meyering@redhat.com>
13483
13484         vc-list-files: don't cause coreutils "make po-check" failure
13485         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
13486
13487 2008-04-03  Eric Blake  <ebb9@byu.net>
13488
13489         Allow VPATH usage of vc-list-files.
13490         * build-aux/vc-list-files (scriptversion): Add timestamp.
13491         (options): Add --help, --version, -C.
13492         (CVS): Support installed cvsu.
13493
13494 2008-04-02  Bruno Haible  <bruno@clisp.org>
13495
13496         Avoid some "statement with no effect" warnings from gcc.
13497         * tests/test-wctype.c (main): Explicitly ignore unused values.
13498         Reported by Jim Meyering.
13499
13500 2008-04-02  Jim Meyering  <meyering@redhat.com>
13501
13502         Avoid some warnings from "gcc -Wshadow".
13503         * tests/test-frexp.c (exp): Define to a different identifier.
13504         * tests/test-frexpl.c (exp): Likewise.
13505
13506 2008-04-03  Jim Meyering  <meyering@redhat.com>
13507
13508         bootstrap: remove dangling *.[ch] symlinks from lib
13509         * build-aux/bootstrap [dangling symlink removal]: Move find's
13510         -depth option to precede all others, to avoid a warning.
13511         Remove *.[ch] files too, and from "$source_base" (usually lib/).
13512
13513 2008-04-02  Bruno Haible  <bruno@clisp.org>
13514
13515         Avoid some warnings from "gcc -Wshadow".
13516         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
13517         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
13518         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
13519         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
13520         Reported by Jim Meyering.
13521
13522 2008-04-01  Bruno Haible  <bruno@clisp.org>
13523
13524         Fix test to work on IRIX 6.5 with cc.
13525         * tests/test-math.c (numeric_equal): New function.
13526         (main): Use it.
13527
13528 2008-04-01  Bruno Haible  <bruno@clisp.org>
13529
13530         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
13531
13532 2008-04-01  Bruno Haible  <bruno@clisp.org>
13533
13534         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
13535         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
13536         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
13537         (Depends-on): Remove math.
13538
13539         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
13540         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
13541         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
13542         (Depends-on): Remove math.
13543
13544         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
13545         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
13546         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
13547         (Depends-on): Remove math.
13548         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
13549         (Depends-on): Remove math.
13550
13551         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
13552         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
13553         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
13554         (Depends-on): Remove math.
13555         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
13556         (Depends-on): Remove math.
13557
13558         * tests/test-round1.c: Include nan.h.
13559         (main): Use NaNd instead of NAN.
13560         * modules/round-tests (Files): Add tests/nan.h.
13561
13562         * tests/test-trunc1.c: Include nan.h.
13563         (main): Use NaNd instead of NAN.
13564         * modules/trunc-tests (Files): Add tests/nan.h.
13565
13566         * tests/test-roundf1.c: Include nan.h.
13567         (main): Use NaNf instead of NAN.
13568         * modules/roundf-tests (Files): Add tests/nan.h.
13569
13570         * tests/test-truncf1.c: Include nan.h.
13571         (main): Use NaNf instead of NAN.
13572         * modules/truncf-tests (Files): Add tests/nan.h.
13573
13574         * tests/test-ceilf1.c: Include nan.h.
13575         (main): Use NaNf instead of NAN.
13576         * modules/ceilf-tests (Files): Add tests/nan.h.
13577
13578         * tests/test-floorf1.c: Include nan.h.
13579         (main): Use NaNf instead of NAN.
13580         * modules/floorf-tests (Files): Add tests/nan.h.
13581
13582         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
13583         (main): Use NaNf instead of NAN.
13584         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
13585
13586         * tests/test-isnand.c: Include nan.h instead of <math.h>.
13587         (main): Use NaNd instead of NAN.
13588         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
13589
13590         * tests/test-frexp.c: Include nan.h.
13591         (main): Use NaNd instead of NAN.
13592         * modules/frexp-tests (Files): Add tests/nan.h.
13593
13594         * lib/isnan.c: Don't include <math.h>.
13595         (FUNC): Don't use NAN macro.
13596         * modules/isnand-nolibm (Depends-on): Remove math.
13597         * modules/isnanf-nolibm (Depends-on): Remove math.
13598         * modules/isnanl (Depends-on): Remove math.
13599         * modules/isnanl-nolibm (Depends-on): Remove math.
13600
13601         * tests/nan.h: New file.
13602
13603 2008-04-01  Eric Blake  <ebb9@byu.net>
13604
13605         Fix typos.
13606         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
13607         values to be the right type.
13608
13609         For now, cater to gnulib strtod inaccuracies.
13610         * tests/test-strtod.c (main): Allow 1-ulp error on expected
13611         fractional results.  While not as nice from a QoI perspective, it
13612         is a quicker patch than correctly implementing decimal to binary
13613         rounding.
13614
13615 2008-03-31  Eric Blake  <ebb9@byu.net>
13616
13617         Guarantee a definition of NAN.
13618         * lib/math.in.h (NAN): Define if missing.
13619         * tests/test-math.c (main): Test it.
13620         * doc/posix-headers/math.texi (math.h): Document this.
13621         * lib/isnan.c (rpl_isnand): Use it.
13622         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
13623         * tests/test-floorf1.c (NaN): Likewise.
13624         * tests/test-frexp.c (NaN): Likewise.
13625         * tests/test-isnand.c (NaN): Likewise.
13626         * tests/test-isnanf.c (NaN): Likewise.
13627         * tests/test-round1.c (NaN): Likewise.
13628         * tests/test-roundf1.c (NaN): Likewise.
13629         * tests/test-snprintf-posix.h (NaN): Likewise.
13630         * tests/test-sprintf-posix.h (NaN): Likewise.
13631         * tests/test-trunc1.c (NaN): Likewise.
13632         * tests/test-truncf1.c (NaN): Likewise.
13633         * tests/test-vasnprintf-posix.c (NaN): Likewise.
13634         * tests/test-vasprintf-posix.c (NaN): Likewise.
13635         * modules/isnand-nolibm (Depends-on): Add math.
13636         * modules/isnanf-nolibm (Depends-on): Likewise.
13637         * modules/isnanl (Depends-on): Likewise.
13638         * modules/isnanl-nolibm (Depends-on): Likewise.
13639         * modules/snprintf-posix-tests (Depends-on): Likewise.
13640         * modules/sprintf-posix-tests (Depends-on): Likewise.
13641         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
13642         * modules/vsprintf-posix-tests (Depends-on): Likewise.
13643         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
13644         * modules/vasprintf-posix-tests (Depends-on): Likewise.
13645
13646 2008-03-31  Bruno Haible  <bruno@clisp.org>
13647
13648         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
13649         * doc/posix-functions/strtod.texi: Likewise.
13650
13651 2008-03-31  Bruno Haible  <bruno@clisp.org>
13652
13653         * tests/test-strtod.c (main): Don't use C99 syntax.
13654
13655 2008-03-31  Bruno Haible  <bruno@clisp.org>
13656
13657         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
13658         Reported by Eric Blake.
13659
13660 2008-03-31  Jim Meyering  <meyering@redhat.com>
13661
13662         Don't compare actual signbit return values.
13663         * tests/test-strtod.c (main): Rather, compare only their
13664         zero/non-zero nature.
13665
13666 2008-03-31  Eric Blake  <ebb9@byu.net>
13667
13668         More strtod documentation.
13669         * doc/posix-functions/strtod.texi (strtod): Interpret more test
13670         failures as distinct bugs.
13671
13672 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
13673
13674         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
13675         Problem reported by Erik Benada in
13676         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
13677
13678 2008-03-30  Bruno Haible  <bruno@clisp.org>
13679
13680         * tests/test-strtod.c: Add comments about which assertion fails on which
13681         platform.
13682         * doc/posix-functions/strtod.texi: Add info about many more platforms.
13683
13684 2008-03-30  Eric Blake  <ebb9@byu.net>
13685
13686         Test signbit behavior on zeros.
13687         * tests/test-signbit.c (test_signbitf): Add tests for zero.
13688         (test_signbitd, test_signbitl): Likewise.
13689
13690         More strtod touchups.
13691         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
13692         sign of negative underflow, for now.  Use .5, not .1.
13693         * doc/posix-functions/strtod.texi (strtod): Mention these
13694         limitations.
13695         Reported by Jim Meyering.
13696
13697 2008-03-30  Bruno Haible  <bruno@clisp.org>
13698
13699         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
13700         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
13701
13702 2008-03-30  Bruno Haible  <bruno@clisp.org>
13703
13704         Avoid failure when attempting to return empty iconv results on some
13705         platforms.
13706         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
13707         allocation, don't report ENOMEM when the resulting string is empty.
13708
13709 2008-03-30  Bruno Haible  <bruno@clisp.org>
13710
13711         Fix buffer overrun.
13712         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
13713         Don't consider the width for tmp_length. Check count against tmp_length
13714         before doing the padding. Ensure enough allocation during padding.
13715
13716 2008-03-30  Eric Blake  <ebb9@byu.net>
13717
13718         strtod touchups.
13719         * lib/strtod.c (strtod): Avoid compiler warnings.
13720         Reported by Jim Meyering.
13721
13722 2008-03-30  Bruno Haible  <bruno@clisp.org>
13723
13724         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
13725         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
13726         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
13727         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
13728         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
13729         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
13730         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
13731         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
13732
13733         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
13734         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
13735         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
13736         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
13737         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
13738         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
13739         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
13740         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
13741
13742         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
13743         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
13744         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
13745         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
13746         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
13747         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
13748         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
13749         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
13750
13751         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
13752         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
13753
13754         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
13755         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
13756
13757         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
13758         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
13759
13760         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
13761         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
13762         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
13763
13764         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
13765         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
13766         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
13767
13768         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
13769         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
13770         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
13771
13772         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
13773         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
13774         * modules/vasprintf (Depends-on): Add EOVERFLOW.
13775
13776         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
13777         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
13778         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
13779         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
13780         (Depends-on): Add EOVERFLOW.
13781         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
13782         (Depends-on): Add EOVERFLOW.
13783         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
13784         (Depends-on): Add EOVERFLOW.
13785         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
13786         (Depends-on): Add EOVERFLOW.
13787         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
13788         (Depends-on): Add EOVERFLOW.
13789         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
13790         (Depends-on): Add EOVERFLOW.
13791         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
13792         (Depends-on): Add EOVERFLOW.
13793         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
13794         (Depends-on): Add EOVERFLOW.
13795
13796         * lib/sprintf.c (EOVERFLOW): Remove fallback.
13797         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
13798         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
13799
13800         * lib/snprintf.c (EOVERFLOW): Remove fallback.
13801         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
13802         * modules/snprintf (Depends-on): Add EOVERFLOW.
13803
13804         * lib/poll.c (EOVERFLOW): Remove fallback.
13805         * modules/poll (Depends-on): Add EOVERFLOW.
13806
13807         * lib/getugroups.c (EOVERFLOW): Remove fallback.
13808         * modules/getugroups (Depends-on): Add EOVERFLOW.
13809
13810         * lib/getdelim.c (EOVERFLOW): Remove fallback.
13811         * modules/getdelim (Depends-on): Add EOVERFLOW.
13812
13813         * lib/ftell.c (EOVERFLOW): Remove fallback.
13814         * modules/ftell (Depends-on): Add EOVERFLOW.
13815
13816         * lib/fprintf.c (EOVERFLOW): Remove fallback.
13817         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
13818         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
13819
13820         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
13821
13822         * modules/EOVERFLOW-tests: New file.
13823         * tests/test-EOVERFLOW.c: New file.
13824
13825         * modules/EOVERFLOW: New file.
13826         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
13827
13828 2008-03-30  Bruno Haible  <bruno@clisp.org>
13829
13830         Fix bug introduced on 2007-06-10.
13831         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
13832         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
13833
13834 2008-03-30  Bruno Haible  <bruno@clisp.org>
13835
13836         Improve freadseek's efficiency after ungetc.
13837         * lib/freadseek.c: Include freadahead.h.
13838         (freadptrinc): New function, extracted from freadseek.
13839         (freadseek): Use it in a loop. Use freadahead to determine the number
13840         of loop iterations.
13841         * modules/freadseek (Depends-on): Add freadahead.
13842         (configure.ac): Require AC_C_INLINE.
13843
13844 2008-03-30  Bruno Haible  <bruno@clisp.org>
13845
13846         * lib/freadseek.c (freadseek): Don't ignore the return value of
13847         freadptr.
13848
13849 2008-03-29  Eric Blake  <ebb9@byu.net>
13850
13851         Add hex float support.
13852         * modules/strtod (Depends-on): Add c-ctype.
13853         (Link): Mention POW_LIB.
13854         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
13855         whitespace between 'e' and exponent.
13856         * tests/test-strtod.c (main): Enable hex float tests.
13857         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
13858         now provides.
13859
13860         Document various strtod bugs, with some fixes.
13861         * doc/posix-functions/strtod.texi (strtod): Document bugs with
13862         "-0x", "inf", "nan", and hex constants.
13863         * doc/posix-functions/atof.texi (atof): Likewise.
13864         * modules/stdlib (Makefile.am): Support strtod.
13865         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
13866         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
13867         detect additional strtod bugs.
13868         * lib/stdlib.in.h (rpl_strtod): Add declarations.
13869         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
13870         bool where appropriate.  Parse 'inf' and 'nan'.
13871         * tests/test-strtod.c: New file.
13872         * modules/strtod (Depends-on): Add stdbool, stdlib.
13873         (configure.ac): Turn on module indicator.
13874         * modules/strtod-tests: New module.
13875
13876 2008-03-29  Eric Blake  <ebb9@byu.net>
13877
13878         Fix ftell on mingw.
13879         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
13880         * modules/ftell-tests (Depends-on): Add binary-io.
13881         * modules/ftello-tests (Depends-on): Likewise.
13882         * tests/test-ftell.c (main): Enhance test to cover behavior after
13883         ungetc.  Enforce binary mode.
13884         * tests/test-ftello.c (main): Likewise.
13885
13886         Pass test-freadseek on cygwin.
13887         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
13888         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
13889         ungetc buffer.
13890
13891         * tests/test-fflush2.c (main): Fix typo.
13892
13893 2008-03-29  Bruno Haible  <bruno@clisp.org>
13894
13895         * tests/test-fflush2.c (main): Temporarily disable the contents of
13896         this test.
13897         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
13898         Reported by Eric Blake.
13899
13900 2008-03-28  Simon Josefsson  <simon@josefsson.org>
13901
13902         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
13903         (GC_SHA224_DIGEST_SIZE): Add.
13904
13905         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
13906         (gc_hash_digest_length): Likewise.
13907         (gc_hash_buffer): Likewise.
13908
13909 2008-03-25  Bruno Haible  <bruno@clisp.org>
13910
13911         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
13912         detail which gettext release to use.
13913         Reported by Simon Josefsson.
13914
13915 2008-03-26  Jim Meyering  <meyering@redhat.com>
13916
13917         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
13918         * modules/gnumakefile (clean-GNUmakefile): Also, use
13919         test ... && ... || : syntax rather than if-then ... fi.
13920
13921         gnumakefile: Don't double-quote-expand $(VPATH) value.
13922         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
13923
13924 2008-03-24  Eric Blake  <ebb9@byu.net>
13925
13926         Alter GNUmakefile to install into top directory.
13927         * modules/maintainer-makefile: Split, and add dependency...
13928         * modules/gnumakefile: to this new module.
13929         * build-aux/GNUmakefile: Move...
13930         * top/GNUmakefile: ...here.
13931         * build-aux/maint.mk: Move...
13932         * top/maint.mk: ...here.
13933         * MODULES.html.sh (Support for maintaining...): Document new
13934         module.
13935
13936 2008-03-23  Bruno Haible  <bruno@clisp.org>
13937
13938         * gnulib-tool: New options --vc-files, --no-vc-files.
13939         (func_usage): Document them.
13940         (vc_files): New variable.
13941         (func_import): Consider vc_files.
13942         (func_create_testdir): Set vc_files to empty.
13943         Suggested by Jim Meyering and Karl Berry.
13944
13945 2008-03-23  Bruno Haible  <bruno@clisp.org>
13946
13947         Fix regex compilation error on HP-UX 11.
13948         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
13949         * modules/regex (Files): Add m4/mbstate_t.m4.
13950         Reported by Ton Voon <ton.voon@altinity.com>.
13951
13952 2008-03-23  Bruno Haible  <bruno@clisp.org>
13953
13954         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
13955
13956 2008-03-23  Eric Blake  <ebb9@byu.net>
13957             Bruno Haible  <bruno@clisp.org>
13958
13959         Install files from top/ in the destination directory.
13960         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
13961         augmentation also for the files from top/.
13962         (func_import, func_create_testdir): Rewrite file names:
13963         top/filename -> filename.
13964
13965 2008-03-23  Bruno Haible  <bruno@clisp.org>
13966
13967         Tweak "gnulib --version" output.
13968         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
13969
13970 2008-03-23  Bruno Haible  <bruno@clisp.org>
13971
13972         Tweak "gnulib --version" output.
13973         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
13974         rather than contents of ChangeLog, when possible.
13975
13976 2008-03-21  Eric Blake  <ebb9@byu.net>
13977
13978         More --version tweaks.
13979         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
13980         date of last ChangeLog entry.
13981
13982 2008-03-21  Jim Meyering  <meyering@redhat.com>
13983
13984         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
13985
13986 2008-03-20  Eric Blake  <ebb9@byu.net>
13987
13988         VPATH fix.
13989         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
13990
13991 2008-03-20  Simon Josefsson  <simon@josefsson.org>
13992
13993         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
13994         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
13995
13996 2008-03-20  Eric Blake  <ebb9@byu.net>
13997
13998         Sync GNUmakefile with coreutils.
13999         * build-aux/GNUmakefile (have-Makefile): Rename...
14000         (_have-Makefile): ...to this, for namespace consideration.
14001         (GNUmakefile.cfg): Include, if present.
14002         (_autoreconf): Define a default.
14003         (_is-dist-target): New rule for rebuilds to pick up intra-release
14004         version.
14005         (maint-cfg.mk): Rename...
14006         (cfg.mk): ...to this.
14007
14008 2008-03-18  Jim Meyering  <meyering@redhat.com>
14009
14010         New script and module: mktempd
14011         * MODULES.html.sh (maint+release support): Add mktempd.
14012         * build-aux/mktempd: New file.
14013         * modules/mktempd: New file.
14014
14015 2008-03-15  Jim Meyering  <meyering@redhat.com>
14016
14017         Undo last change.
14018         * lib/sha1.c, lib/md5.c: 63 != ~63.
14019         Reported by Andreas Schwab.
14020
14021         sha1.c, md5.c: Hoist a redundant expression.
14022         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
14023         "ctx->buflen" only once, before calling *_process_block.
14024         * lib/md5.c (md5_process_bytes): Likewise.
14025
14026 2008-03-14  Eric Blake  <ebb9@byu.net>
14027
14028         Bump copyright year in files generated by gnulib-tool.
14029         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
14030         gnulib-tool, rather than hard-coding it.
14031
14032         Fix 'gnulib-tool --version' output to work with git.
14033         * gnulib-tool (func_gnulib_dir): New function, extracted from...
14034         (startup): ...here.
14035         (func_version): Use it to invoke git-version-gen, rather than
14036         relying on CVS keyword expansion.  Modernize wording.
14037         (cvsdatestamp, last_checkin_date, version): Kill unused
14038         variables.
14039
14040 2008-03-12  Jim Meyering  <meyering@redhat.com>
14041
14042         Recognize optional cast of the argument to free.
14043         * build-aux/useless-if-before-free: Update regexps.
14044
14045         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
14046
14047 2008-03-11  Bruno Haible  <bruno@clisp.org>
14048
14049         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
14050         by a single package.
14051         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
14052         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
14053         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
14054         Reported by Sam Steingold <sds@gnu.org>.
14055
14056 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
14057
14058         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
14059         repositories.
14060
14061 2008-03-11  Bruno Haible  <bruno@clisp.org>
14062
14063         Avoid conflicts between local macro definitions.
14064         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
14065         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
14066
14067 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
14068             Bruno Haible  <bruno@clisp.org>
14069
14070         Make va_copy work with some version of xlc on AIX 5.1.
14071         * lib/stdarg.in.h: New file.
14072         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
14073         On AIX, use a <stdarg.h> file substitute.
14074         * modules/stdarg (Files): Add lib/stdarg.in.h.
14075         (Depends-on): Add include_next.
14076         (Makefile.am): Build a stdarg.h substitute if requested.
14077         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
14078
14079 2008-03-10  Bruno Haible  <bruno@clisp.org>
14080
14081         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
14082         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
14083         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
14084
14085 2008-03-10  Bruno Haible  <bruno@clisp.org>
14086
14087         * modules/stdlib (Depends-on): Add include_next, remove
14088         absolute-header.
14089
14090 2008-03-09  Bruno Haible  <bruno@clisp.org>
14091
14092         * lib/freadahead.h (freadahead): Document more precisely.
14093         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
14094         the sum of both buffer sizes.
14095         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
14096         * NEWS: Document the change.
14097
14098 2008-03-09  Bruno Haible  <bruno@clisp.org>
14099
14100         Extend freadptr to return also the buffer size.
14101         * lib/freadptr.h (freadptr): Add sizep argument.
14102         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
14103         (freadptr): Add sizep argument. Determine buffer size like freadahead
14104         does.
14105         * tests/test-freadptr.c: Don't include freadahead.h.
14106         (main): Adapt for new calling convention of freadptr.
14107         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
14108         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
14109         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
14110         tests/test-freadptr2.sh.
14111         (Depends): Remove freadahead.
14112         (TESTS): Add test-freadptr2.sh.
14113         (check_PROGRAMS): Add test-freadptr2.
14114
14115 2008-03-09  Bruno Haible  <bruno@clisp.org>
14116
14117         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
14118         Report and solution by Simon Josefsson.
14119
14120 2008-03-06  Bruno Haible  <bruno@clisp.org>
14121
14122         Make fflush after ungetc work on BSD platforms.
14123         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
14124         * tests/test-fflush2.c: New file.
14125         * tests/test-fflush2.sh: New file.
14126         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
14127         tests/test-fflush2.c.
14128         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
14129         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
14130
14131 2008-03-06  Eric Blake  <ebb9@byu.net>
14132
14133         Likewise for ftello.
14134         * modules/ftello (Dependencies): Add extensions.
14135         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
14136
14137 2008-03-06  Bruno Haible  <bruno@clisp.org>
14138
14139         * modules/fseeko (Dependencies): Add extensions.
14140         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
14141         Needed on glibc systems.
14142
14143 2008-03-06  Bruno Haible  <bruno@clisp.org>
14144
14145         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
14146         email address.
14147         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
14148
14149 2008-03-06  Bruno Haible  <bruno@clisp.org>
14150
14151         * users.txt: Add libgnupdf.
14152
14153 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
14154
14155         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
14156         (Header File Substitutes, Function Substitutes,
14157         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
14158         (Build robot for gnulib): Fix typo.
14159
14160 2008-03-06  Bruno Haible  <bruno@clisp.org>
14161
14162         * doc/gnulib-tool.texi (VCS Issues): Small updates.
14163         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
14164
14165 2008-03-06  Bruno Haible  <bruno@clisp.org>
14166
14167         * doc/func.texi: New file, extracted from doc/gnulib.texi.
14168         * doc/gnulib.texi: Include it.
14169
14170 2008-03-06  Simon Josefsson  <simon@josefsson.org>
14171
14172         * modules/func (License): Change license to unlimited; there was
14173         no LGPL parts in the module anyway.
14174
14175 2008-03-06  Simon Josefsson  <simon@josefsson.org>
14176
14177         * modules/__func__: Renamed to modules/func.
14178         * modules/__func__-tests: Renamed to modules/func-tests.
14179         * tests/test-__func__.c: Renamed to tests/test-func.c.
14180         * m4/__func__.m4: Renamed to m4/func.m4.
14181         * doc/gnulib.texi (__func__): Section renamed to func.
14182         Suggested by Eric Blake <ebb9@byu.net>.
14183
14184 2008-03-06  Simon Josefsson  <simon@josefsson.org>
14185
14186         * doc/gnulib.texi (__func__): Use C99 terminology when talking
14187         about __func__.  Make example self-contained.  Suggested by Eric
14188         Blake <ebb9@byu.net>.
14189
14190         * tests/test-__func__.c (main): Avoid extraneous () around __func.
14191         Suggested by Eric Blake <ebb9@byu.net>.
14192
14193 2008-03-06  Simon Josefsson  <simon@josefsson.org>
14194
14195         * modules/__func__: New file.
14196         * modules/__func__-tests: New file.
14197         * tests/test-__func__.c: New file.
14198         * m4/__func__.m4: New file.
14199         * doc/gnulib.texi (__func__): Document __func__ module.
14200
14201 2008-03-05  Simon Josefsson  <simon@josefsson.org>
14202
14203         * modules/byteswap (License): Re-license as LGPLv2+.
14204
14205 2008-03-05  Simon Josefsson  <simon@josefsson.org>
14206
14207         * doc/Makefile: Add pdf target.
14208
14209 2008-03-05  Simon Josefsson  <simon@josefsson.org>
14210
14211         * modules/inline (License): Use 'unlimited', since there are only
14212         *.m4 files in this module.
14213
14214 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
14215             Bruno Haible  <bruno@clisp.org>
14216
14217         Add support for HP C 7.1 on OpenVMS 8.3.
14218         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
14219
14220 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
14221
14222         Update VMS specifics.
14223         * lib/getopt.c [VMS]: Remove include of unixlib.h.
14224
14225 2008-03-02  Jim Meyering  <meyering@redhat.com>
14226
14227         Remove the last dependency on the "free" module.
14228         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
14229         Reported by Bob Proulx.
14230
14231         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
14232
14233         Remove useless "if" tests before free.  Deprecate "free" module.
14234         * doc/posix-functions/free.texi: Mention that this
14235         module is no longer useful.
14236         * modules/free (Notice): Say this module is obsolete.
14237         * modules/readutmp (Depends-on): Remove free.
14238         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
14239         * lib/putenv.c (putenv): Likewise.
14240         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
14241         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
14242         * tests/test-c-strcasestr.c (main): Likewise.
14243         * tests/test-c-strstr.c (main): Likewise.
14244         * tests/test-mbscasestr1.c (main): Likewise.
14245         * tests/test-mbscasestr2.c (main): Likewise.
14246         * tests/test-mbsstr1.c (main): Likewise.
14247         * tests/test-mbsstr2.c (main): Likewise.
14248         * tests/test-memmem.c (main): Likewise.
14249         * tests/test-strcasestr.c (main): Likewise.
14250         * tests/test-striconv.c (main): Likewise.
14251         * tests/test-striconveh.c (main): Likewise.
14252         * tests/test-striconveha.c (main): Likewise.
14253         * tests/test-strstr.c (main): Likewise.
14254
14255         * build-aux/git-version-gen: Adjust a comment and the Usage string.
14256
14257         bootstrap: sync from coreutils again
14258         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
14259
14260 2008-03-01  Jim Meyering  <meyering@redhat.com>
14261
14262         bootstrap: sync from coreutils
14263         * build-aux/bootstrap (update_po_files): Copy a .po file into place
14264         also when the target doesn't exist.
14265
14266 2008-03-01  Eric Blake  <ebb9@byu.net>
14267
14268         Fix bugs in last patch.
14269         * lib/memchr2.c (memchr2): Fix typo.
14270         * tests/test-memchr2.c: Test previous bug, and don't use GNU
14271         extension.
14272         Reported by Bruce Korb.
14273
14274         New module 'memchr2'.
14275         * modules/memchr2: New file.
14276         * modules/memchr2-tests: Likewise.
14277         * lib/memchr2.h: Likewise.
14278         * lib/memchr2.c: Likewise, based on memchr.c.
14279         * tests/test-memchr2.c: New test.
14280         * MODULES.html.sh (String handling): Add memchr2.
14281
14282 2008-02-29  Bruno Haible  <bruno@clisp.org>
14283
14284         * modules/freadseek-tests: New file.
14285         * tests/test-freadseek.sh: New file.
14286         * tests/test-freadseek.c: New file.
14287
14288         New module 'freadseek'.
14289         * modules/freadseek: New file.
14290         * lib/freadseek.h: New file.
14291         * lib/freadseek.c: New file.
14292         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
14293
14294 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
14295
14296         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
14297         wydawca.
14298
14299         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
14300         program_invocation_name and program_invocation_short_name are
14301         present.
14302
14303 2008-02-28  Bruno Haible  <bruno@clisp.org>
14304
14305         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
14306         * tests/test-freadptr.sh: Also test non-seekable stdin.
14307
14308 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
14309
14310         * build-aux/bootstrap (source_base, m4_base)
14311         (doc_base, tests_base): New variables.
14312         (gnulib_tool_options): Do not hardcode base directories, use
14313         the above variables instead.
14314
14315 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
14316
14317         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
14318
14319 2008-02-28  Bruno Haible  <bruno@clisp.org>
14320
14321         * modules/freadptr-tests: New file.
14322         * tests/test-freadptr.sh: New file.
14323         * tests/test-freadptr.c: New file.
14324
14325         New module 'freadptr'.
14326         * modules/freadptr: New file.
14327         * lib/freadptr.h: New file.
14328         * lib/freadptr.c: New file.
14329         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
14330
14331 2008-02-26  Karl Berry  <karl@freefriends.org>
14332
14333         Sync from Libtool:
14334         * libltdl/argz.c (argz_add, argz_count): New functions.
14335         * libltdl/argz.in.h: Declare them.
14336         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
14337
14338 2008-02-22  Bruno Haible  <bruno@clisp.org>
14339
14340         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
14341         is a pointer type.  Needed for HP-UX 10.
14342         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
14343         * doc/posix-functions/gmtime_r.texi: Likewise.
14344         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
14345
14346 2008-02-24  Bruno Haible  <bruno@clisp.org>
14347
14348         * modules/environ-tests: New file.
14349         * tests/test-environ.c: New file.
14350
14351         New module 'environ'.
14352         * modules/environ: New file.
14353         * lib/unistd.in.h (environ): New declaration.
14354         * m4/environ.m4: New file.
14355         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
14356         after use.
14357         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
14358         HAVE_DECL_ENVIRON.
14359         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
14360         HAVE_DECL_ENVIRON.
14361         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
14362         wrong claim that 'environ' is missing on some systems.
14363         * modules/execute (Depends-on): Add environ.
14364         * lib/execute.c (environ): Remove fallback declaration.
14365         * modules/pipe (Depends-on): Add environ.
14366         * lib/pipe.c (environ): Remove fallback declaration.
14367         * modules/setenv (Depends-on): Add environ.
14368         * lib/setenv.c (environ): Remove fallback declaration.
14369         * modules/unsetenv (Depends-on): Add environ.
14370         * lib/unsetenv.c (environ): Remove fallback declaration.
14371         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
14372         m4/environ.m4.
14373         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
14374         (gl_PREREQ_UNSETENV): Likewise.
14375
14376 2008-02-24  Bruno Haible  <bruno@clisp.org>
14377
14378         * doc/posix-functions/environ.texi: Document the MacOS X problem.
14379
14380 2008-02-20  Bob Proulx  <bob@proulx.com>
14381
14382         Enable use of older two part flavor 'git describe'.
14383         * build-aux/git-version-gen: If using the older two part flavor of
14384         git version then recreate the third part now present in the
14385         newer three part flavor of git describe.
14386
14387 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
14388
14389         * lib/fts.c (fts_build): Typo correction to comment.
14390
14391 2008-02-17  Bruno Haible  <bruno@clisp.org>
14392
14393         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
14394         generating no-op conflicts.
14395
14396 2008-02-17  Bruno Haible  <bruno@clisp.org>
14397
14398         Speed up by 10%.
14399         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
14400         result_entries, rather than an index-based loop.
14401
14402 2008-02-17  Bruno Haible  <bruno@clisp.org>
14403
14404         Speed up by 25%.
14405         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
14406         'hashcode_cached'.
14407         (entry_create): New function.
14408         (entry_hashcode): Use the cached hashcode if possible.
14409         (read_changelog_file, try_split_merged_entry): Use entry_create.
14410
14411 2008-02-17  Bruno Haible  <bruno@clisp.org>
14412
14413         Speed up from O(n^2) to O(n) for long ChangeLog files.
14414         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
14415         (read_changelog_file): Change implementation of entries_reversed list
14416         to rbtreehash.
14417         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
14418
14419 2008-02-17  Bruno Haible  <bruno@clisp.org>
14420
14421         New option --split-merged-entry.
14422         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
14423         (find_paragraph_end, try_split_merged_entry): New functions.
14424         (long_options): Add option --split-merged-entry.
14425         (usage): Document option --split-merged-entry.
14426         (main): Implement option --split-merged-entry.
14427         Reported by Eric Blake.
14428
14429 2008-02-17  Bruno Haible  <bruno@clisp.org>
14430
14431         * lib/git-merge-changelog.c: Include c-strstr.h.
14432         (main): Support the "git pull --rebase" situation.
14433         * modules/git-merge-changelog (Depends-on): Add c-strstr.
14434         Reported by Eric Blake.
14435
14436 2008-02-16  Eric Blake  <ebb9@byu.net>
14437
14438         Avoid doubling \ in common case of "c-maybe" quoting style.
14439         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
14440         eliding outer quotes.
14441         * lib/quotearg.h: Document this.
14442         * tests/test-quotearg.c (result_strings, inputs, results_g)
14443         (flag_results, locale_results): Test it by adding a new string to
14444         each test group.
14445         (compare_strings): Test new string.
14446
14447 2008-02-13  Eric Blake  <ebb9@byu.net>
14448
14449         Avoid trigraph quoting in default output.
14450         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
14451         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
14452         unless explicitly requested.
14453         * tests/test-quotearg.c (flag_results, main): Add additional tests.
14454
14455 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
14456
14457         Don't rely on signed integer overflowing to negative value.
14458         * lib/getugroups.c (getugroups): Include <limits.h>.
14459         Instead, compare against INT_MAX, and increment only if the test passes.
14460
14461 2008-02-13  Jim Meyering  <meyering@redhat.com>
14462         and Eric Blake  <ebb9@byu.net>
14463
14464         Avoid shadowing warning and compile errors on Linux.
14465         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
14466         forwarding macros on Linux.
14467         (dcgettext): Define a stub, for Linux.
14468         (results_g, main): Avoid warnings.
14469
14470 2008-02-12  Eric Blake  <ebb9@byu.net>
14471
14472         Silence warning in last patch.
14473         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
14474
14475         Quotearg part 4: add tests, fix c-maybe colon quoting.
14476         * lib/quotearg.h: Improve documentation.
14477         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
14478         escapes when adding outer quotes.  When quoting trigraphs, use
14479         valid C notation.  When quoting NUL, omit extra characters if next
14480         character is not digit.  Alter prototype.
14481         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
14482         callers.
14483         * modules/quotearg-tests: New module.
14484         * tests/test-quotearg.c: New test.
14485
14486 2008-02-07  Eric Blake  <ebb9@byu.net>
14487
14488         Quotearg part 3: add flag to control outer quote elision.
14489         * lib/quotearg.h (c_maybe_quoting_style): New style.
14490         (enum quoting_flags): Better documentation of flags.
14491         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
14492         c-maybe style.
14493         (quotearg_buffer_restyled): Handle new flag to elide outer
14494         quotes.
14495
14496         Quotearg part 2: add flag that can control NUL elision.
14497         * lib/quotearg.h (set_quoting_flags): New prototype.
14498         * lib/quotearg.c (struct quoting_options): Add flag field.
14499         (set_quoting_flags): New function.
14500         (quotearg_buffer_restyled): Add flags parameter.
14501         (quotearg_alloc_mem): Set the flag if length cannot be returned.
14502         (quotearg_n_options): Set the flag, since length cannot be
14503         returned.
14504         (quoting_options_from_style): Default flags correctly.
14505
14506         Quotearg part 1: more wrappers, restore quotearg_char state.
14507         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
14508         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
14509         (quotearg_colon_mem): New wrappers.
14510         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
14511         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
14512         functions.
14513         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
14514         (quotearg_colon_mem): New functions.
14515
14516 2008-02-11  Bruno Haible  <bruno@clisp.org>
14517
14518         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
14519         library in the current directory: it does not work with parallel make.
14520         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14521
14522 2008-02-11  Bruno Haible  <bruno@clisp.org>
14523
14524         * .gitattributes: New file.
14525
14526 2008-02-11  Jim Meyering  <meyering@redhat.com>
14527
14528         useless-if-before-free: Fix reversed exit values.
14529         * build-aux/useless-if-before-free: Use correct values
14530         for EXIT_MATCH and EXIT_NO_MATCH.
14531
14532         * build-aux/useless-if-before-free: Close stdout carefully.
14533
14534 2008-02-10  Bruno Haible  <bruno@clisp.org>
14535
14536         New module 'git-merge-changelog'.
14537         * modules/git-merge-changelog: New file.
14538         * lib/git-merge-changelog.c: New file.
14539
14540 2008-02-10  Jim Meyering  <meyering@redhat.com>
14541
14542         useless-if-before-free: New option: --list (-l).
14543
14544         useless-if-before-free: Don't exit immediately upon open failure.
14545         * build-aux/useless-if-before-free: Exit 2 for errors.
14546         Upon failure to open a file, don't exit immediately.
14547         Rather, just warn and continue with any remaining files.
14548
14549 2008-02-10  Bruno Haible  <bruno@clisp.org>
14550
14551         New abstract list operation 'node_set_value'.
14552         * lib/gl_list.h (gl_list_node_set_value): New function.
14553         (struct gl_list_implementation): New field node_set_value.
14554         * lib/gl_list.c (gl_list_node_set_value): New function.
14555         * lib/gl_array_list.c (gl_array_node_set_value): New function.
14556         (gl_array_list_implementation): Update.
14557         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
14558         (gl_carray_list_implementation): Update.
14559         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
14560         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
14561         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
14562         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
14563         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
14564         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
14565         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
14566         Update.
14567         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
14568         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
14569         (gl_sublist_list_implementation): Update.
14570
14571 2008-02-10  Bruno Haible  <bruno@clisp.org>
14572
14573         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
14574         Needed when ELEMENT is #defined to 'some_type *'.
14575
14576 2008-02-10  Jim Meyering  <meyering@redhat.com>
14577
14578         New script and module: useless-if-before-free
14579         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
14580         * build-aux/useless-if-before-free: New file.
14581         * modules/useless-if-before-free: New file.
14582
14583         * build-aux/gitlog-to-changelog: Use committer date, not author date.
14584
14585         xstrtol_error: Fix typo.
14586         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
14587         s/exit_failure/exit_status/.
14588
14589 2008-02-09  Jim Meyering  <meyering@redhat.com>
14590
14591         New script and module: gitlog-to-changelog
14592         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
14593         * modules/gitlog-to-changelog: New file.
14594         * build-aux/gitlog-to-changelog: New file.
14595
14596 2008-02-08  Jim Meyering  <meyering@redhat.com>
14597
14598         Avoid two "parameter unused" warnings.
14599         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
14600         Mark "st" as used.
14601
14602         Use "git COMMAND", not "git-COMMAND".
14603         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
14604         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
14605         * build-aux/git-version-gen: Use "git status", not "git-status".
14606
14607 2008-02-07  Bruno Haible  <bruno@clisp.org>
14608
14609         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
14610         Avoids a crash on Windows Vista.
14611         Reported by Adam Strzelecki <ono@java.pl> via
14612         Simon Josefsson <simon@josefsson.org>.
14613
14614 2008-02-06  Bruno Haible  <bruno@clisp.org>
14615
14616         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
14617         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
14618         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
14619         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
14620         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
14621         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
14622         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
14623         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
14624         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
14625         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
14626         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
14627         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
14628         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
14629         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
14630         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
14631         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
14632         left-adjust flag.
14633         * tests/test-snprintf-posix.h (test_function): Likewise.
14634         * tests/test-sprintf-posix.h (test_function): Likewise.
14635         * tests/test-vasprintf-posix.c (test_function): Likewise.
14636         * doc/posix-functions/fprintf.texi: Update.
14637         * doc/posix-functions/printf.texi: Update.
14638         * doc/posix-functions/snprintf.texi: Update.
14639         * doc/posix-functions/sprintf.texi: Update.
14640         * doc/posix-functions/vfprintf.texi: Update.
14641         * doc/posix-functions/vprintf.texi: Update.
14642         * doc/posix-functions/vsnprintf.texi: Update.
14643         * doc/posix-functions/vsprintf.texi: Update.
14644         Reported by Peter Fales <psfales@alcatel-lucent.com>.
14645
14646 2008-02-06  Bruno Haible  <bruno@clisp.org>
14647
14648         Fix bug introduced on 2008-01-26.
14649         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
14650
14651 2008-02-06  Bruno Haible  <bruno@clisp.org>
14652
14653         Fix bug introduced on 2007-06-10.
14654         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
14655         !NEED_PRINTF_FLAG_ZERO.
14656
14657 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
14658
14659         getloadavg: use libperfstat on AIX5
14660         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
14661
14662 2008-02-03  Bruno Haible  <bruno@clisp.org>
14663
14664         * lib/diffseq.h: Add comments about required #includes.
14665         Reported by Michael Biggs <gnulib@doubleplum.net>.
14666
14667 2008-02-01  Bruno Haible  <bruno@clisp.org>
14668
14669         * users.txt: Add gnuit.
14670
14671 2008-01-31  Bruno Haible  <bruno@clisp.org>
14672
14673         * lib/md4.c (set_uint32): Mark as inline.
14674         * lib/md5.c (set_uint32): Likewise.
14675         * lib/sha1.c (set_uint32): Likewise.
14676         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
14677         * m4/md5.m4 (gl_MD5): Likewise.
14678         * m4/sha1.m4 (gl_SHA1): Likewise.
14679
14680 2008-01-31  Jim Meyering  <meyering@redhat.com>
14681
14682         Use "sizeof VAR", rather than a literal "4".
14683         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
14684         * lib/md4.c (md4_read_ctx): Likewise.
14685         * lib/sha1.c (sha1_read_ctx): Likewise.
14686
14687 2008-01-31  Simon Josefsson  <simon@josefsson.org>
14688
14689         * tests/test-sha1.c: New file, based on test-md5.c.
14690
14691         * modules/crypto/sha1-tests: New file.
14692
14693 2008-01-31  Simon Josefsson  <simon@josefsson.org>
14694
14695         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
14696
14697 2008-01-31  Jim Meyering  <meyering@redhat.com>
14698
14699         Prefer "sizeof v" over the equivalent "4".
14700         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
14701         * lib/md5.c (set_uint32): Likewise.
14702         * lib/sha1.c (set_uint32): Likewise.
14703
14704 2008-01-31  Simon Josefsson  <simon@josefsson.org>
14705
14706         * lib/sha1.c (set_uint32): Mark function as static.
14707
14708 2008-01-31  Simon Josefsson  <simon@josefsson.org>
14709
14710         md2: clarify comments to say that alignment is not required.
14711         * lib/md2.h: Remove warning about alignment in comment.
14712         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
14713         never been required.
14714
14715 2008-01-31  Simon Josefsson  <simon@josefsson.org>
14716
14717         md4: adapt alignment constraint fix from sha1.
14718         * lib/md4.c (set_uint32): New function, from sha1.c
14719         (md4_read_ctx): Use it.
14720         (md4_finish_ctx): Doc fix.
14721         * lib/md4.h: Doc fix.
14722
14723 2008-01-31  Simon Josefsson  <simon@josefsson.org>
14724
14725         md5: adapt alignment constraint fix from sha1.
14726         * lib/md5.c (set_uint32): New function, from sha1.c
14727         (md5_read_ctx): Use it.
14728         (md5_finish_ctx): Doc fix.
14729         * lib/md5.h: Doc fix.
14730
14731 2008-01-30  Peter Palfrader  <weasel@debian.org>
14732
14733         sha1: remove the result buffer alignment constraint
14734         * lib/sha1.c (set_uint32): New function.
14735         (sha1_read_ctx): Rewrite to remove the result buffer alignment
14736         constraint.
14737         (sha1_finish_ctx): Remove comment warning about alignment constraint.
14738         * lib/sha1.h: Likewise.
14739
14740 2008-01-30  Andreas Schwab  <schwab@suse.de>
14741             Bruno Haible  <bruno@clisp.org>
14742
14743         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
14744         correct definition of LDBL_MIN_EXP.
14745
14746 2008-01-30  Karl Berry  <karl@gnu.org>
14747
14748         * config/srclist-update: try to preserve x bit on updates.
14749         * config/srclistvars.sh: update for karl.
14750
14751 2008-01-29  Jim Meyering  <meyering@redhat.com>
14752
14753         vasnprintf.c: Avoid warning about unused label
14754         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
14755         "overflow" label definition and associated code with the
14756         same cpp condition that guards the sole use of that label.
14757
14758 2008-01-26  Bruno Haible  <bruno@clisp.org>
14759
14760         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
14761         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
14762         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
14763         * lib/isnanl-nolibm.h (isnanl): Likewise.
14764         Reported by Paul Eggert <eggert@cs.ucla.edu>.
14765
14766 2008-01-26  Bruno Haible  <bruno@clisp.org>
14767
14768         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
14769         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
14770
14771 2008-01-26  Bruno Haible  <bruno@clisp.org>
14772
14773         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
14774         GCC >= 4.0 built-in.
14775         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
14776
14777 2008-01-26  Bruno Haible  <bruno@clisp.org>
14778
14779         Rename isnan, applicable to 'double' only, to isnand.
14780         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
14781         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
14782         (configure.ac): Update.
14783         (Include): Replace "isnan.h" with "isnand.h".
14784         * m4/isnand.m4: Renamed from m4/isnan.m4.
14785         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
14786         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
14787         instead of isnan.c.
14788         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
14789         instead of HAVE_ISNAN_IN_LIBC.
14790         (isnand): Renamed from isnan.
14791         * lib/isnand.c: New file.
14792         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
14793         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
14794         (Makefile.am): Update.
14795         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
14796         Include isnand.h instead of isnan.h.
14797         (main): Test isnand instead of isnan.
14798         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
14799         isnan-nolibm.
14800         * modules/frexp (Depends-on): Likewise.
14801         * modules/frexp-tests (Depends-on): Likewise.
14802         * modules/frexp-nolibm (Depends-on): Likewise.
14803         * modules/frexp-nolibm-tests (Depends-on): Likewise.
14804         * modules/isfinite (Depends-on): Likewise.
14805         * modules/round-tests (Depends-on): Likewise.
14806         * modules/signbit (Depends-on): Likewise.
14807         * modules/signbit-tests (Depends-on): Likewise.
14808         * modules/snprintf-posix (Depends-on): Likewise.
14809         * modules/sprintf-posix (Depends-on): Likewise.
14810         * modules/trunc-tests (Depends-on): Likewise.
14811         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14812         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14813         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14814         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14815         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14816         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14817         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14818         * modules/vasnprintf-posix (Depends-on): Likewise.
14819         * modules/vasprintf-posix (Depends-on): Likewise.
14820         * modules/vfprintf-posix (Depends-on): Likewise.
14821         * modules/vsnprintf-posix (Depends-on): Likewise.
14822         * modules/vsprintf-posix (Depends-on): Likewise.
14823         * lib/frexp.c: Include isnand.h instead of isnan.h.
14824         (ISNAN): Set to isnand instead of isnan.
14825         * lib/isfinite.c: Include isnand.h instead of isnan.h.
14826         (gl_isfinited): Use isnand instead of isnan.
14827         * lib/signbitd.c: Include isnand.h instead of isnan.h.
14828         (gl_signbitd): Use isnand instead of isnan.
14829         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
14830         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
14831         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
14832         (main): Use isnand instead of isnan.
14833         * tests/test-round1.c: Include isnand.h.
14834         (main): Use isnand instead of isnan.
14835         * tests/test-round2.c: Include isnand.h instead of isnan.h.
14836         (ISNAN): Set to isnand instead of isnan.
14837         * tests/test-trunc1.c: Include isnand.h.
14838         (main): Use isnand instead of isnan.
14839         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
14840         (equal): Use isnand instead of isnan.
14841         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
14842         isnand-nolibm.
14843         * NEWS: Mention the change.
14844
14845 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
14846             Bruno Haible  <bruno@clisp.org>
14847
14848         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
14849         the GCC builtins for signbits are present and set
14850         REPLACE_SIGNBIT_USING_GCC if so.
14851         * lib/math.in.h (signbit): Define using GCC builtins if
14852         REPLACE_SIGNBIT_USING_GCC is set.
14853         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
14854         REPLACE_SIGNBIT_USING_GCC.
14855         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
14856
14857 2008-01-25  Jim Meyering  <meyering@redhat.com>
14858
14859         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
14860         * lib/poll.c: Include <config.h>, not "config.h".
14861         * tests/test-getaddrinfo.c: Likewise.
14862
14863 2008-01-25  Simon Josefsson  <simon@josefsson.org>
14864
14865         * modules/sockets-tests: New file.
14866
14867 2008-01-24  Simon Josefsson  <simon@josefsson.org>
14868
14869         * modules/sockets: New module, can be used to call WSA_Startup and
14870         WSA_Cleanup when needed.
14871
14872         * lib/sockets.h, lib/sockets.c: New files.
14873
14874         * m4/sockets.m4: New file.
14875
14876         * tests/test-sockets.c: New file.
14877
14878 2008-01-19  Bruno Haible  <bruno@clisp.org>
14879
14880         * doc/posix-headers: Renamed from doc/headers.
14881         * doc/posix-functions: Renamed from doc/functions.
14882         * doc/gnulib.texi: Update.
14883
14884 2008-01-19  Bruno Haible  <bruno@clisp.org>
14885
14886         * doc/glibc-functions/strcasestr.texi: Include contents of
14887         doc/functions/strcasestr.texi, fixing the list of platforms.
14888         * doc/functions/strcasestr.texi: Remove file.
14889
14890 2008-01-19  Bruno Haible  <bruno@clisp.org>
14891
14892         * doc/glibc-functions/memmem.texi: Include contents of
14893         doc/functions/memmem.texi.
14894         * doc/functions/memmem.texi: Remove file.
14895
14896 2008-01-18  Bruno Haible  <bruno@clisp.org>
14897
14898         * doc/glibc-functions/*.texi: New files.
14899         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
14900         to use the new files.
14901
14902 2008-01-17  Bruno Haible  <bruno@clisp.org>
14903
14904         * tests/test-gethostname.c (main): Fix printf statement.
14905
14906 2008-01-17  Simon Josefsson  <simon@josefsson.org>
14907
14908         * modules/gethostname-tests: New file.
14909
14910         * tests/test-gethostname.c: New file.
14911
14912 2008-01-17  Simon Josefsson  <simon@josefsson.org>
14913
14914         * lib/gethostname.c: Include string.h unconditionally, strncpy is
14915         used by the UNAME case.  Reported by Bruno Haible
14916         <bruno@clisp.org>.
14917
14918 2008-01-17  Eric Blake  <ebb9@byu.net>
14919
14920         Convert c-strcasestr to be more efficient.
14921         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
14922         (Depends-on): Add c-strcase, remove malloca, strnlen.
14923         * tests/test-c-strcasestr.c (main): Enhance test.
14924         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
14925
14926 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
14927
14928         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
14929         Use it in creating po/Makevars.
14930
14931 2008-01-15  Simon Josefsson  <simon@josefsson.org>
14932
14933         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
14934         Applications that requires it should initialize libgcrypt
14935         manually.
14936
14937 2008-01-16  Simon Josefsson  <simon@josefsson.org>
14938
14939         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
14940
14941 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
14942
14943         Fix problem with getdate on mingw32 reported by Simon Josefsson
14944         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
14945         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
14946         tzname", when deciding whether to declare tzname.
14947         * lib/strftime.c (tzname): Likewise.
14948
14949 2008-01-15  Bruno Haible  <bruno@clisp.org>
14950
14951         Work around a MacOS X 10.5 bug in frexpl().
14952         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
14953         * doc/functions/frexpl.texi: Document the bug.
14954         Reported by Elias Pipping <pipping@gentoo.org>.
14955
14956 2008-01-14  Eric Blake  <ebb9@byu.net>
14957
14958         Touch up previous patch.
14959         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
14960         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
14961
14962         Convert strcasestr module to use Two-Way algorithm.
14963         * modules/strcasestr-simple: New module, based on the old
14964         strcasestr, but with Two-Way rather than KMP.
14965         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
14966         * lib/string.in.h (rpl_strcasestr): Declare.
14967         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
14968         performance.
14969         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
14970         * modules/string (Makefile.am): Support strcasestr.
14971         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
14972         * modules/strcasestr-tests (Depends-on): Check for alarm.
14973         * tests/test-strcasestr.c: Augment test.
14974         * lib/str-two-way.h: Clean up stray macro.
14975         * NEWS: Document new module.
14976         * MODULES.html.sh (string handling): Likewise.
14977         * doc/functions/strcasestr.texi: New file.
14978         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
14979         here, since it is not a POSIX function.
14980
14981 2008-01-14  Colin Watson  <cjwatson@debian.org>
14982             Bruno Haible  <bruno@clisp.org>
14983
14984         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
14985         works fine; if not, set REPLACE_STRSIGNAL.
14986         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
14987         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14988         REPLACE_STRSIGNAL.
14989         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
14990         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
14991         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
14992
14993 2008-01-14  Bruno Haible  <bruno@clisp.org>
14994
14995         * modules/strsignal (Include): Change to <string.h>.
14996
14997 2008-01-14  Colin Watson  <cjwatson@debian.org>
14998
14999         * modules/argp (Notice): Add a notice recommending to change
15000         XGETTEXT_OPTIONS.
15001         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
15002
15003 2008-01-13  Colin Watson  <cjwatson@debian.org>
15004
15005         * modules/strsignal-tests: New file.
15006         * tests/test-strsignal.c: New file.
15007
15008         * lib/strsignal.c: New file, from glibc with modifications.
15009         * lib/siglist.h: New file, from glibc with modifications.
15010         * lib/string.in.h (strsignal): New declaration.
15011         * m4/strsignal.m4: New file.
15012         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15013         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
15014         * modules/strsignal: New file.
15015         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
15016         HAVE_DECL_STRSIGNAL.
15017
15018 2008-01-13  Bruno Haible  <bruno@clisp.org>
15019
15020         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
15021         locale encoding is not ASCII. Needed for OpenBSD 4.0.
15022         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
15023         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
15024
15025 2008-01-13  Bruno Haible  <bruno@clisp.org>
15026
15027         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
15028         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
15029         * lib/argp.h (__attribute__): Likewise.
15030         * lib/c-stack.c (__attribute__): Likewise.
15031         * lib/error.h (__attribute__): Likewise.
15032         * lib/fts.c (__attribute__): Likewise.
15033         * lib/openat.h (__attribute__): Likewise.
15034         * lib/stdio.in.h (__attribute__): Likewise.
15035         * lib/string.in.h (__attribute__): Likewise.
15036         * lib/utimens.c (__attribute__): Likewise.
15037         * lib/vasnprintf.h (__attribute__): Likewise.
15038         * lib/xalloc.h (__attribute__): Likewise.
15039         * lib/xprintf.h (__attribute__): Likewise.
15040         * lib/xstrtol.h (__attribute__): Likewise.
15041         * lib/xvasprintf.h (__attribute__): Likewise.
15042
15043 2008-01-12  Bruno Haible  <bruno@clisp.org>
15044
15045         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
15046         * doc/glibc-headers/a.out.texi: New file.
15047         * doc/glibc-headers/aliases.texi: New file.
15048         * doc/glibc-headers/alloca.texi: New file.
15049         * doc/glibc-headers/ar.texi: New file.
15050         * doc/glibc-headers/argp.texi: New file.
15051         * doc/glibc-headers/argz.texi: New file.
15052         * doc/glibc-headers/byteswap.texi: New file.
15053         * doc/glibc-headers/crypt.texi: New file.
15054         * doc/glibc-headers/endian.texi: New file.
15055         * doc/glibc-headers/envz.texi: New file.
15056         * doc/glibc-headers/err.texi: New file.
15057         * doc/glibc-headers/error.texi: New file.
15058         * doc/glibc-headers/execinfo.texi: New file.
15059         * doc/glibc-headers/fpu_control.texi: New file.
15060         * doc/glibc-headers/fstab.texi: New file.
15061         * doc/glibc-headers/fts.texi: New file.
15062         * doc/glibc-headers/getopt.texi: New file.
15063         * doc/glibc-headers/ieee754.texi: New file.
15064         * doc/glibc-headers/ifaddrs.texi: New file.
15065         * doc/glibc-headers/libintl.texi: New file.
15066         * doc/glibc-headers/mcheck.texi: New file.
15067         * doc/glibc-headers/mntent.texi: New file.
15068         * doc/glibc-headers/obstack.texi: New file.
15069         * doc/glibc-headers/paths.texi: New file.
15070         * doc/glibc-headers/printf.texi: New file.
15071         * doc/glibc-headers/pty.texi: New file.
15072         * doc/glibc-headers/resolv.texi: New file.
15073         * doc/glibc-headers/shadow.texi: New file.
15074         * doc/glibc-headers/sysexits.texi: New file.
15075         * doc/glibc-headers/ttyent.texi: New file.
15076
15077 2008-01-12  Jim Meyering  <meyering@redhat.com>
15078
15079         announce-gen: emit Gnulib's git-based version string.
15080         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
15081         New option --gnulib-version=V, where V is expected to be
15082         the output of running git describe in the gnulib directory.
15083         (get_tool_versions): Request feedback on xdelta.  I suspect it's
15084         not useful, and plan to stop publishing an xdelta file with each
15085         coreutils release.
15086
15087         * build-aux/announce-gen: Also check for lzma-compressed files.
15088
15089 2008-01-11  Bruno Haible  <bruno@clisp.org>
15090
15091         * tests/test-memmem.c (main): Increase maximum allowed time.
15092         * tests/test-strstr.c (main): Likewise.
15093
15094 2008-01-11  Bruno Haible  <bruno@clisp.org>
15095
15096         * doc/functions/memmem.texi: Add more precisions about platforms.
15097         * doc/functions/strstr.texi: Likewise.
15098
15099 2008-01-10  Eric Blake  <ebb9@byu.net>
15100
15101         * m4/strstr.m4: Delete cruft from copy-n-paste.
15102         Reported by Bruno Haible.
15103
15104 2008-01-10  Bruno Haible  <bruno@clisp.org>
15105
15106         Make c-strstr rely on strstr.
15107         * lib/c-strstr.c: Don't include str-kmp.h.
15108         (c_strstr): Define in terms of strstr.
15109         * modules/c-strstr (Files): Remove lib/str-kmp.h.
15110         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
15111
15112 2008-01-10  Bruno Haible  <bruno@clisp.org>
15113
15114         * doc/gnulib.texi (String Functions in C Locale): New section.
15115         * doc/c-ctype.texi: New file.
15116         * doc/c-strcase.texi: New file.
15117         * doc/c-strcaseeq.texi: New file.
15118         * doc/c-strcasestr.texi: New file.
15119         * doc/c-strstr.texi: New file.
15120         * doc/c-strtod.texi: New file.
15121         * doc/c-strtold.texi: New file.
15122
15123 2008-01-10  Eric Blake  <ebb9@byu.net>
15124
15125         * lib/relocatable.h: Fix a comment.
15126
15127 2008-01-10  Eric Blake  <ebb9@byu.net>
15128
15129         Share two-way algorithm.
15130         * lib/str-two-way.h: New file, merged from...
15131         * lib/memmem.c: ...here...
15132         * lib/strstr.c: ...and here.
15133         * modules/memmem (Files): Use it.
15134         * modules/strstr (Files): Likewise.
15135
15136         Avoid quadratic strstr implementations.
15137         * lib/strstr.c: New file.
15138         * m4/strstr.m4: Likewise.
15139         * modules/strstr: Likewise.
15140         * modules/strstr-tests: Likewise.
15141         * tests/test-strstr.c: Likewise.
15142         * lib/string.in.h (rpl_strstr): Declare.
15143         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
15144         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
15145         * modules/string (Makefile.am): Likewise.
15146         * MODULES.html.sh (string handling): Mention new module.
15147         * doc/functions/strstr.texi (strstr): Document the bug.
15148
15149 2008-01-10  Bruno Haible  <bruno@clisp.org>
15150
15151         * lib/relocatable.h (relocate): State whether result is freshly
15152         allocated or not.
15153         * lib/relocatable.c (relocate): Return a freshly allocated string
15154         instead of a pointer to a privately held string.
15155         Reported by Sylvain Beucler <beuc@gnu.org>.
15156
15157 2008-01-10  Colin Watson  <cjwatson@debian.org>
15158
15159         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
15160         s/S_ISNLK/S_ISLNK/.
15161
15162 2008-01-09  Bruno Haible  <bruno@clisp.org>
15163
15164         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
15165         and other files.
15166         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
15167         if it's only a guess.
15168         * modules/memmem: Simplify by depending on memmem-simple.
15169
15170 2008-01-09  Bruno Haible  <bruno@clisp.org>
15171
15172         Work around OpenBSD 4.0 tdelete() bug.
15173         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
15174         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
15175         macros and don't redefine the enum values.
15176         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
15177         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
15178         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
15179
15180 2008-01-09  Bruno Haible  <bruno@clisp.org>
15181
15182         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
15183         (main): Don't perform the tests if setlocale did not install a UTF-8
15184         locale. Needed on OpenBSD 4.0.
15185         * modules/wcwidth-tests (Depends-on): Add localcharset.
15186
15187 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15188
15189         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
15190         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
15191         * NEWS: announce this.
15192         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
15193
15194 2008-01-09  Simon Josefsson  <simon@josefsson.org>
15195         and Eric Blake  <ebb9@byu.net>
15196
15197         Add memmem-simple module.
15198         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
15199         (gl_FUNC_MEMMEM): Separate performance from presence checks.
15200         * modules/memmem-simple: New file.
15201         * modules/memmem (Description): Tweak.
15202         * MODULES.html.sh (string handling): Mention new module.
15203         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
15204         addressed by memmem-simple.
15205         * NEWS: Document the difference.
15206
15207 2008-01-09  Eric Blake  <ebb9@byu.net>
15208
15209         Give gcc some memmem optimization hints.
15210         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
15211         (strcasestr): Declare as pure.
15212         * modules/memmem (Maintainer): Claim my implementation.
15213
15214 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15215
15216         Support AIX 6.1 and higher.
15217         * build-aux/config.libpath: Likewise.
15218         * build-aux/config.rpath: Likewise.
15219
15220 2008-01-08  Jim Meyering  <meyering@redhat.com>
15221             Bruno Haible  <bruno@clisp.org>
15222
15223         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
15224         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
15225         Reported by Peter Fales in
15226         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
15227
15228 2008-01-08  Bruno Haible  <bruno@clisp.org>
15229
15230         * modules/unictype/category-of (Depends-on): Add
15231         unictype/category-none.
15232         * modules/unictype/category-and-tests (Depends-on): Add
15233         unictype/category-{L,N,Lu,Nd}.
15234         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
15235         * modules/unictype/category-or-tests (Depends-on): Add
15236         unictype/category-{L,N}.
15237         * modules/unictype/category-name-tests (Depends-on): Add
15238         unictype/category-{Z,Nl}.
15239         Reported by Simon Josefsson.
15240
15241 2008-01-08  Bruno Haible  <bruno@clisp.org>
15242
15243         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
15244         convention better.
15245         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
15246         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
15247         Reported by Peter Miller <millerp@canb.auug.org.au>.
15248
15249 2008-01-08  Eric Blake  <ebb9@byu.net>
15250
15251         Rewrite memmem to guarantee linear complexity without malloc.
15252         * lib/memmem.c (memmem): Use Two-Way rather than
15253         Knuth-Morris-Pratt, to allow O(1) space usage.
15254         (critical_factorization, two_way_short_needle)
15255         (two_way_long_needle): New functions.
15256         (knuth_morris_pratt): Delete.
15257         * modules/memmem (Depends-on): No longer need malloca or stdbool.
15258         Add stdint.
15259         * tests/test-memmem.c (main): Add tests for periodic needle and
15260         sublinear performance.
15261         * doc/functions/memmem.texi (memmem): Document other deficiencies
15262         in cygwin and older glibc.
15263
15264 2008-01-08  Bruno Haible  <bruno@clisp.org>
15265
15266         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
15267         augmentation.
15268
15269 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
15270
15271         Add a configure time option: --disable-acl.
15272         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
15273         AC_ARG_ENABLE(acl).
15274
15275 2008-01-06  Simon Josefsson  <simon@josefsson.org>
15276
15277         * tests/test-localename.c: Don't include obsolete "setenv.h".
15278
15279         * modules/localename-tests (Depends-on): Need unsetenv.
15280
15281 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15282
15283         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
15284
15285 2008-01-06  Colin Watson  <cjwatson@debian.org>
15286
15287         * users.txt: Add man-db.
15288
15289 2008-01-07  Bruno Haible  <bruno@clisp.org>
15290
15291         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
15292         previous section name.
15293
15294 2008-01-07  Bruno Haible  <bruno@clisp.org>
15295
15296         * lib/progname.c (set_program_name): Don't strip off a leading
15297         "lt-" prefix outside a .libs directory.
15298         Suggested by Paul Eggert.
15299
15300 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
15301             Bruno Haible  <bruno@clisp.org>
15302
15303         Improve memory cleanup in 'relocatable' module.
15304         * lib/relocatable.h (compute_curr_prefix): Change return type to
15305         'char *'.
15306         * lib/relocatable.c (compute_curr_prefix): Change return type to
15307         'char *'. Free curr_installdir after use.
15308         (relocate): Free curr_prefix_better after use.
15309         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
15310
15311 2008-01-01  Bruno Haible  <bruno@clisp.org>
15312
15313         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
15314         failure on older glibc systems.
15315         Reported by Peter Fales <psfales@alcatel-lucent.com>.
15316
15317 2008-01-05  Eric Blake  <ebb9@byu.net>
15318
15319         Avoid quadratic system memmem.
15320         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
15321         Reported by Ralf Wildenhues.
15322
15323         Fix memmem test for mingw.
15324         * modules/memmem-tests (configure.ac): Check for alarm.
15325         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
15326         it.
15327         * doc/functions/memmem.texi: New file.
15328         * doc/gnulib.texi (Function Substitutes): Add memmem.
15329         Reported by Bruno Haible.
15330
15331 2008-01-04  Bruno Haible  <bruno@clisp.org>
15332
15333         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
15334         Require gl_HEADER_STRINGS_H_DEFAULTS, not
15335         gl_HEADER_STRING_H_DEFAULTS.
15336
15337 2008-01-04  Eric Blake  <ebb9@byu.net>
15338
15339         Shorten duration of memmem test.
15340         * tests/test-memmem.c (main): Use alarm to declare failure if test
15341         is taking too long.
15342         Reported by Ralf Wildenhues.
15343
15344 2007-12-21  Simon Josefsson  <simon@josefsson.org>
15345
15346         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
15347         string, needed by strerror.
15348
15349 2008-01-03  Colin Watson  <cjwatson@debian.org>
15350             Bruno Haible  <bruno@clisp.org>
15351
15352         * doc/gnulib-tool.texi (Localization): New section.
15353
15354 2008-01-02  Bruno Haible  <bruno@clisp.org>
15355
15356         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
15357         variables to 'unsigned char *' type.
15358         Reported by Paul Eggert.
15359
15360 2008-01-02  Jim Meyering  <jim@meyering.net>
15361
15362         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
15363
15364 2007-12-31  Jim Meyering  <jim@meyering.net>
15365
15366         Avoid use of private FTS type name.
15367         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
15368
15369 2007-12-30  Karl Berry  <karl@gnu.org>
15370
15371         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
15372         work around defect in Texinfo and/or the standalone Info browser.
15373
15374 2007-12-30  Bruno Haible  <bruno@clisp.org>
15375
15376         Unify 5 copies of the KMP code.
15377         * lib/str-kmp.h: New file.
15378         * lib/c-strcasestr.c: Include str-kmp.h.
15379         (knuth_morris_pratt): Remove function.
15380         (c_strcasestr): Update.
15381         * lib/c-strstr.c: Include str-kmp.h.
15382         (knuth_morris_pratt): Remove function.
15383         (c_strcasestr): Update.
15384         * lib/mbscasestr.c: Include str-kmp.h.
15385         (knuth_morris_pratt_unibyte): Remove function.
15386         * lib/mbsstr.c: Include str-kmp.h.
15387         (knuth_morris_pratt_unibyte): Remove function.
15388         * lib/strcasestr.c: Include str-kmp.h.
15389         (knuth_morris_pratt): Remove function.
15390         (strcasestr): Update.
15391         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
15392         * modules/c-strstr (Files): Likewise.
15393         * modules/mbscasestr (Files): Likewise.
15394         * modules/mbsstr (Files): Likewise.
15395         * modules/strcasestr (Files): Likewise.
15396         Suggested by Paul Eggert.
15397
15398 2007-12-30  Bruno Haible  <bruno@clisp.org>
15399
15400         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
15401         defined.
15402
15403 2007-12-30  Bruno Haible  <bruno@clisp.org>
15404
15405         * lib/xmalloca.h: Include xalloc.h.
15406         (xnmalloca): New macro.
15407
15408 2007-12-30  Bruno Haible  <bruno@clisp.org>
15409
15410         * lib/malloca.h (nmalloca): New macro.
15411         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
15412         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
15413         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
15414         knuth_morris_pratt_multibyte): Likewise.
15415         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
15416         knuth_morris_pratt_multibyte): Likewise.
15417         * lib/memmem.c (knuth_morris_pratt): Likewise.
15418         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
15419
15420 2007-12-25  Bruno Haible  <bruno@clisp.org>
15421
15422         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
15423         * lib/glob.c: Don't include openat.h.
15424         (link_exists2_p): Add back the code that deals with the
15425         !GLOB_ALTDIRFUNC case.
15426         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
15427         let it do the filename concatenation.
15428         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
15429         * modules/glob (Depends-on): Remove openat.
15430
15431 2007-12-31  Bruno Haible  <bruno@clisp.org>
15432
15433         * modules/dirfd (License): Change to LGPLv2+.
15434         Approved by Jim Meyering.
15435
15436 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
15437
15438         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
15439         when multiplying M by sizeof (size_t).
15440
15441 2007-12-10  Martin Lambers  <marlam@marlam.de>
15442
15443         Override getpagesize on mingw.
15444         * lib/getpagesize.c: New file.
15445         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
15446         * modules/getpagesize (Files): Add lib/getpagesize.c.
15447         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
15448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15449         REPLACE_GETPAGESIZE.
15450         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
15451
15452 2007-12-25  Bruno Haible  <bruno@clisp.org>
15453
15454         * modules/localcharset (Notice): New field.
15455         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
15456         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
15457
15458 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
15459             Bruno Haible  <bruno@clisp.org>
15460
15461         Avoid using the syntax symbol() in formatted documentation.
15462         * MODULES.html.sh (func_module): When replacing symbol() with a
15463         hyperlink, remove the parentheses. Show an error if some remain.
15464         Recognize and render the '...' syntax.
15465         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
15466         Rework. Add paragraph about GCC's inlining.
15467         * doc/alloca.texi: Likewise.
15468         * doc/error.texi: Remove parentheses from symbol reference.
15469         * doc/gnulib-intro.texi: Likewise.
15470         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
15471         * modules/fnmatch (Description): Reword to say "the ... function".
15472         * modules/full-read (Description): Likewise.
15473         * modules/full-write (Description): Likewise.
15474         * modules/safe-read (Description): Likewise.
15475         * modules/safe-write (Description): Likewise.
15476         * modules/strchrnul (Description): Likewise.
15477         * modules/trim (Description): Likewise.
15478         * modules/error (Description): Remove parentheses from symbol
15479         references.
15480         * modules/verror (Description): Likewise.
15481         Reported by Karl Berry.
15482
15483 2007-12-25  Bruno Haible  <bruno@clisp.org>
15484
15485         Fixup after 2007-10-16 commit.
15486         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
15487
15488 2007-12-24  Bruno Haible  <bruno@clisp.org>
15489
15490         Make --enable-relocatable work with DESTDIR.
15491         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
15492         to compute installdir from destprog.
15493         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
15494         also set the RELOC_DESTDIR variable.
15495         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
15496
15497 2007-12-24  Bruno Haible  <bruno@clisp.org>
15498
15499         Fix link error due to xalloc_die().
15500         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
15501         of xreadlink.
15502         * lib/relocwrapper.c: Update comments.
15503         * build-aux/install-reloc: Remove xreadlink.c from file list.
15504         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
15505         xreadlink.c.
15506         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
15507
15508 2007-12-24  Bruno Haible  <bruno@clisp.org>
15509
15510         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
15511         * lib/setenv.h: Remove file.
15512         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
15513         lib/setenv.h.
15514         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
15515         (Depends-on): Add stdlib.
15516         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
15517         gl_FUNC_UNSETENV.
15518         (Include): Replace setenv.h with <stdlib.h>.
15519         * modules/unsetenv: New file.
15520         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
15521         * lib/unsetenv.c: Include <stdlib.h> first.
15522         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
15523         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
15524         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
15525         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
15526         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
15527         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
15528         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
15529         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
15530         * doc/functions/unsetenv.texi: Update.
15531         * modules/xsetenv (Depends-on): Add unsetenv.
15532         * modules/getdate (Depends-on): Likewise.
15533         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
15534         * lib/xsetenv.c: Don't include setenv.h.
15535         * lib/getdate.y: Likewise.
15536         * lib/relocwrapper.c: Likewise.
15537         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
15538         (Depends-on): Add stdlib.
15539         * NEWS: Mention the changes.
15540         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
15541
15542 2007-12-23  Bruno Haible  <bruno@clisp.org>
15543
15544         * lib/memmem.c (memmem): Use lowercase variable names. Tab
15545         indentation.
15546
15547 2007-12-23  Bruno Haible  <bruno@clisp.org>
15548
15549         * lib/c-strcasestr.c: Add more comments.
15550         * lib/c-strstr.c: Likewise.
15551         * lib/mbscasestr.c: Likewise.
15552         * lib/mbsstr.c: Likewise.
15553         * lib/strcasestr.c: Likewise.
15554         * lib/memmem.c: Likewise.
15555
15556 2007-12-23  Bruno Haible  <bruno@clisp.org>
15557
15558         * tests/test-memmem.c: Include <string.h> first.
15559
15560 2007-12-22  Bruno Haible  <bruno@clisp.org>
15561
15562         * gnulib-tool (func_create_testdir): Change $auxdir while generating
15563         the contents of $testsbase.
15564         Reported by Ralf Wildenhues.
15565
15566 2007-12-22  Bruno Haible  <bruno@clisp.org>
15567
15568         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
15569         two variables local_ldadd_before, local_ldadd_last.
15570
15571 2007-12-20  Eric Blake  <ebb9@byu.net>
15572
15573         Work around circular library issue when cross-compiling.
15574         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
15575         that progname.o does not need to pull in rpl_memcmp.
15576
15577 2007-12-19  Eric Blake  <ebb9@byu.net>
15578
15579         Fix memmem to avoid O(n^2) worst-case complexity.
15580         * lib/memmem.c (knuth_morris_pratt): New function.
15581         (memmem): Use it if first few naive iterations fail.
15582         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
15583         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
15584         * modules/memchr (License): Likewise.
15585         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
15586         malloca.
15587         * tests/test-memmem.c: Rewrite, borrowing ideas from
15588         test-mbsstr1.c; the old version wouldn't even compile!
15589         * modules/memmem-tests: New file.
15590         * lib/string.in.h (rpl_memmem): Add declaration.
15591         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
15592         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
15593         REPLACE_MEMMEM.
15594
15595 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
15596
15597         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
15598         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
15599         before any system include files, and undef after them all.  This
15600         should fix a problem on VMS reported by John E. Malmberg in
15601         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
15602
15603 2007-12-17  Eric Blake  <ebb9@byu.net>
15604
15605         Revert addition of verify, for BSD/OS.
15606         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
15607         can't handle large files, for the sake of obsolete platforms.
15608         * modules/fseeko (Depends-on): Remove verify.
15609         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
15610         * doc/functions/ftello.texi (ftello): Likewise.
15611         * doc/functions/fgetpos.texi (fgetpos): Likewise.
15612         Reported by Larry Jones.
15613
15614 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
15615
15616         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
15617         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
15618
15619 2007-12-17  Jim Meyering  <meyering@redhat.com>
15620
15621         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
15622         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
15623         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
15624         * modules/getcwd (Depends-on): Add openat.
15625         Reported by Petr Salinger.
15626
15627 2007-12-17  Bruno Haible  <bruno@clisp.org>
15628
15629         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
15630         avoid a segmentation fault of the configure test on x86_64 systems.
15631
15632 2007-12-15  Jim Meyering  <meyering@redhat.com>
15633
15634         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
15635
15636 2007-12-13  Eric Blake  <ebb9@byu.net>
15637
15638         Another fseek test.
15639         * tests/test-fseek.c (main): Also test ungetc handling.
15640         * tests/test-fseeko.c (main): Likewise.
15641         * modules/fseeko (Depends-on): Add verify.
15642         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
15643         large.
15644         Reported by Larry Jones.
15645
15646         Fix fseeko on mingw.
15647         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
15648         seek.
15649
15650         Beef up fseek tests.
15651         * tests/test-fseek.c (main): Also test eof handling.
15652         * tests/test-fseeko.c (main): Likewise.
15653         Reported by Larry Jones.
15654
15655 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
15656
15657         Fix fseeko on BSD-based platforms.
15658         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
15659         successful seek.
15660
15661 2007-12-12  Eric Blake  <ebb9@byu.net>
15662
15663         Allow circular dependency of separate libtests.a
15664         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
15665         when use_libtests.
15666
15667 2007-12-11  Eric Blake  <ebb9@byu.net>
15668
15669         Fix bug with -0.0L in previous patch.
15670         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
15671         * tests/test-isnan.c (main): Also test on zeroes.
15672         * tests/test-isnanf.c (main): Likewise.
15673         * tests/test-isnanl.h (main): Likewise.
15674
15675         Detect pseudo-denormals on x86 even when cross-compiling.
15676         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
15677         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
15678         invalid bit patterns that happen to satisfy ==.
15679
15680         Avoid link failures with separate libtests.a.
15681         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
15682         last, to satisfy circular dependencies.
15683
15684 2007-12-11  Eric Blake  <ebb9@byu.net>
15685         and Bruno Haible  <bruno@clisp.org>
15686
15687         Fix OpenBSD 4.0 <float.h> handling of long double.
15688         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
15689         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
15690         * doc/headers/float.texi (float.h): Document OpenBSD bug.
15691
15692 2007-12-11  Jim Meyering  <meyering@redhat.com>
15693
15694         * users.txt: Add libvirt.
15695
15696         Support versions of autoconf prior to 2.59c.
15697         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
15698         if it is not already defined.
15699
15700 2007-12-09  Bruno Haible  <bruno@clisp.org>
15701
15702         Let 'gnulib-tool --import' collect sources needed for the tests in
15703         tests/ rather than in lib/.
15704         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
15705         argument. If true, add rules to generate libtests.a, and put libtests.a
15706         into $(LDADD). Consider source files in subdirectories and set
15707         uses_subdirs.
15708         (func_emit_initmacro_start, func_emit_initmacro_end,
15709         func_emit_initmacro_done): Pass all arguments explicitly.
15710         (func_import): Determine two module lists main_modules,
15711         testsrelated_modules. Determine use_libtests. Determine two variables
15712         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
15713         instead of just sed_transform_lib_file. Determine two variables
15714         main_files and testsrelated_files. Compute 'files' as the union of
15715         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
15716         func_add_or_update. In the generated gnulib-comp.m4, collect the
15717         object files for tests/ in different variables than those for lib/.
15718         Substitute LIBTESTS_LIBDEPS.
15719         (func_create_testdir): Combine the uses_subdirs results from
15720         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
15721
15722 2007-12-09  Bruno Haible  <bruno@clisp.org>
15723
15724         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
15725         the build-aux directory.
15726
15727 2007-12-09  Bruno Haible  <bruno@clisp.org>
15728
15729         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
15730         introduced on 2006-09-09.
15731
15732 2007-12-07  Jim Meyering  <meyering@redhat.com>
15733
15734         Let these macros work also with autoconf-2.59.
15735         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
15736         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
15737         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15738
15739 2007-12-06  Jim Meyering  <meyering@redhat.com>
15740
15741         Avoid a configure-time syntax error in gl_FUNC_ACL.
15742         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
15743         function in each branch, before testing the cache variable.
15744
15745 2007-12-04  Eric Blake  <ebb9@byu.net>
15746
15747         Make scripts executable.
15748         * build-aux/config.guess: Add execute permissions.
15749         * build-aux/config.sub: Likewise.
15750         * build-aux/gendocs.sh: Likewise.
15751
15752         Fix frexp on mingw.
15753         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
15754         cross-compiling.
15755         * doc/functions/frexp.texi (frexp): Document the bug.
15756
15757         Make cygwin fseeko check more reliable.
15758         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
15759         version numbers, rather than unrelated feature check.
15760         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
15761         * doc/functions/ftello.texi (ftello): Likewise.
15762         Reported by Bruno Haible.
15763
15764         * m4/strerror.m4: Bump version number.
15765
15766 2007-12-03  Bruno Haible  <bruno@clisp.org>
15767
15768         * doc/functions/mprotect.texi: Mention the mingw problem.
15769
15770 2007-12-03  Eric Blake  <ebb9@byu.net>
15771
15772         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
15773         REPLACE_STRERROR is initialized before this macro.
15774
15775 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
15776
15777         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
15778         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
15779         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
15780         put -lsec in even for programs other than 'ls'.  This fixes a problem
15781         for gettext reported by Bruno Haible in
15782         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
15783         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
15784         Add support for Solaris 10.  This isn't efficient, but should get the
15785         job done for now.
15786
15787 2007-12-03  James Youngman  <jay@gnu.org>
15788
15789         * doc/regexprops-generic.texi: change "an close-group" to "a
15790         close-group" and "illegal" to "not allowed".
15791
15792 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15793
15794         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
15795         pr_byname.h. Needed for the rare case when the maintainer has done
15796         "make maintainer-clean" in the source directory and then attempts a
15797         build outside the source directory.
15798         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
15799         scripts_byname.h.
15800
15801 2007-12-02  Martin Lambers <marlam@marlam.de>
15802             Bruno Haible  <bruno@clisp.org>
15803
15804         * lib/getpagesize.h: Remove file.
15805         * lib/unistd.in.h: Include declaration of getpagesize here.
15806         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
15807         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
15808         HAVE_SYS_PARAM_H.
15809         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
15810         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
15811         * modules/getpagesize (Files): Remove lib/getpagesize.h.
15812         (Depends-on): Add unistd.
15813         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15814         (Include): Use <unistd.h> instead of getpagesize.h.
15815         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
15816         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
15817         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
15818         gl_GETPAGESIZE invocation, already handled by module dependency.
15819         * lib/pagealign_alloc.c: Don't include getpagesize.h.
15820
15821 2007-12-02  Bruno Haible  <bruno@clisp.org>
15822
15823         * modules/strings-tests: New file.
15824         * tests/test-strings.c: New file.
15825
15826         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
15827         * lib/strings.in.h: New file.
15828         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
15829         * m4/strings_h.m4: New file.
15830         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
15831         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
15832         * modules/strings: New file.
15833         * modules/string (Makefile.am): Update.
15834         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
15835         Reported by Karl Berry.
15836
15837 2007-12-01  Eric Blake  <ebb9@byu.net>
15838
15839         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
15840         accomodate fix in cygwin 1.5.25.
15841
15842 2007-12-01  Jim Meyering  <meyering@redhat.com>
15843
15844         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
15845         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
15846         that would inhibit utf8-optimization of a regexp containing line-
15847         or buffer-anchors, e.g., `^', `$'.
15848
15849 2007-11-30  Bruno Haible  <bruno@clisp.org>
15850
15851         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
15852         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
15853         glthread_recursive_lock_init.
15854         * lib/lock.c (glthread_recursive_lock_init)
15855         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
15856         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15857
15858 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
15859
15860         New function qset_acl, like set_acl but with syscall semantics.
15861         * lib/acl.h (qset_acl): New decl.
15862         * lib/acl.c (qset_acl): New function.
15863         (set_acl): Use new function.  Use more-consistent diagnostics.
15864
15865 2007-11-28  Jim Meyering  <meyering@redhat.com>
15866
15867         * modules/physmem (License): Change from GPL to LGPLv2+.
15868
15869 2007-11-26  Bruno Haible  <bruno@clisp.org>
15870
15871         * lib/vasnprintf.c (decode_long_double): Don't abort if the
15872         'long double' type has excess precision.
15873         Reported by Jim Meyering in
15874         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
15875
15876 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15877
15878         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
15879         Sync from <http://gnu.org/licenses>.
15880         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
15881         with license text from same location.
15882         * doc/maintain.texi, doc/standards.texi:  Sync from
15883         <http://savannah.gnu.org/projects/gnustandards>.
15884
15885 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
15886         and Jim Meyering  <meyering@redhat.com>
15887
15888         Adjust getdate' grammar to accept a slightly more regular language.
15889         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
15890         Before, the former was rejected.
15891         * lib/getdate.y (digits_to_date_time): New function, factored
15892         out of ...
15893         (number): ...here.  Just call digits_to_date_time.
15894         (hybrid): New non-terminal to handle an <unsigned number,
15895         signed relative offset> sequence consistently.
15896
15897 2007-11-18  Jim Meyering  <meyering@redhat.com>
15898
15899         Pull my changes from coreutils:
15900         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
15901         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
15902         use of $gnulib_tool_option_extras, so that it's separated from the
15903         preceding argument.
15904
15905         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
15906         * build-aux/bootstrap (cp_mark_as_generated): Create any required
15907         parent destination directories before copying a file into place.
15908
15909 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
15910
15911         bootstrap: work also with 4-argument variant of AC_INIT
15912         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
15913
15914 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15915
15916         Port test-getaddrinfo to Solaris.
15917         Problem reported by Bruno Haible in
15918         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
15919         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
15920         explanation of setting 'hints'.
15921         Don't reject an implementation merely because it returns EAI_SERVICE.
15922         (EAI_SERVICE): Define to 0 if not defined.
15923
15924 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
15925
15926         The license of gnu-make and posix-shell is now "GPLed build tool".
15927         * modules/gnu-make (License): Likewise.
15928         * modules/posix-shell (License): Likewise.
15929
15930         New module posix-shell, for determining a POSIX shell
15931         or perhaps something that is close enough to a POSIX shell.
15932         * m4/posix-shell.m4: New file.
15933         * modules/posix-shell: New file.
15934
15935         * MODULES.html.sh: Mention new module.
15936
15937         New module gnu-make, for determining whether we're using GNU Make.
15938         * m4/gnu-make.m4: New file.
15939         * modules/gnu-make: New file.
15940         * MODULES.html.sh: Mention new module.
15941
15942 2007-11-14  Jim Meyering  <meyering@redhat.com>
15943
15944         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
15945         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
15946         use this macro to create a function _definition_.
15947         Remove useless "#undef ARGMATCH_DIE".
15948
15949 2007-11-14  Bruno Haible  <bruno@clisp.org>
15950
15951         * lib/config.charset: Update for OpenBSD 4.1.
15952         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
15953
15954 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
15955
15956         Document 64-bit #if problems in stdint.texi.
15957         * doc/headers/stdint.texi (stdint.h): Mention problems with
15958         64-bit-#if, and how to work around them.
15959
15960         Don't insist on 'long long int' support in the preprocessor.  It
15961         breaks too many things.  For example, PRIdMAX still uses a 'long
15962         long int' format with the latest Sun compiler, even though
15963         HAVE_LONG_LONG_INT isn't defined due to that compiler's
15964         preprocessor problem.  This causes the latest coreutils to dump
15965         core on Solaris 10 sparc with the Sun C compiler.
15966         Instead, fix the 2007-10-16 problem in a different way, by evaluating
15967         the troublesome expressions at configure-time, not at #if-time.
15968         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
15969         preprocessor.
15970         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
15971         compile-time C checks, done at 'configure'-time.
15972         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
15973         * modules/inttypes (Makefile): Substitute the new symbols that
15974         gl_INTTYPES_H now generates.
15975         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
15976
15977 2007-11-12  Bruno Haible  <bruno@clisp.org>
15978
15979         Tests for Unicode character classification functions.
15980
15981         * modules/unictype/bidicategory-byname-tests: New file.
15982         * modules/unictype/bidicategory-name-tests: New file.
15983         * modules/unictype/bidicategory-of-tests: New file.
15984         * modules/unictype/bidicategory-test-tests: New file.
15985         * modules/unictype/block-list-tests: New file.
15986         * modules/unictype/block-of-tests: New file.
15987         * modules/unictype/block-test-tests: New file.
15988         * modules/unictype/category-C-tests: New file.
15989         * modules/unictype/category-Cc-tests: New file.
15990         * modules/unictype/category-Cf-tests: New file.
15991         * modules/unictype/category-Cn-tests: New file.
15992         * modules/unictype/category-Co-tests: New file.
15993         * modules/unictype/category-Cs-tests: New file.
15994         * modules/unictype/category-L-tests: New file.
15995         * modules/unictype/category-Ll-tests: New file.
15996         * modules/unictype/category-Lm-tests: New file.
15997         * modules/unictype/category-Lo-tests: New file.
15998         * modules/unictype/category-Lt-tests: New file.
15999         * modules/unictype/category-Lu-tests: New file.
16000         * modules/unictype/category-M-tests: New file.
16001         * modules/unictype/category-Mc-tests: New file.
16002         * modules/unictype/category-Me-tests: New file.
16003         * modules/unictype/category-Mn-tests: New file.
16004         * modules/unictype/category-N-tests: New file.
16005         * modules/unictype/category-Nd-tests: New file.
16006         * modules/unictype/category-Nl-tests: New file.
16007         * modules/unictype/category-No-tests: New file.
16008         * modules/unictype/category-P-tests: New file.
16009         * modules/unictype/category-Pc-tests: New file.
16010         * modules/unictype/category-Pd-tests: New file.
16011         * modules/unictype/category-Pe-tests: New file.
16012         * modules/unictype/category-Pf-tests: New file.
16013         * modules/unictype/category-Pi-tests: New file.
16014         * modules/unictype/category-Po-tests: New file.
16015         * modules/unictype/category-Ps-tests: New file.
16016         * modules/unictype/category-S-tests: New file.
16017         * modules/unictype/category-Sc-tests: New file.
16018         * modules/unictype/category-Sk-tests: New file.
16019         * modules/unictype/category-Sm-tests: New file.
16020         * modules/unictype/category-So-tests: New file.
16021         * modules/unictype/category-Z-tests: New file.
16022         * modules/unictype/category-Zl-tests: New file.
16023         * modules/unictype/category-Zp-tests: New file.
16024         * modules/unictype/category-Zs-tests: New file.
16025         * modules/unictype/category-and-not-tests: New file.
16026         * modules/unictype/category-and-tests: New file.
16027         * modules/unictype/category-byname-tests: New file.
16028         * modules/unictype/category-name-tests: New file.
16029         * modules/unictype/category-none-tests: New file.
16030         * modules/unictype/category-of-tests: New file.
16031         * modules/unictype/category-or-tests: New file.
16032         * modules/unictype/category-test-withtable-tests: New file.
16033         * modules/unictype/combining-class-tests: New file.
16034         * modules/unictype/ctype-alnum-tests: New file.
16035         * modules/unictype/ctype-alpha-tests: New file.
16036         * modules/unictype/ctype-blank-tests: New file.
16037         * modules/unictype/ctype-cntrl-tests: New file.
16038         * modules/unictype/ctype-digit-tests: New file.
16039         * modules/unictype/ctype-graph-tests: New file.
16040         * modules/unictype/ctype-lower-tests: New file.
16041         * modules/unictype/ctype-print-tests: New file.
16042         * modules/unictype/ctype-punct-tests: New file.
16043         * modules/unictype/ctype-space-tests: New file.
16044         * modules/unictype/ctype-upper-tests: New file.
16045         * modules/unictype/ctype-xdigit-tests: New file.
16046         * modules/unictype/decimal-digit-tests: New file.
16047         * modules/unictype/digit-tests: New file.
16048         * modules/unictype/mirror-tests: New file.
16049         * modules/unictype/numeric-tests: New file.
16050         * modules/unictype/property-alphabetic-tests: New file.
16051         * modules/unictype/property-ascii-hex-digit-tests: New file.
16052         * modules/unictype/property-bidi-arabic-digit-tests: New file.
16053         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
16054         * modules/unictype/property-bidi-block-separator-tests: New file.
16055         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
16056         * modules/unictype/property-bidi-common-separator-tests: New file.
16057         * modules/unictype/property-bidi-control-tests: New file.
16058         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
16059         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
16060         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
16061         * modules/unictype/property-bidi-european-digit-tests: New file.
16062         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
16063         * modules/unictype/property-bidi-left-to-right-tests: New file.
16064         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
16065         * modules/unictype/property-bidi-other-neutral-tests: New file.
16066         * modules/unictype/property-bidi-pdf-tests: New file.
16067         * modules/unictype/property-bidi-segment-separator-tests: New file.
16068         * modules/unictype/property-bidi-whitespace-tests: New file.
16069         * modules/unictype/property-byname-tests: New file.
16070         * modules/unictype/property-combining-tests: New file.
16071         * modules/unictype/property-composite-tests: New file.
16072         * modules/unictype/property-currency-symbol-tests: New file.
16073         * modules/unictype/property-dash-tests: New file.
16074         * modules/unictype/property-decimal-digit-tests: New file.
16075         * modules/unictype/property-default-ignorable-code-point-tests: New file.
16076         * modules/unictype/property-deprecated-tests: New file.
16077         * modules/unictype/property-diacritic-tests: New file.
16078         * modules/unictype/property-extender-tests: New file.
16079         * modules/unictype/property-format-control-tests: New file.
16080         * modules/unictype/property-grapheme-base-tests: New file.
16081         * modules/unictype/property-grapheme-extend-tests: New file.
16082         * modules/unictype/property-grapheme-link-tests: New file.
16083         * modules/unictype/property-hex-digit-tests: New file.
16084         * modules/unictype/property-hyphen-tests: New file.
16085         * modules/unictype/property-id-continue-tests: New file.
16086         * modules/unictype/property-id-start-tests: New file.
16087         * modules/unictype/property-ideographic-tests: New file.
16088         * modules/unictype/property-ids-binary-operator-tests: New file.
16089         * modules/unictype/property-ids-trinary-operator-tests: New file.
16090         * modules/unictype/property-ignorable-control-tests: New file.
16091         * modules/unictype/property-iso-control-tests: New file.
16092         * modules/unictype/property-join-control-tests: New file.
16093         * modules/unictype/property-left-of-pair-tests: New file.
16094         * modules/unictype/property-line-separator-tests: New file.
16095         * modules/unictype/property-logical-order-exception-tests: New file.
16096         * modules/unictype/property-lowercase-tests: New file.
16097         * modules/unictype/property-math-tests: New file.
16098         * modules/unictype/property-non-break-tests: New file.
16099         * modules/unictype/property-not-a-character-tests: New file.
16100         * modules/unictype/property-numeric-tests: New file.
16101         * modules/unictype/property-other-alphabetic-tests: New file.
16102         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
16103         * modules/unictype/property-other-grapheme-extend-tests: New file.
16104         * modules/unictype/property-other-id-continue-tests: New file.
16105         * modules/unictype/property-other-id-start-tests: New file.
16106         * modules/unictype/property-other-lowercase-tests: New file.
16107         * modules/unictype/property-other-math-tests: New file.
16108         * modules/unictype/property-other-uppercase-tests: New file.
16109         * modules/unictype/property-paired-punctuation-tests: New file.
16110         * modules/unictype/property-paragraph-separator-tests: New file.
16111         * modules/unictype/property-pattern-syntax-tests: New file.
16112         * modules/unictype/property-pattern-white-space-tests: New file.
16113         * modules/unictype/property-private-use-tests: New file.
16114         * modules/unictype/property-punctuation-tests: New file.
16115         * modules/unictype/property-quotation-mark-tests: New file.
16116         * modules/unictype/property-radical-tests: New file.
16117         * modules/unictype/property-sentence-terminal-tests: New file.
16118         * modules/unictype/property-soft-dotted-tests: New file.
16119         * modules/unictype/property-space-tests: New file.
16120         * modules/unictype/property-terminal-punctuation-tests: New file.
16121         * modules/unictype/property-test-tests: New file.
16122         * modules/unictype/property-titlecase-tests: New file.
16123         * modules/unictype/property-unassigned-code-value-tests: New file.
16124         * modules/unictype/property-unified-ideograph-tests: New file.
16125         * modules/unictype/property-uppercase-tests: New file.
16126         * modules/unictype/property-variation-selector-tests: New file.
16127         * modules/unictype/property-white-space-tests: New file.
16128         * modules/unictype/property-xid-continue-tests: New file.
16129         * modules/unictype/property-xid-start-tests: New file.
16130         * modules/unictype/property-zero-width-tests: New file.
16131         * modules/unictype/scripts-tests: New file.
16132         * modules/unictype/syntax-c-ident-tests: New file.
16133         * modules/unictype/syntax-c-whitespace-tests: New file.
16134         * modules/unictype/syntax-java-ident-tests: New file.
16135         * modules/unictype/syntax-java-whitespace-tests: New file.
16136         * tests/unictype/test-bidi_byname.c: New file.
16137         * tests/unictype/test-bidi_name.c: New file.
16138         * tests/unictype/test-bidi_of.c: New file.
16139         * tests/unictype/test-bidi_test.c: New file.
16140         * tests/unictype/test-block_list.c: New file.
16141         * tests/unictype/test-block_of.c: New file.
16142         * tests/unictype/test-block_test.c: New file.
16143         * tests/unictype/test-categ_and.c: New file.
16144         * tests/unictype/test-categ_and_not.c: New file.
16145         * tests/unictype/test-categ_byname.c: New file.
16146         * tests/unictype/test-categ_name.c: New file.
16147         * tests/unictype/test-categ_none.c: New file.
16148         * tests/unictype/test-categ_of.c: New file.
16149         * tests/unictype/test-categ_or.c: New file.
16150         * tests/unictype/test-categ_test_withtable.c: New file.
16151         * tests/unictype/test-combining.c: New file.
16152         * tests/unictype/test-decdigit.c: New file.
16153         * tests/unictype/test-digit.c: New file.
16154         * tests/unictype/test-mirror.c: New file.
16155         * tests/unictype/test-numeric.c: New file.
16156         * tests/unictype/test-pr_byname.c: New file.
16157         * tests/unictype/test-pr_test.c: New file.
16158         * tests/unictype/test-predicate-part1.h: New file.
16159         * tests/unictype/test-predicate-part2.h: New file.
16160         * tests/unictype/test-scripts.c: New file.
16161         * tests/unictype/test-sy_c_ident.c: New file.
16162         * tests/unictype/test-sy_java_ident.c: New file.
16163
16164         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
16165         for Unicode 5.0.0.
16166         * tests/unictype/test-categ_Cc.c: Likewise.
16167         * tests/unictype/test-categ_Cf.c: Likewise.
16168         * tests/unictype/test-categ_Cn.c: Likewise.
16169         * tests/unictype/test-categ_Co.c: Likewise.
16170         * tests/unictype/test-categ_Cs.c: Likewise.
16171         * tests/unictype/test-categ_L.c: Likewise.
16172         * tests/unictype/test-categ_Ll.c: Likewise.
16173         * tests/unictype/test-categ_Lm.c: Likewise.
16174         * tests/unictype/test-categ_Lo.c: Likewise.
16175         * tests/unictype/test-categ_Lt.c: Likewise.
16176         * tests/unictype/test-categ_Lu.c: Likewise.
16177         * tests/unictype/test-categ_M.c: Likewise.
16178         * tests/unictype/test-categ_Mc.c: Likewise.
16179         * tests/unictype/test-categ_Me.c: Likewise.
16180         * tests/unictype/test-categ_Mn.c: Likewise.
16181         * tests/unictype/test-categ_N.c: Likewise.
16182         * tests/unictype/test-categ_Nd.c: Likewise.
16183         * tests/unictype/test-categ_Nl.c: Likewise.
16184         * tests/unictype/test-categ_No.c: Likewise.
16185         * tests/unictype/test-categ_P.c: Likewise.
16186         * tests/unictype/test-categ_Pc.c: Likewise.
16187         * tests/unictype/test-categ_Pd.c: Likewise.
16188         * tests/unictype/test-categ_Pe.c: Likewise.
16189         * tests/unictype/test-categ_Pf.c: Likewise.
16190         * tests/unictype/test-categ_Pi.c: Likewise.
16191         * tests/unictype/test-categ_Po.c: Likewise.
16192         * tests/unictype/test-categ_Ps.c: Likewise.
16193         * tests/unictype/test-categ_S.c: Likewise.
16194         * tests/unictype/test-categ_Sc.c: Likewise.
16195         * tests/unictype/test-categ_Sk.c: Likewise.
16196         * tests/unictype/test-categ_Sm.c: Likewise.
16197         * tests/unictype/test-categ_So.c: Likewise.
16198         * tests/unictype/test-categ_Z.c: Likewise.
16199         * tests/unictype/test-categ_Zl.c: Likewise.
16200         * tests/unictype/test-categ_Zp.c: Likewise.
16201         * tests/unictype/test-categ_Zs.c: Likewise.
16202         * tests/unictype/test-ctype_alnum.c: Likewise.
16203         * tests/unictype/test-ctype_alpha.c: Likewise.
16204         * tests/unictype/test-ctype_blank.c: Likewise.
16205         * tests/unictype/test-ctype_cntrl.c: Likewise.
16206         * tests/unictype/test-ctype_digit.c: Likewise.
16207         * tests/unictype/test-ctype_graph.c: Likewise.
16208         * tests/unictype/test-ctype_lower.c: Likewise.
16209         * tests/unictype/test-ctype_print.c: Likewise.
16210         * tests/unictype/test-ctype_punct.c: Likewise.
16211         * tests/unictype/test-ctype_space.c: Likewise.
16212         * tests/unictype/test-ctype_upper.c: Likewise.
16213         * tests/unictype/test-ctype_xdigit.c: Likewise.
16214         * tests/unictype/test-decdigit.h: Likewise.
16215         * tests/unictype/test-digit.h: Likewise.
16216         * tests/unictype/test-numeric.h: Likewise.
16217         * tests/unictype/test-pr_alphabetic.c: Likewise.
16218         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
16219         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
16220         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
16221         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
16222         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
16223         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
16224         * tests/unictype/test-pr_bidi_control.c: Likewise.
16225         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
16226         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
16227         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
16228         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
16229         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
16230         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
16231         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
16232         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
16233         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
16234         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
16235         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
16236         * tests/unictype/test-pr_combining.c: Likewise.
16237         * tests/unictype/test-pr_composite.c: Likewise.
16238         * tests/unictype/test-pr_currency_symbol.c: Likewise.
16239         * tests/unictype/test-pr_dash.c: Likewise.
16240         * tests/unictype/test-pr_decimal_digit.c: Likewise.
16241         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
16242         * tests/unictype/test-pr_deprecated.c: Likewise.
16243         * tests/unictype/test-pr_diacritic.c: Likewise.
16244         * tests/unictype/test-pr_extender.c: Likewise.
16245         * tests/unictype/test-pr_format_control.c: Likewise.
16246         * tests/unictype/test-pr_grapheme_base.c: Likewise.
16247         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
16248         * tests/unictype/test-pr_grapheme_link.c: Likewise.
16249         * tests/unictype/test-pr_hex_digit.c: Likewise.
16250         * tests/unictype/test-pr_hyphen.c: Likewise.
16251         * tests/unictype/test-pr_id_continue.c: Likewise.
16252         * tests/unictype/test-pr_id_start.c: Likewise.
16253         * tests/unictype/test-pr_ideographic.c: Likewise.
16254         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
16255         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
16256         * tests/unictype/test-pr_ignorable_control.c: Likewise.
16257         * tests/unictype/test-pr_iso_control.c: Likewise.
16258         * tests/unictype/test-pr_join_control.c: Likewise.
16259         * tests/unictype/test-pr_left_of_pair.c: Likewise.
16260         * tests/unictype/test-pr_line_separator.c: Likewise.
16261         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
16262         * tests/unictype/test-pr_lowercase.c: Likewise.
16263         * tests/unictype/test-pr_math.c: Likewise.
16264         * tests/unictype/test-pr_non_break.c: Likewise.
16265         * tests/unictype/test-pr_not_a_character.c: Likewise.
16266         * tests/unictype/test-pr_numeric.c: Likewise.
16267         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
16268         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
16269         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
16270         * tests/unictype/test-pr_other_id_continue.c: Likewise.
16271         * tests/unictype/test-pr_other_id_start.c: Likewise.
16272         * tests/unictype/test-pr_other_lowercase.c: Likewise.
16273         * tests/unictype/test-pr_other_math.c: Likewise.
16274         * tests/unictype/test-pr_other_uppercase.c: Likewise.
16275         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
16276         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
16277         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
16278         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
16279         * tests/unictype/test-pr_private_use.c: Likewise.
16280         * tests/unictype/test-pr_punctuation.c: Likewise.
16281         * tests/unictype/test-pr_quotation_mark.c: Likewise.
16282         * tests/unictype/test-pr_radical.c: Likewise.
16283         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
16284         * tests/unictype/test-pr_soft_dotted.c: Likewise.
16285         * tests/unictype/test-pr_space.c: Likewise.
16286         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
16287         * tests/unictype/test-pr_titlecase.c: Likewise.
16288         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
16289         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
16290         * tests/unictype/test-pr_uppercase.c: Likewise.
16291         * tests/unictype/test-pr_variation_selector.c: Likewise.
16292         * tests/unictype/test-pr_white_space.c: Likewise.
16293         * tests/unictype/test-pr_xid_continue.c: Likewise.
16294         * tests/unictype/test-pr_xid_start.c: Likewise.
16295         * tests/unictype/test-pr_zero_width.c: Likewise.
16296         * tests/unictype/test-sy_c_whitespace.c: Likewise.
16297         * tests/unictype/test-sy_java_whitespace.c: Likewise.
16298
16299 2007-11-12  Bruno Haible  <bruno@clisp.org>
16300
16301         Unicode character classification functions.
16302         * lib/unictype.h: New file.
16303         * modules/unictype/base: New file.
16304         * modules/unictype/category-L: New file.
16305         * modules/unictype/category-Lu: New file.
16306         * modules/unictype/category-Ll: New file.
16307         * modules/unictype/category-Lt: New file.
16308         * modules/unictype/category-Lm: New file.
16309         * modules/unictype/category-Lo: New file.
16310         * modules/unictype/category-M: New file.
16311         * modules/unictype/category-Mn: New file.
16312         * modules/unictype/category-Mc: New file.
16313         * modules/unictype/category-Me: New file.
16314         * modules/unictype/category-N: New file.
16315         * modules/unictype/category-Nd: New file.
16316         * modules/unictype/category-Nl: New file.
16317         * modules/unictype/category-No: New file.
16318         * modules/unictype/category-P: New file.
16319         * modules/unictype/category-Pc: New file.
16320         * modules/unictype/category-Pd: New file.
16321         * modules/unictype/category-Ps: New file.
16322         * modules/unictype/category-Pe: New file.
16323         * modules/unictype/category-Pi: New file.
16324         * modules/unictype/category-Pf: New file.
16325         * modules/unictype/category-Po: New file.
16326         * modules/unictype/category-S: New file.
16327         * modules/unictype/category-Sm: New file.
16328         * modules/unictype/category-Sc: New file.
16329         * modules/unictype/category-Sk: New file.
16330         * modules/unictype/category-So: New file.
16331         * modules/unictype/category-Z: New file.
16332         * modules/unictype/category-Zs: New file.
16333         * modules/unictype/category-Zl: New file.
16334         * modules/unictype/category-Zp: New file.
16335         * modules/unictype/category-C: New file.
16336         * modules/unictype/category-Cc: New file.
16337         * modules/unictype/category-Cf: New file.
16338         * modules/unictype/category-Cs: New file.
16339         * modules/unictype/category-Co: New file.
16340         * modules/unictype/category-Cn: New file.
16341         * modules/unictype/category-or: New file.
16342         * modules/unictype/category-of: New file.
16343         * modules/unictype/category-test: New file.
16344         * modules/unictype/category-test-withtable: New file.
16345         * modules/unictype/category-byname: New file.
16346         * modules/unictype/category-none: New file.
16347         * modules/unictype/category-and: New file.
16348         * modules/unictype/category-and-not: New file.
16349         * modules/unictype/category-name: New file.
16350         * modules/unictype/combining-class: New file.
16351         * modules/unictype/category-all: New file.
16352         * modules/unictype/bidicategory-all: New file.
16353         * modules/unictype/bidicategory-byname: New file.
16354         * modules/unictype/bidicategory-name: New file.
16355         * modules/unictype/bidicategory-of: New file.
16356         * modules/unictype/bidicategory-test: New file.
16357         * modules/unictype/decimal-digit: New file.
16358         * modules/unictype/digit: New file.
16359         * modules/unictype/numeric: New file.
16360         * modules/unictype/mirror: New file.
16361         * modules/unictype/property-white-space: New file.
16362         * modules/unictype/property-alphabetic: New file.
16363         * modules/unictype/property-other-alphabetic: New file.
16364         * modules/unictype/property-not-a-character: New file.
16365         * modules/unictype/property-default-ignorable-code-point: New file.
16366         * modules/unictype/property-other-default-ignorable-code-point: New
16367         file.
16368         * modules/unictype/property-deprecated: New file.
16369         * modules/unictype/property-logical-order-exception: New file.
16370         * modules/unictype/property-variation-selector: New file.
16371         * modules/unictype/property-private-use: New file.
16372         * modules/unictype/property-unassigned-code-value: New file.
16373         * modules/unictype/property-uppercase: New file.
16374         * modules/unictype/property-other-uppercase: New file.
16375         * modules/unictype/property-lowercase: New file.
16376         * modules/unictype/property-other-lowercase: New file.
16377         * modules/unictype/property-titlecase: New file.
16378         * modules/unictype/property-soft-dotted: New file.
16379         * modules/unictype/property-id-start: New file.
16380         * modules/unictype/property-other-id-start: New file.
16381         * modules/unictype/property-id-continue: New file.
16382         * modules/unictype/property-other-id-continue: New file.
16383         * modules/unictype/property-xid-start: New file.
16384         * modules/unictype/property-xid-continue: New file.
16385         * modules/unictype/property-pattern-white-space: New file.
16386         * modules/unictype/property-pattern-syntax: New file.
16387         * modules/unictype/property-join-control: New file.
16388         * modules/unictype/property-grapheme-base: New file.
16389         * modules/unictype/property-grapheme-extend: New file.
16390         * modules/unictype/property-other-grapheme-extend: New file.
16391         * modules/unictype/property-grapheme-link: New file.
16392         * modules/unictype/property-bidi-control: New file.
16393         * modules/unictype/property-bidi-left-to-right: New file.
16394         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
16395         * modules/unictype/property-bidi-arabic-right-to-left: New file.
16396         * modules/unictype/property-bidi-european-digit: New file.
16397         * modules/unictype/property-bidi-eur-num-separator: New file.
16398         * modules/unictype/property-bidi-eur-num-terminator: New file.
16399         * modules/unictype/property-bidi-arabic-digit: New file.
16400         * modules/unictype/property-bidi-common-separator: New file.
16401         * modules/unictype/property-bidi-block-separator: New file.
16402         * modules/unictype/property-bidi-segment-separator: New file.
16403         * modules/unictype/property-bidi-whitespace: New file.
16404         * modules/unictype/property-bidi-non-spacing-mark: New file.
16405         * modules/unictype/property-bidi-boundary-neutral: New file.
16406         * modules/unictype/property-bidi-pdf: New file.
16407         * modules/unictype/property-bidi-embedding-or-override: New file.
16408         * modules/unictype/property-bidi-other-neutral: New file.
16409         * modules/unictype/property-hex-digit: New file.
16410         * modules/unictype/property-ascii-hex-digit: New file.
16411         * modules/unictype/property-ideographic: New file.
16412         * modules/unictype/property-unified-ideograph: New file.
16413         * modules/unictype/property-radical: New file.
16414         * modules/unictype/property-ids-binary-operator: New file.
16415         * modules/unictype/property-ids-trinary-operator: New file.
16416         * modules/unictype/property-zero-width: New file.
16417         * modules/unictype/property-space: New file.
16418         * modules/unictype/property-non-break: New file.
16419         * modules/unictype/property-iso-control: New file.
16420         * modules/unictype/property-format-control: New file.
16421         * modules/unictype/property-dash: New file.
16422         * modules/unictype/property-hyphen: New file.
16423         * modules/unictype/property-punctuation: New file.
16424         * modules/unictype/property-line-separator: New file.
16425         * modules/unictype/property-paragraph-separator: New file.
16426         * modules/unictype/property-quotation-mark: New file.
16427         * modules/unictype/property-sentence-terminal: New file.
16428         * modules/unictype/property-terminal-punctuation: New file.
16429         * modules/unictype/property-currency-symbol: New file.
16430         * modules/unictype/property-math: New file.
16431         * modules/unictype/property-other-math: New file.
16432         * modules/unictype/property-paired-punctuation: New file.
16433         * modules/unictype/property-left-of-pair: New file.
16434         * modules/unictype/property-combining: New file.
16435         * modules/unictype/property-composite: New file.
16436         * modules/unictype/property-decimal-digit: New file.
16437         * modules/unictype/property-numeric: New file.
16438         * modules/unictype/property-diacritic: New file.
16439         * modules/unictype/property-extender: New file.
16440         * modules/unictype/property-ignorable-control: New file.
16441         * modules/unictype/property-test: New file.
16442         * modules/unictype/property-byname: New file.
16443         * modules/unictype/property-all: New file.
16444         * modules/unictype/scripts: New file.
16445         * modules/unictype/scripts-all: New file.
16446         * modules/unictype/block-of: New file.
16447         * modules/unictype/block-test: New file.
16448         * modules/unictype/block-list: New file.
16449         * modules/unictype/block-all: New file.
16450         * modules/unictype/syntax-c-whitespace: New file.
16451         * modules/unictype/syntax-java-whitespace: New file.
16452         * modules/unictype/syntax-c-ident: New file.
16453         * modules/unictype/syntax-java-ident: New file.
16454         * modules/unictype/ctype-alnum: New file.
16455         * modules/unictype/ctype-alpha: New file.
16456         * modules/unictype/ctype-cntrl: New file.
16457         * modules/unictype/ctype-digit: New file.
16458         * modules/unictype/ctype-graph: New file.
16459         * modules/unictype/ctype-lower: New file.
16460         * modules/unictype/ctype-print: New file.
16461         * modules/unictype/ctype-punct: New file.
16462         * modules/unictype/ctype-space: New file.
16463         * modules/unictype/ctype-upper: New file.
16464         * modules/unictype/ctype-xdigit: New file.
16465         * modules/unictype/ctype-blank: New file.
16466         * lib/unictype/bidi_byname.c: New file.
16467         * lib/unictype/bidi_name.c: New file.
16468         * lib/unictype/bidi_of.c: New file.
16469         * lib/unictype/bidi_test.c: New file.
16470         * lib/unictype/bitmap.h: New file.
16471         * lib/unictype/block_test.c: New file.
16472         * lib/unictype/blocks.c: New file.
16473         * lib/unictype/categ_C.c: New file.
16474         * lib/unictype/categ_Cc.c: New file.
16475         * lib/unictype/categ_Cf.c: New file.
16476         * lib/unictype/categ_Cn.c: New file.
16477         * lib/unictype/categ_Co.c: New file.
16478         * lib/unictype/categ_Cs.c: New file.
16479         * lib/unictype/categ_L.c: New file.
16480         * lib/unictype/categ_Ll.c: New file.
16481         * lib/unictype/categ_Lm.c: New file.
16482         * lib/unictype/categ_Lo.c: New file.
16483         * lib/unictype/categ_Lt.c: New file.
16484         * lib/unictype/categ_Lu.c: New file.
16485         * lib/unictype/categ_M.c: New file.
16486         * lib/unictype/categ_Mc.c: New file.
16487         * lib/unictype/categ_Me.c: New file.
16488         * lib/unictype/categ_Mn.c: New file.
16489         * lib/unictype/categ_N.c: New file.
16490         * lib/unictype/categ_Nd.c: New file.
16491         * lib/unictype/categ_Nl.c: New file.
16492         * lib/unictype/categ_No.c: New file.
16493         * lib/unictype/categ_P.c: New file.
16494         * lib/unictype/categ_Pc.c: New file.
16495         * lib/unictype/categ_Pd.c: New file.
16496         * lib/unictype/categ_Pe.c: New file.
16497         * lib/unictype/categ_Pf.c: New file.
16498         * lib/unictype/categ_Pi.c: New file.
16499         * lib/unictype/categ_Po.c: New file.
16500         * lib/unictype/categ_Ps.c: New file.
16501         * lib/unictype/categ_S.c: New file.
16502         * lib/unictype/categ_Sc.c: New file.
16503         * lib/unictype/categ_Sk.c: New file.
16504         * lib/unictype/categ_Sm.c: New file.
16505         * lib/unictype/categ_So.c: New file.
16506         * lib/unictype/categ_Z.c: New file.
16507         * lib/unictype/categ_Zl.c: New file.
16508         * lib/unictype/categ_Zp.c: New file.
16509         * lib/unictype/categ_Zs.c: New file.
16510         * lib/unictype/categ_and.c: New file.
16511         * lib/unictype/categ_and_not.c: New file.
16512         * lib/unictype/categ_byname.c: New file.
16513         * lib/unictype/categ_name.c: New file.
16514         * lib/unictype/categ_none.c: New file.
16515         * lib/unictype/categ_of.c: New file.
16516         * lib/unictype/categ_or.c: New file.
16517         * lib/unictype/categ_test.c: New file.
16518         * lib/unictype/combining.c: New file.
16519         * lib/unictype/ctype_alnum.c: New file.
16520         * lib/unictype/ctype_alpha.c: New file.
16521         * lib/unictype/ctype_blank.c: New file.
16522         * lib/unictype/ctype_cntrl.c: New file.
16523         * lib/unictype/ctype_digit.c: New file.
16524         * lib/unictype/ctype_graph.c: New file.
16525         * lib/unictype/ctype_lower.c: New file.
16526         * lib/unictype/ctype_print.c: New file.
16527         * lib/unictype/ctype_punct.c: New file.
16528         * lib/unictype/ctype_space.c: New file.
16529         * lib/unictype/ctype_upper.c: New file.
16530         * lib/unictype/ctype_xdigit.c: New file.
16531         * lib/unictype/decdigit.c: New file.
16532         * lib/unictype/digit.c: New file.
16533         * lib/unictype/identsyntaxmap.h: New file.
16534         * lib/unictype/mirror.c: New file.
16535         * lib/unictype/numeric.c: New file.
16536         * lib/unictype/pr_alphabetic.c: New file.
16537         * lib/unictype/pr_ascii_hex_digit.c: New file.
16538         * lib/unictype/pr_bidi_arabic_digit.c: New file.
16539         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
16540         * lib/unictype/pr_bidi_block_separator.c: New file.
16541         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
16542         * lib/unictype/pr_bidi_common_separator.c: New file.
16543         * lib/unictype/pr_bidi_control.c: New file.
16544         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
16545         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
16546         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
16547         * lib/unictype/pr_bidi_european_digit.c: New file.
16548         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
16549         * lib/unictype/pr_bidi_left_to_right.c: New file.
16550         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
16551         * lib/unictype/pr_bidi_other_neutral.c: New file.
16552         * lib/unictype/pr_bidi_pdf.c: New file.
16553         * lib/unictype/pr_bidi_segment_separator.c: New file.
16554         * lib/unictype/pr_bidi_whitespace.c: New file.
16555         * lib/unictype/pr_byname.c: New file.
16556         * lib/unictype/pr_byname.gperf: New file.
16557         * lib/unictype/pr_combining.c: New file.
16558         * lib/unictype/pr_composite.c: New file.
16559         * lib/unictype/pr_currency_symbol.c: New file.
16560         * lib/unictype/pr_dash.c: New file.
16561         * lib/unictype/pr_decimal_digit.c: New file.
16562         * lib/unictype/pr_default_ignorable_code_point.c: New file.
16563         * lib/unictype/pr_deprecated.c: New file.
16564         * lib/unictype/pr_diacritic.c: New file.
16565         * lib/unictype/pr_extender.c: New file.
16566         * lib/unictype/pr_format_control.c: New file.
16567         * lib/unictype/pr_grapheme_base.c: New file.
16568         * lib/unictype/pr_grapheme_extend.c: New file.
16569         * lib/unictype/pr_grapheme_link.c: New file.
16570         * lib/unictype/pr_hex_digit.c: New file.
16571         * lib/unictype/pr_hyphen.c: New file.
16572         * lib/unictype/pr_id_continue.c: New file.
16573         * lib/unictype/pr_id_start.c: New file.
16574         * lib/unictype/pr_ideographic.c: New file.
16575         * lib/unictype/pr_ids_binary_operator.c: New file.
16576         * lib/unictype/pr_ids_trinary_operator.c: New file.
16577         * lib/unictype/pr_ignorable_control.c: New file.
16578         * lib/unictype/pr_iso_control.c: New file.
16579         * lib/unictype/pr_join_control.c: New file.
16580         * lib/unictype/pr_left_of_pair.c: New file.
16581         * lib/unictype/pr_line_separator.c: New file.
16582         * lib/unictype/pr_logical_order_exception.c: New file.
16583         * lib/unictype/pr_lowercase.c: New file.
16584         * lib/unictype/pr_math.c: New file.
16585         * lib/unictype/pr_non_break.c: New file.
16586         * lib/unictype/pr_not_a_character.c: New file.
16587         * lib/unictype/pr_numeric.c: New file.
16588         * lib/unictype/pr_other_alphabetic.c: New file.
16589         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
16590         * lib/unictype/pr_other_grapheme_extend.c: New file.
16591         * lib/unictype/pr_other_id_continue.c: New file.
16592         * lib/unictype/pr_other_id_start.c: New file.
16593         * lib/unictype/pr_other_lowercase.c: New file.
16594         * lib/unictype/pr_other_math.c: New file.
16595         * lib/unictype/pr_other_uppercase.c: New file.
16596         * lib/unictype/pr_paired_punctuation.c: New file.
16597         * lib/unictype/pr_paragraph_separator.c: New file.
16598         * lib/unictype/pr_pattern_syntax.c: New file.
16599         * lib/unictype/pr_pattern_white_space.c: New file.
16600         * lib/unictype/pr_private_use.c: New file.
16601         * lib/unictype/pr_punctuation.c: New file.
16602         * lib/unictype/pr_quotation_mark.c: New file.
16603         * lib/unictype/pr_radical.c: New file.
16604         * lib/unictype/pr_sentence_terminal.c: New file.
16605         * lib/unictype/pr_soft_dotted.c: New file.
16606         * lib/unictype/pr_space.c: New file.
16607         * lib/unictype/pr_terminal_punctuation.c: New file.
16608         * lib/unictype/pr_test.c: New file.
16609         * lib/unictype/pr_titlecase.c: New file.
16610         * lib/unictype/pr_unassigned_code_value.c: New file.
16611         * lib/unictype/pr_unified_ideograph.c: New file.
16612         * lib/unictype/pr_uppercase.c: New file.
16613         * lib/unictype/pr_variation_selector.c: New file.
16614         * lib/unictype/pr_white_space.c: New file.
16615         * lib/unictype/pr_xid_continue.c: New file.
16616         * lib/unictype/pr_xid_start.c: New file.
16617         * lib/unictype/pr_zero_width.c: New file.
16618         * lib/unictype/scripts.c: New file.
16619         * lib/unictype/sy_c_ident.c: New file.
16620         * lib/unictype/sy_c_whitespace.c: New file.
16621         * lib/unictype/sy_java_ident.c: New file.
16622         * lib/unictype/sy_java_whitespace.c: New file.
16623
16624         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
16625         Unicode 5.0.0.
16626         * lib/unictype/blocks.h: Likewise.
16627         * lib/unictype/categ_C.h: Likewise.
16628         * lib/unictype/categ_Cc.h: Likewise.
16629         * lib/unictype/categ_Cf.h: Likewise.
16630         * lib/unictype/categ_Cn.h: Likewise.
16631         * lib/unictype/categ_Co.h: Likewise.
16632         * lib/unictype/categ_Cs.h: Likewise.
16633         * lib/unictype/categ_L.h: Likewise.
16634         * lib/unictype/categ_Ll.h: Likewise.
16635         * lib/unictype/categ_Lm.h: Likewise.
16636         * lib/unictype/categ_Lo.h: Likewise.
16637         * lib/unictype/categ_Lt.h: Likewise.
16638         * lib/unictype/categ_Lu.h: Likewise.
16639         * lib/unictype/categ_M.h: Likewise.
16640         * lib/unictype/categ_Mc.h: Likewise.
16641         * lib/unictype/categ_Me.h: Likewise.
16642         * lib/unictype/categ_Mn.h: Likewise.
16643         * lib/unictype/categ_N.h: Likewise.
16644         * lib/unictype/categ_Nd.h: Likewise.
16645         * lib/unictype/categ_Nl.h: Likewise.
16646         * lib/unictype/categ_No.h: Likewise.
16647         * lib/unictype/categ_P.h: Likewise.
16648         * lib/unictype/categ_Pc.h: Likewise.
16649         * lib/unictype/categ_Pd.h: Likewise.
16650         * lib/unictype/categ_Pe.h: Likewise.
16651         * lib/unictype/categ_Pf.h: Likewise.
16652         * lib/unictype/categ_Pi.h: Likewise.
16653         * lib/unictype/categ_Po.h: Likewise.
16654         * lib/unictype/categ_Ps.h: Likewise.
16655         * lib/unictype/categ_S.h: Likewise.
16656         * lib/unictype/categ_Sc.h: Likewise.
16657         * lib/unictype/categ_Sk.h: Likewise.
16658         * lib/unictype/categ_Sm.h: Likewise.
16659         * lib/unictype/categ_So.h: Likewise.
16660         * lib/unictype/categ_Z.h: Likewise.
16661         * lib/unictype/categ_Zl.h: Likewise.
16662         * lib/unictype/categ_Zp.h: Likewise.
16663         * lib/unictype/categ_Zs.h: Likewise.
16664         * lib/unictype/categ_of.h: Likewise.
16665         * lib/unictype/combining.h: Likewise.
16666         * lib/unictype/ctype_alnum.h: Likewise.
16667         * lib/unictype/ctype_alpha.h: Likewise.
16668         * lib/unictype/ctype_blank.h: Likewise.
16669         * lib/unictype/ctype_cntrl.h: Likewise.
16670         * lib/unictype/ctype_digit.h: Likewise.
16671         * lib/unictype/ctype_graph.h: Likewise.
16672         * lib/unictype/ctype_lower.h: Likewise.
16673         * lib/unictype/ctype_print.h: Likewise.
16674         * lib/unictype/ctype_punct.h: Likewise.
16675         * lib/unictype/ctype_space.h: Likewise.
16676         * lib/unictype/ctype_upper.h: Likewise.
16677         * lib/unictype/ctype_xdigit.h: Likewise.
16678         * lib/unictype/decdigit.h: Likewise.
16679         * lib/unictype/digit.h: Likewise.
16680         * lib/unictype/mirror.h: Likewise.
16681         * lib/unictype/numeric.h: Likewise.
16682         * lib/unictype/pr_alphabetic.h: Likewise.
16683         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
16684         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
16685         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
16686         * lib/unictype/pr_bidi_block_separator.h: Likewise.
16687         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
16688         * lib/unictype/pr_bidi_common_separator.h: Likewise.
16689         * lib/unictype/pr_bidi_control.h: Likewise.
16690         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
16691         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
16692         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
16693         * lib/unictype/pr_bidi_european_digit.h: Likewise.
16694         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
16695         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
16696         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
16697         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
16698         * lib/unictype/pr_bidi_pdf.h: Likewise.
16699         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
16700         * lib/unictype/pr_bidi_whitespace.h: Likewise.
16701         * lib/unictype/pr_combining.h: Likewise.
16702         * lib/unictype/pr_composite.h: Likewise.
16703         * lib/unictype/pr_currency_symbol.h: Likewise.
16704         * lib/unictype/pr_dash.h: Likewise.
16705         * lib/unictype/pr_decimal_digit.h: Likewise.
16706         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
16707         * lib/unictype/pr_deprecated.h: Likewise.
16708         * lib/unictype/pr_diacritic.h: Likewise.
16709         * lib/unictype/pr_extender.h: Likewise.
16710         * lib/unictype/pr_format_control.h: Likewise.
16711         * lib/unictype/pr_grapheme_base.h: Likewise.
16712         * lib/unictype/pr_grapheme_extend.h: Likewise.
16713         * lib/unictype/pr_grapheme_link.h: Likewise.
16714         * lib/unictype/pr_hex_digit.h: Likewise.
16715         * lib/unictype/pr_hyphen.h: Likewise.
16716         * lib/unictype/pr_id_continue.h: Likewise.
16717         * lib/unictype/pr_id_start.h: Likewise.
16718         * lib/unictype/pr_ideographic.h: Likewise.
16719         * lib/unictype/pr_ids_binary_operator.h: Likewise.
16720         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
16721         * lib/unictype/pr_ignorable_control.h: Likewise.
16722         * lib/unictype/pr_iso_control.h: Likewise.
16723         * lib/unictype/pr_join_control.h: Likewise.
16724         * lib/unictype/pr_left_of_pair.h: Likewise.
16725         * lib/unictype/pr_line_separator.h: Likewise.
16726         * lib/unictype/pr_logical_order_exception.h: Likewise.
16727         * lib/unictype/pr_lowercase.h: Likewise.
16728         * lib/unictype/pr_math.h: Likewise.
16729         * lib/unictype/pr_non_break.h: Likewise.
16730         * lib/unictype/pr_not_a_character.h: Likewise.
16731         * lib/unictype/pr_numeric.h: Likewise.
16732         * lib/unictype/pr_other_alphabetic.h: Likewise.
16733         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
16734         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
16735         * lib/unictype/pr_other_id_continue.h: Likewise.
16736         * lib/unictype/pr_other_id_start.h: Likewise.
16737         * lib/unictype/pr_other_lowercase.h: Likewise.
16738         * lib/unictype/pr_other_math.h: Likewise.
16739         * lib/unictype/pr_other_uppercase.h: Likewise.
16740         * lib/unictype/pr_paired_punctuation.h: Likewise.
16741         * lib/unictype/pr_paragraph_separator.h: Likewise.
16742         * lib/unictype/pr_pattern_syntax.h: Likewise.
16743         * lib/unictype/pr_pattern_white_space.h: Likewise.
16744         * lib/unictype/pr_private_use.h: Likewise.
16745         * lib/unictype/pr_punctuation.h: Likewise.
16746         * lib/unictype/pr_quotation_mark.h: Likewise.
16747         * lib/unictype/pr_radical.h: Likewise.
16748         * lib/unictype/pr_sentence_terminal.h: Likewise.
16749         * lib/unictype/pr_soft_dotted.h: Likewise.
16750         * lib/unictype/pr_space.h: Likewise.
16751         * lib/unictype/pr_terminal_punctuation.h: Likewise.
16752         * lib/unictype/pr_titlecase.h: Likewise.
16753         * lib/unictype/pr_unassigned_code_value.h: Likewise.
16754         * lib/unictype/pr_unified_ideograph.h: Likewise.
16755         * lib/unictype/pr_uppercase.h: Likewise.
16756         * lib/unictype/pr_variation_selector.h: Likewise.
16757         * lib/unictype/pr_white_space.h: Likewise.
16758         * lib/unictype/pr_xid_continue.h: Likewise.
16759         * lib/unictype/pr_xid_start.h: Likewise.
16760         * lib/unictype/pr_zero_width.h: Likewise.
16761         * lib/unictype/scripts.h: Likewise.
16762         * lib/unictype/scripts_byname.gperf: Likewise.
16763         * lib/unictype/sy_c_ident.h: Likewise.
16764         * lib/unictype/sy_c_whitespace.h: Likewise.
16765         * lib/unictype/sy_java_ident.h: Likewise.
16766         * lib/unictype/sy_java_whitespace.h: Likewise.
16767
16768         * lib/unictype/Makefile: New file.
16769         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
16770         glibc.
16771         * lib/unictype/3level.h: New file, copied from glibc.
16772         * lib/unictype/3levelbit.h: New file.
16773
16774 2007-11-11  Bruno Haible  <bruno@clisp.org>
16775
16776         * modules/gperf: New file.
16777         * modules/iconv_open (Depends-on): Add it.
16778         (Makefile.am): Remove the GPERF definition.
16779
16780 2007-11-11  Bruno Haible  <bruno@clisp.org>
16781
16782         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
16783         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
16784
16785 2007-11-11  Bruno Haible  <bruno@clisp.org>
16786
16787         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
16788         (usage): Remove function.
16789
16790 2007-11-11  Bruno Haible  <bruno@clisp.org>
16791
16792         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
16793         gl_FUNC_CEILF_LIBS.
16794         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
16795         gl_FUNC_CEIL_LIBS.
16796         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
16797         gl_FUNC_CEILL_LIBS.
16798         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
16799         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
16800         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
16801
16802 2007-11-11  Bruno Haible  <bruno@clisp.org>
16803
16804         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
16805         roundf were declared but do not exist on functions.
16806         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
16807         roundl were declared but do not exist on functions.
16808         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
16809         HAVE_FLOORL_AND_CEILL, respectively.
16810         Needed for Sun C on Solaris 10.
16811
16812 2007-11-11  Bruno Haible  <bruno@clisp.org>
16813
16814         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
16815         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
16816         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
16817         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
16818         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
16819         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
16820         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
16821         HAVE_DECL_ROUNDF.
16822         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
16823         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
16824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
16825         of HAVE_DECL_ROUND*.
16826         * modules/math (Makefile.am): Update.
16827
16828 2007-11-10  Bruno Haible  <bruno@clisp.org>
16829
16830         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
16831         ptrdiff_t as m4/intl.m4.
16832
16833 2007-11-10  Jim Meyering  <meyering@redhat.com>
16834
16835         Avoid link failure for the argmatch test.
16836         * tests/test-argmatch.c (usage): Define function to avoid a link
16837         failure: argmatch_die requires a usage function.
16838
16839 2007-11-09  Bruno Haible  <bruno@clisp.org>
16840
16841         * doc/functions/snprintf.texi: Mention BeOS deficiency.
16842         * doc/functions/vsnprintf.texi: Likewise.
16843         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
16844         with a size argument < 2.
16845
16846 2007-11-09  Bruno Haible  <bruno@clisp.org>
16847
16848         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
16849         buffer. Fixes an inefficiency introduced on 2007-11-03.
16850
16851 2007-11-09  Bruno Haible  <bruno@clisp.org>
16852
16853         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
16854         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
16855
16856 2007-11-08  Jim Meyering  <meyering@redhat.com>
16857
16858         Change cache variable name prefix "jm_" to "gl_" everywhere.
16859         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
16860         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
16861         * m4/uptime.m4: s/gl_/jm_/
16862
16863 2007-11-07  Bruno Haible  <bruno@clisp.org>
16864
16865         Update to GNU gettext 0.17.
16866         * m4/intl.m4: Update to GNU gettext 0.17.
16867         * m4/po.m4: Likewise.
16868         * modules/gettext (Files): Remove m4/ulonglong.m4.
16869         (configure.ac): Require gettext infrastructure from version 0.17.
16870
16871 2007-11-06  Bruno Haible  <bruno@clisp.org>
16872
16873         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
16874         symbolic values are not defined in a public header.
16875         * lib/freadable.c (freadable) [QNX]: Likewise.
16876         * lib/freadahead.c (freadahead) [QNX]: Likewise.
16877         * lib/freading.c (freading) [QNX]: Likewise.
16878         * lib/fseterr.c (fseterr) [QNX]: Likewise.
16879         * lib/fwritable.c (fwritable) [QNX]: Likewise.
16880         * lib/fwriting.c (fwriting) [QNX]: Likewise.
16881         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
16882         Reported by Alain Magloire.
16883
16884         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
16885
16886 2007-11-05  Bruno Haible  <bruno@clisp.org>
16887
16888         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
16889         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
16890         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
16891         Reported by Eric Blake.
16892
16893 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16894             Bruno Haible  <bruno@clisp.org>
16895
16896         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
16897         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
16898         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
16899         (malloc): Undefine also before including <stdlib.h>.
16900         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
16901         Needed on OSF/1 4.0.
16902
16903 2007-11-05  Jim Meyering  <meyering@redhat.com>
16904
16905         git-version-gen: sync from coreutils.
16906         * build-aux/git-version-gen: Add comments.
16907         Change the first '-' to '.' in the snapshot version string,
16908         e.g., 6.9-377-08144 -> 6.9.377-08144
16909         Remove first parameter.
16910         Don't declare a version "-dirty" merely because a time
16911         stamp has changed.
16912
16913 2007-11-04  Bruno Haible  <bruno@clisp.org>
16914
16915         * lib/lock.h: Protect all macro definitions containing an 'if'
16916         statement through a "do { ... } while (0)".
16917         * lib/tls.h: Likewise.
16918
16919 2007-11-04  Bruno Haible  <bruno@clisp.org>
16920
16921         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
16922
16923 2007-11-04  Bruno Haible  <bruno@clisp.org>
16924
16925         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
16926         * modules/fprintf-posix (Depends-on): Add nocrash.
16927         * modules/snprintf-posix (Depends-on): Likewise.
16928         * modules/sprintf-posix (Depends-on): Likewise.
16929         * modules/vasnprintf-posix (Depends-on): Likewise.
16930         * modules/vasprintf-posix (Depends-on): Likewise.
16931         * modules/vfprintf-posix (Depends-on): Likewise.
16932         * modules/vsnprintf-posix (Depends-on): Likewise.
16933         * modules/vsprintf-posix (Depends-on): Likewise.
16934         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
16935         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16936         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16937         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16938         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16939         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16940         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16941
16942 2007-11-04  Bruno Haible  <bruno@clisp.org>
16943
16944         * modules/nocrash: New file.
16945         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
16946         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
16947
16948 2007-11-04  Bruno Haible  <bruno@clisp.org>
16949
16950         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
16951         precision handling.
16952         * tests/test-vasprintf-posix.c (test_function): Likewise.
16953         * tests/test-snprintf-posix.h (test_function): Likewise.
16954         * tests/test-sprintf-posix.h (test_function): Likewise.
16955
16956         Fix *printf behaviour for large precisions on mingw and BeOS.
16957         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
16958         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
16959         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
16960         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
16961         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
16962         gl_PRINTF_PRECISION and test its result. Invoke
16963         gl_PREREQ_VASNPRINTF_PRECISION.
16964         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
16965         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
16966         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
16967         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
16968         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
16969         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
16970         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
16971         * doc/functions/fprintf.texi: Update.
16972         * doc/functions/printf.texi: Update.
16973         * doc/functions/snprintf.texi: Update.
16974         * doc/functions/sprintf.texi: Update.
16975         * doc/functions/vfprintf.texi: Update.
16976         * doc/functions/vprintf.texi: Update.
16977         * doc/functions/vsnprintf.texi: Update.
16978         * doc/functions/vsprintf.texi: Update.
16979
16980 2007-11-04  Bruno Haible  <bruno@clisp.org>
16981
16982         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
16983
16984 2007-11-04  Bruno Haible  <bruno@clisp.org>
16985
16986         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
16987         Reported by Sylvain Beucler <beuc@gnu.org>.
16988
16989 2007-11-03  Bruno Haible  <bruno@clisp.org>
16990
16991         * tests/test-fprintf-posix2.sh: New file.
16992         * tests/test-fprintf-posix2.c: New file.
16993         * modules/fprintf-posix-tests (Files): Add them.
16994         (TESTS): Add test-fprintf-posix2.sh.
16995         (configure.ac): Check for getrlimit and setrlimit.
16996         (check_PROGRAMS): Add test-fprintf-posix2.
16997
16998         * tests/test-printf-posix2.sh: New file.
16999         * tests/test-printf-posix2.c: New file.
17000         * modules/printf-posix-tests (Files): Add them.
17001         (TESTS): Add test-printf-posix2.sh.
17002         (configure.ac): Check for getrlimit and setrlimit.
17003         (check_PROGRAMS): Add test-printf-posix2.
17004
17005         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
17006         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
17007         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
17008         (decode_double): New function, copied from decode_long_double.
17009         (scale10_round_decimal_decoded): New function, extracted from
17010         scale10_round_decimal_long_double.
17011         (scale10_round_decimal_long_double): Use it.
17012         (scale10_round_decimal_double): New function.
17013         (floorlog10): New function.
17014         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
17015         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
17016         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
17017         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
17018         gl_PRINTF_ENOMEM and test its result. Invoke
17019         gl_PREREQ_VASNPRINTF_ENOMEM.
17020         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
17021         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
17022         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
17023         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
17024         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
17025         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17026         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
17027         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
17028         * modules/snprintf-posix (Depends-on): Likewise.
17029         * modules/sprintf-posix (Depends-on): Likewise.
17030         * modules/vasnprintf-posix (Depends-on): Likewise.
17031         * modules/vasprintf-posix (Depends-on): Likewise.
17032         * modules/vfprintf-posix (Depends-on): Likewise.
17033         * modules/vsnprintf-posix (Depends-on): Likewise.
17034         * modules/vsprintf-posix (Depends-on): Likewise.
17035         * doc/functions/fprintf.texi: Update.
17036         * doc/functions/printf.texi: Update.
17037         * doc/functions/snprintf.texi: Update.
17038         * doc/functions/sprintf.texi: Update.
17039         * doc/functions/vfprintf.texi: Update.
17040         * doc/functions/vprintf.texi: Update.
17041         * doc/functions/vsnprintf.texi: Update.
17042         * doc/functions/vsprintf.texi: Update.
17043
17044 2007-11-03  Bruno Haible  <bruno@clisp.org>
17045
17046         * modules/frexp-nolibm-tests: New file.
17047
17048         * modules/frexp-nolibm: New file.
17049         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
17050
17051 2007-11-03  Bruno Haible  <bruno@clisp.org>
17052
17053         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
17054         value is C99 compliant.
17055         Needed for OSF/1 5.1.
17056
17057 2007-11-03  Bruno Haible  <bruno@clisp.org>
17058
17059         Fix out-of-memory handling of vasnprintf.
17060         * lib/printf-parse.c: Include <errno.h>.
17061         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
17062         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
17063         is already set.
17064
17065 2007-11-02  Eric Blake  <ebb9@byu.net>
17066
17067         Fix tests on cygwin.
17068         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
17069
17070 2007-11-01  Bruno Haible  <bruno@clisp.org>
17071
17072         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
17073         warning.
17074         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
17075         needed for POSIX compatibility.
17076
17077 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
17078
17079         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
17080         for compatibility with GNU.
17081
17082 2007-11-01  Bruno Haible  <bruno@clisp.org>
17083
17084         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
17085         (putenv): Renamed from rpl_putenv. Change argument type from
17086         'const char *' to 'char *'.
17087         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
17088         of defining putenv in config.h, just set REPLACE_PUTENV.
17089         * modules/putenv (Depends-on): Add stdlib.
17090         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17091         (Include): Use <stdlib.h>.
17092         * lib/stdlib.in.h (putenv): New declaration.
17093         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
17094         REPLACE_PUTENV.
17095         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
17096         REPLACE_PUTENV.
17097         Needed for MacOS X 10.5.0.
17098         Reported by Peter O'Gorman <peter@pogma.com>.
17099
17100 2007-11-01  Jim Meyering  <meyering@redhat.com>
17101
17102         Treat an empty date string exactly like "0".
17103         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
17104         if the remaining date string (to be parsed) is empty, use "0".
17105         Reported by Mischa Molhoek and discussed in this thread:
17106         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
17107
17108 2007-10-31  Bruno Haible  <bruno@clisp.org>
17109
17110         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
17111         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
17112         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
17113         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
17114         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
17115         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
17116
17117 2007-10-31  Bruno Haible  <bruno@clisp.org>
17118
17119         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
17120         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
17121         (AC_TYPE_LONG_LONG_INT): Use it.
17122         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
17123         it as well.
17124         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
17125         to m4/longlong.m4.
17126         * modules/stdint (Files): Remove m4/ulonglong.m4.
17127         * modules/strtoull (Files): Use m4/longlong.m4 instead of
17128         m4/ulonglong.m4.
17129         * modules/strtoumax (Files): Likewise.
17130
17131 2007-10-30  Bruno Haible  <bruno@clisp.org>
17132
17133         * modules/xvasprintf-posix: New file.
17134         Suggested by Eric Blake.
17135
17136 2007-10-30  Bruno Haible  <bruno@clisp.org>
17137
17138         * modules/xprintf-posix-tests: New file.
17139         * tests/test-xprintf-posix.sh: New file.
17140         * tests/test-xprintf-posix.c: New file.
17141         * tests/test-xfprintf-posix.c: New file.
17142
17143         * modules/xprintf-posix: New file.
17144
17145 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17146
17147         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
17148         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
17149         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
17150
17151 2007-10-29  Bruno Haible  <bruno@clisp.org>
17152
17153         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
17154         contain the special marker '_cv_'.
17155         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
17156         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
17157         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
17158         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
17159         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
17160         Reported by Ralf Wildenhues.
17161
17162 2007-10-29  Bruno Haible  <bruno@clisp.org>
17163
17164         * gnulib-tool (func_import): When --lgpl is not specified, set
17165         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
17166         GPLv3.
17167         Reported by Simon Josefsson.
17168
17169 2007-10-28  Bruno Haible  <bruno@clisp.org>
17170
17171         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
17172         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
17173         HAVE_DECL_ISFINITE.
17174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
17175         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
17176         HAVE_DECL_ISFINITE.
17177
17178 2007-10-28  Bruno Haible  <bruno@clisp.org>
17179
17180         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
17181         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
17182
17183 2007-10-28  Bruno Haible  <bruno@clisp.org>
17184
17185         Fix link errors with Sun C 5.0 on Solaris 10.
17186         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
17187         function is declared but not present in the compiler's libm.
17188         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
17189         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
17190         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
17191         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
17192         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
17193         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
17194         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
17195         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
17196         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
17197         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
17198         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
17199         HAVE_DECL_FLOORL.
17200
17201 2007-10-28  Bruno Haible  <bruno@clisp.org>
17202
17203         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
17204         gl_FUNC_FLOORL. Cache the result.
17205         (gl_FUNC_FLOORL): Use it.
17206         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
17207         gl_FUNC_CEILL. Cache the result.
17208         (gl_FUNC_CEILL): Use it.
17209
17210         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
17211         gl_FUNC_FLOOR. Cache the result.
17212         (gl_FUNC_FLOOR): Use it.
17213         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
17214         gl_FUNC_CEIL. Cache the result.
17215         (gl_FUNC_CEIL): Use it.
17216
17217         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
17218         gl_FUNC_FLOORF. Cache the result.
17219         (gl_FUNC_FLOORF): Use it.
17220         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
17221         gl_FUNC_CEILF. Cache the result.
17222         (gl_FUNC_CEILF): Use it.
17223
17224 2007-10-28  Bruno Haible  <bruno@clisp.org>
17225
17226         * gnulib-tool: Allow specifying the LGPL version number through
17227         --lgpl=2 or --lgpl=3.
17228         (func_usage): Document --lgpl with argument.
17229         Handle --lgpl=... arguments.
17230         (func_import): Recognize also gl_LGPL calls with an argument. When
17231         --lgpl=2 is used and the module's license is just LGPL, report an
17232         error. Set sed_transform_lib_file according to the lgpl variable. In
17233         the generated files, use --lgpl or gl_LGPL invocations with argument,
17234         if necessary.
17235         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
17236         an LGPv2+ license.
17237         * doc/gnulib-tool.texi (Modified imports): Update explanation of
17238         gl_LGPL macro.
17239
17240 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17241             Bruno Haible  <bruno@clisp.org>
17242
17243         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
17244         (u16_uctomb_aux): Likewise.
17245         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
17246         !HAVE_INLINE.
17247         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
17248
17249 2007-10-28  Bruno Haible  <bruno@clisp.org>
17250
17251         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
17252         Invoke AM_GETTEXT_OPTION if it exists.
17253         * modules/vasprintf: Likewise.
17254         * modules/verror: Likewise.
17255         * modules/xprintf: Likewise.
17256         * modules/xvasprintf: Likewise.
17257
17258 2007-10-27  Ben Pfaff  <blp@gnu.org>
17259
17260         * lib/math.in.h: Define isfinite macro and prototypes for
17261         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
17262         implementations.
17263         * m4/math_h.m4: New substitutions for isfinite module.
17264         * lib/isfinite.c: New file.
17265         * m4/isfinite.m4: New file.
17266         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
17267         * modules/isfinite: New file.
17268         * modules/isfinite-tests: New file.
17269         * tests/tests-isfinite.c: New file.
17270         * doc/functions/isfinite.texi: Mention isfinite module.
17271         * MODULES.html.sh: Mention new module.
17272
17273 2007-10-27  Ben Pfaff  <blp@gnu.org>
17274
17275         Ralf Wildenhues reported that Tru64 4.0D declares the round
17276         functions but does not have definitions.
17277         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
17278         cannot be found in any library, set the output variable to
17279         "missing" instead of "".
17280         * m4/round.m4: Also use our substitute if we cannot find round in
17281         any library, even if it is declared.
17282         * m4/roundf.m4: Likewise for roundf.
17283         * m4/roundl.m4: Likewise for roundl.
17284         * lib/math.in.h: Undefine roundf, round, roundl before defining
17285         their replacements, to allow for hypothetical systems where these
17286         may be defined as macros but not available in libraries.
17287
17288 2007-10-27  Bruno Haible  <bruno@clisp.org>
17289
17290         * doc/gnulib.texi: Invoke @firstparagraphindent.
17291         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
17292         changes in gnulib.
17293         (Source changes): New section.
17294
17295 2007-10-26  Bruno Haible  <bruno@clisp.org>
17296
17297         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
17298         borrowed from autoconf.
17299
17300 2007-10-26  Bruno Haible  <bruno@clisp.org>
17301
17302         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
17303         strerror returned the empty string. Needed on HP-UX 11.00.
17304
17305 2007-10-24  Micah Cowan  <micah@cowan.name>
17306
17307         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
17308         * build-aux/bootstrap: Remove support for now-unnecessary option,
17309         --cvs-user, and envvars CVS_USER, CVS_RSH.
17310
17311 2007-10-24  Jim Meyering  <meyering@redhat.com>
17312
17313         Avoid diagnostics from sha1sum when there is no cached checksum.
17314         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
17315         if the po.s1 file hasn't been created yet.
17316
17317         * build-aux/bootstrap: Sync from coreutils:
17318         2007-10-24  Jim Meyering  <meyering@redhat.com>
17319         Get gnulib from the git repository, not from an obsolete cvs one.
17320         * build-aux/bootstrap: Suggestion from Micah Cowan.
17321         2007-10-04  Jim Meyering  <jim@meyering.net>
17322         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
17323         (update_po_files): Work also when there are no .po files in po/.
17324
17325 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
17326
17327         * README: Append ".git" to git and cg examples.
17328         Problem reported by Benoit Sigoure.
17329
17330 2007-10-23  Micah Cowan  <micah@cowan.name>
17331
17332         * users.txt: Add wget.
17333
17334 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17335
17336         Fix linking of some unistdio tests on FreeBSD.
17337         * modules/unistdio/u16-vsnprintf-tests
17338         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
17339         * modules/unistdio/u16-vsprintf-tests
17340         (test_u16_vsnprintf1_LDADD): Likewise.
17341         * modules/unistdio/u32-vsnprintf-tests
17342         (test_u32_vsnprintf1_LDADD): Likewise.
17343         * modules/unistdio/u32-vsprintf-tests
17344         (test_u32_vsprintf1_LDADD): Likewise.
17345         * modules/unistdio/u8-vsnprintf-tests
17346         (test_u8_vsnprintf1_LDADD): Likewise.
17347         * modules/unistdio/u8-vsprintf-tests
17348         (test_u8_vsprintf1_LDADD): Likewise.
17349         * modules/unistdio/ulc-vsnprintf-tests
17350         (test_ulc_vsnprintf1_LDADD): Likewise.
17351         * modules/unistdio/ulc-vsprintf-tests
17352         (test_ulc_vsprintf1_LDADD): Likewise.
17353
17354         Fix linking of some uniconv tests on FreeBSD.
17355         * modules/uniconv/u16-conv-from-enc-tests
17356         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
17357         * modules/uniconv/u16-conv-to-enc-tests
17358         (test_u16_conv_to_enc_LDADD): Likewise.
17359         * modules/uniconv/u16-strconv-from-enc-tests
17360         (test_u16_strconv_from_enc_LDADD): Likewise.
17361         * modules/uniconv/u16-strconv-to-enc-tests
17362         (test_u16_strconv_to_enc_LDADD): Likewise.
17363         * modules/uniconv/u32-conv-from-enc-tests
17364         (test_u32_conv_from_enc_LDADD): Likewise.
17365         * modules/uniconv/u32-conv-to-enc-tests
17366         (test_u32_conv_to_enc_LDADD): Likewise.
17367         * modules/uniconv/u32-strconv-from-enc-tests
17368         (test_u32_strconv_from_enc_LDADD): Likewise.
17369         * modules/uniconv/u32-strconv-to-enc-tests
17370         (test_u32_strconv_to_enc_LDADD): Likewise.
17371         * modules/uniconv/u8-conv-from-enc-tests
17372         (test_u8_conv_from_enc_LDADD): Likewise.
17373         * modules/uniconv/u8-conv-to-enc-tests
17374         (test_u8_conv_to_enc_LDADD): Likewise.
17375         * modules/uniconv/u8-strconv-from-enc-tests
17376         (test_u8_strconv_from_enc_LDADD): Likewise.
17377         * modules/uniconv/u8-strconv-to-enc-tests
17378         (test_u8_strconv_to_enc_LDADD): Likewise.
17379
17380 2007-10-22  Bruno Haible  <bruno@clisp.org>
17381
17382         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
17383         size.
17384
17385 2007-10-22  Eric Blake  <ebb9@byu.net>
17386
17387         Tweak x*printf documentation.
17388         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
17389         variable name and comments.
17390         Suggested by Bruno Haible.
17391
17392 2007-10-22  Bruno Haible  <bruno@clisp.org>
17393
17394         * lib/acl.c (copy_acl): Fix file name in comment.
17395
17396 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
17397
17398         Fix Tru64 problem with stdbool.h.
17399         * lib/stdbool.in.h (false, true):
17400         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
17401         Don't declare as an enum in this situation; it runs afoul of Tru64.
17402         Problem reported by Steven M. Schweda in
17403         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
17404
17405 2007-10-22  Eric Blake  <ebb9@byu.net>
17406
17407         Also wrap vf?printf.
17408         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
17409         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
17410         (xvprintf, xvfprintf): New functions.
17411
17412 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17413
17414         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
17415         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
17416
17417         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
17418         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
17419
17420 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
17421
17422         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
17423         by Bruno Haible.
17424
17425 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17426
17427         * lib/getloadavg.c
17428         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
17429         Undef `sys' after including sys/table.h, for Tru64 4.0D.
17430
17431         * tests/test-i-ring.c: Work for C89.
17432
17433 2007-10-22  Bruno Haible  <bruno@clisp.org>
17434
17435         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
17436         -1u, in preprocessor expression, so that we don't test for the bug
17437         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
17438         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
17439
17440 2007-10-22  Eric Blake  <ebb9@byu.net>
17441
17442         * tests/test-yesno.sh: Silence stderr during test.
17443
17444 2007-10-22  Simon Josefsson  <simon@josefsson.org>
17445
17446         * modules/crypto/gc-camellia: New file.
17447
17448         * m4/gc-camellia.m4: New file.
17449
17450         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
17451
17452         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
17453
17454 2007-10-22  Simon Josefsson  <simon@josefsson.org>
17455
17456         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
17457         --help to stdout.  Reported by sms@antinode.org (Steven
17458         M. Schweda).
17459
17460 2007-10-22  Simon Josefsson  <simon@josefsson.org>
17461
17462         * users.txt: Fix link to libksba.
17463
17464 2007-10-21  Ben Pfaff  <blp@gnu.org>
17465
17466         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
17467         round.c roundf implementation that depends on floorf and ceilf to
17468         be tested unconditionally.
17469
17470 2007-10-21  Ben Pfaff  <blp@gnu.org>
17471
17472         * m4/check-libm-func.m4: Removed.
17473         * m4/check-math-lib.m4: New file.
17474         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
17475         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
17476         definition and lack of AC_LIBOBJ([roundf]).
17477         * m4/roundl.m4: Ditto, and similarly for roundl.
17478         * modules/round: Reference new m4 file.
17479         * modules/roundf: Ditto.
17480         * modules/roundl: Ditto.
17481         * tests/test-round2.c (main): Use ROUND instead of round.
17482         Bug report from Bruno Haible.
17483
17484 2007-10-21  Bruno Haible  <bruno@clisp.org>
17485
17486         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
17487         context.
17488
17489 2007-10-21  Bruno Haible  <bruno@clisp.org>
17490
17491         * tests/test-wcwidth.c (main): Allow negative result for some control
17492         characters.
17493
17494         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
17495         Needed on OSF/1 5.1.
17496
17497 2007-10-21  Bruno Haible  <bruno@clisp.org>
17498
17499         * tests/test-floorf1.c: Include isnanf.h.
17500         (main): Use isnanf() instead of isnan().
17501         * tests/test-ceilf1.c: Include isnanf.h.
17502         (main): Use isnanf() instead of isnan().
17503         * tests/test-truncf1.c: Include isnanf.h.
17504         (main): Use isnanf() instead of isnan().
17505         * tests/test-roundf1.c: Include isnanf.h.
17506         (main): Use isnanf() instead of isnan().
17507
17508 2007-10-21  Eric Blake  <ebb9@byu.net>
17509
17510         * users.txt: Update URL for m4.
17511
17512 2007-10-21  Bruno Haible  <bruno@clisp.org>
17513
17514         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
17515
17516 2007-10-21  Bruno Haible  <bruno@clisp.org>
17517
17518         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
17519         Git's management files if the CVS files are not present.
17520
17521 2007-10-20  Bruno Haible  <bruno@clisp.org>
17522
17523         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
17524         gcc-3.4.x.
17525
17526 2007-10-20  Ben Pfaff  <blp@gnu.org>
17527
17528         * lib/math.in.h: Declare round, roundf, roundl if we are providing
17529         implementations.
17530         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
17531         * lib/round.c: New file.
17532         * lib/roundf.c: New file.
17533         * lib/roundl.c: New file.
17534         * m4/round.m4: New file.
17535         * m4/roundf.m4: New file.
17536         * m4/roundl.m4: New file.
17537         * m4/check-libm-func-m4: New file.
17538         * modules/math: Replace round, roundf, roundl related @VARS@ in
17539         math.in.h.
17540         * modules/round: New file.
17541         * modules/round-tests: New file.
17542         * modules/roundf: New file.
17543         * modules/roundf-tests: New file.
17544         * modules/roundl: New file.
17545         * modules/roundl-tests: New file.
17546         * tests/test-round1.c: New file.
17547         * tests/test-round2.c: New file.
17548         * tests/test-roundf1.c: New file.
17549         * tests/test-roundf2.c: New file.
17550         * tests/test-roundl.c: New file.
17551         * doc/functions/round.texi: Mention round module.
17552         * doc/functions/roundf.texi: Mention roundf module.
17553         * doc/functions/roundl.texi: Mention roundl module.
17554         * MODULES.html.sh: Mention new modules.
17555         Thanks to Bruno Haible for suggestions.
17556
17557 2007-10-20  Jim Meyering  <meyering@redhat.com>
17558
17559         * lib/xprintf.c: Include <config.h> unconditionally.
17560
17561         Change xprintf's license to GPL.
17562         * modules/xprintf (License): s/LGPL/GPL/, since this module
17563         depends on modules (exit and exitfail) which are GPL.
17564         Suggestion from Bruno Haible.
17565
17566         xprintf fixes.
17567         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
17568         Use a clearer diagnostic.
17569         Patch from Bruno Haible.
17570
17571 2007-10-20  Bruno Haible  <bruno@clisp.org>
17572
17573         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
17574         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
17575         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17576
17577 2007-10-20  Bruno Haible  <bruno@clisp.org>
17578
17579         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
17580         precision in the comparison result > x - 1 or similar.
17581         * tests/test-ceilf2.c (correct_result_p): Likewise.
17582         * tests/test-truncf2.c (correct_result_p): Likewise.
17583         * tests/test-trunc2.c (correct_result_p): Likewise.
17584         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17585
17586 2007-10-20  Bruno Haible  <bruno@clisp.org>
17587
17588         * modules/ceil: New file.
17589         * m4/ceil.m4: New file.
17590         * doc/functions/ceil.texi: Mention the 'ceil' module.
17591
17592 2007-10-20  Bruno Haible  <bruno@clisp.org>
17593
17594         * modules/floor: New file.
17595         * m4/floor.m4: New file.
17596         * doc/functions/floor.texi: Mention the 'floor' module.
17597
17598 2007-10-20  Bruno Haible  <bruno@clisp.org>
17599
17600         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
17601         of %a.
17602         * modules/floorf-tests (Depends-on): Likewise.
17603         * modules/truncf-tests (Depends-on): Likewise.
17604         * modules/trunc-tests (Depends-on): Likewise.
17605         Reported by Ben Pfaff.
17606
17607 2007-10-19  Jim Meyering  <meyering@redhat.com>
17608
17609         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
17610         Don't bother testing specific errno values.  Just test ferror.
17611
17612         New module: xprintf
17613         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
17614
17615 2007-10-19  Bruno Haible  <bruno@clisp.org>
17616
17617         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
17618         syntax.
17619         * modules/javaexec (Makefile.am): Likewise.
17620         * modules/relocatable-prog (Makefile.am): Likewise.
17621         Suggested by Jim Meyering.
17622
17623 2007-10-18  Bruno Haible  <bruno@clisp.org>
17624
17625         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
17626         Reported by Jim Meyering.
17627
17628 2007-10-18  Eric Blake  <ebb9@byu.net>
17629
17630         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
17631
17632 2007-10-18  Bruno Haible  <bruno@clisp.org>
17633
17634         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
17635         the format string into writable memory. Needed in Fortify conditions.
17636
17637 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
17638             Bruno Haible  <bruno@clisp.org>
17639
17640         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
17641         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
17642         * modules/trim (Depends-on): Add mbchar.
17643         (configure.ac): Add gl_FUNC_MBRTOWC.
17644         (Makefile.am): Augment lib_SOURCES.
17645
17646 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
17647
17648         Modify glob.c to use fstatat and dirfd, to simplify it.
17649         Suggested by Eric Blake.
17650         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
17651         Don't include <stdbool.h>; not used.
17652         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
17653         (link_exists_p): Simplify implementation, since we can now assume
17654         dirfd and fstatat.
17655         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
17656
17657 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17658
17659         * gnulib-tool (func_get_dependencies): Fix sed script to
17660         match only tests.
17661
17662 2007-10-17  Bruno Haible  <bruno@clisp.org>
17663
17664         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
17665         allow locale names without encoding suffix.
17666         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
17667         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
17668
17669 2007-10-16  Bruno Haible  <bruno@clisp.org>
17670
17671         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
17672         * lib/getgroups.c (getgroups): Likewise.
17673         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
17674
17675 2007-10-16  Bruno Haible  <bruno@clisp.org>
17676
17677         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
17678         * modules/malloc-posix (License): Likewise.
17679         * modules/realloc-posix (License): Likewise.
17680         * modules/calloc-posix (License): Likewise.
17681         * modules/intprops (License): Change from GPL to LGPL, with
17682         Paul Eggert's approval.
17683
17684 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17685
17686         Merge glibc changes into lib/glob.c.
17687
17688         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
17689         2007-10-15 04:59:03 UTC.  Here are the changes:
17690
17691         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
17692
17693         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
17694
17695         * lib/glob.c: Add some branch prediction throughout.
17696
17697         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
17698
17699         [BZ #5103]
17700         * lib/glob.c (glob): Recognize patterns starting \/.
17701
17702         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
17703
17704         [BZ #3996]
17705         * lib/glob.c (attribute_hidden): Define if not defined.
17706         (glob): Unescape dirname, filename or username when needed and not
17707         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
17708         is NULL.  Handle unescaped [ in pattern without closing ].
17709         Don't pass GLOB_CHECK down to recursive glob for directories.
17710         (__glob_pattern_type): New function.
17711         (__glob_pattern_p): Implement using __glob_pattern_type.
17712         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
17713         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
17714         Remove unreachable code.
17715
17716         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
17717
17718         * lib/glob.c (glob_in_dir): Add some comments and asserts to
17719         explain why there are no leaks.
17720
17721         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
17722
17723         [BZ #3253]
17724         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
17725         time, rather allocate increasingly bigger arrays of pointers, if
17726         possible with alloca, if too large with malloc.
17727
17728 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17729
17730         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
17731         Problem reported by H.Merijn Brand in
17732         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
17733         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
17734         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
17735
17736 2007-10-15  Bruno Haible  <bruno@clisp.org>
17737
17738         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
17739         with explicit rpl_ prefix.
17740         * lib/fopen.c (fopen): Likewise.
17741         * lib/freopen.c (freopen): Likewise.
17742         * lib/iconv.c (iconv): Likewise.
17743         * lib/iconv_close.c (iconv_close): Likewise.
17744
17745 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17746
17747         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
17748
17749 2007-10-15  Bruno Haible  <bruno@clisp.org>
17750
17751         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
17752         <stddef.h> instead of <stdlib.h> since we only need NULL.
17753         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17754
17755 2007-10-15  Bruno Haible  <bruno@clisp.org>
17756
17757         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
17758         Replace paragraph talking about LIBOBJS.
17759         Reported by Colin Watson <cjwatson@debian.org>.
17760
17761 2007-10-15  Bruno Haible  <bruno@clisp.org>
17762
17763         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
17764         <stdlib.h> before using NULL.
17765
17766 2007-10-15  Simon Josefsson  <simon@josefsson.org>
17767
17768         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
17769         Reported by Albert Chin <china@thewrittenword.com>.
17770
17771 2007-10-14  Bruno Haible  <bruno@clisp.org>
17772
17773         * modules/iconv_open-utf-tests: New file.
17774         * tests/test-iconv-utf.c: New file.
17775
17776         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
17777         * modules/iconv_open-utf: New file.
17778         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
17779         (iconv, iconv_close): New declarations.
17780         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
17781         be defined.
17782         (iconv_open): Add special handling of conversion between UTF-8 and
17783         UTF-{16,32}{BE,LE}.
17784         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
17785         * lib/iconv_close.c: New file.
17786         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
17787         gl_FUNC_ICONV_OPEN.
17788         (gl_FUNC_ICONV_OPEN): Use it.
17789         (gl_FUNC_ICONV_OPEN_UTF): New macro.
17790         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
17791         and REPLACE_ICONV_UTF.
17792         * modules/iconv_open (Depends-on): Add c-strcase.
17793         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
17794         ICONV_CONST.
17795         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
17796
17797 2007-10-13  Albert Chin  <china@thewrittenword.com>
17798             Bruno Haible  <bruno@clisp.org>
17799
17800         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
17801         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
17802
17803 2007-10-13  Bruno Haible  <bruno@clisp.org>
17804
17805         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
17806         defined, use the ISO C99 inline semantics.
17807         * lib/argp.h (ARGP_EI): Likewise.
17808
17809 2007-10-13  Bruno Haible  <bruno@clisp.org>
17810
17811         Handle 'inline' change in gcc 4.3.0.
17812         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
17813         argp_fmtstream_write, argp_fmtstream_set_lmargin,
17814         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
17815         argp_fmtstream_point): Disable 'extern' declaration if the function
17816         definition is going to be provided inline.
17817         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
17818         semantics, not the ISO C99 inline semantics.
17819         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
17820         'extern' declaration if the function definition is going to be provided
17821         inline.
17822         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
17823         the GNU C inline semantics, not the ISO C99 inline semantics. With
17824         GCC 4.2, avoid a warning.
17825
17826 2007-10-13  Bruno Haible  <bruno@clisp.org>
17827
17828         * lib/freading.h (freading): Enable the use of __freading for
17829         glibc >= 2.7.
17830         * lib/freading.c (freading): Likewise.
17831
17832 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
17833
17834         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
17835         "warning: C99 inline functions are not supported; using GNU89".
17836
17837 2007-10-12  Bruno Haible  <bruno@clisp.org>
17838
17839         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
17840         of 2.
17841         * tests/test-ceilf2.c: New file.
17842         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
17843
17844         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
17845         * modules/ceilf-tests: Update.
17846
17847 2007-10-12  Bruno Haible  <bruno@clisp.org>
17848
17849         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
17850         of 2.
17851         * tests/test-floorf2.c: New file.
17852         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
17853
17854         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
17855         * modules/floorf-tests: Update.
17856
17857 2007-10-12  Bruno Haible  <bruno@clisp.org>
17858
17859         * tests/test-trunc2.c: New file.
17860         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
17861
17862         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
17863         * modules/trunc-tests: Update.
17864
17865 2007-10-12  Bruno Haible  <bruno@clisp.org>
17866
17867         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
17868         of 2.
17869         * tests/test-truncf2.c: New file.
17870         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
17871
17872         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
17873         * modules/truncf-tests: Update.
17874
17875 2007-10-11  Eric Blake  <ebb9@byu.net>
17876
17877         Don't claim strerror is broken on Interix.
17878         * doc/functions/strerror.texi (strerror): Known broken systems are
17879         now Solaris 8, and not Interix.
17880         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
17881         Interix on cross-compile.
17882         Reported by Martin Koeppe in
17883         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
17884
17885 2007-10-11  Bruno Haible  <bruno@clisp.org>
17886
17887         * modules/i-ring-tests: New file.
17888         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
17889         instead of assert.
17890
17891 2007-10-11  Bruno Haible  <bruno@clisp.org>
17892
17893         * modules/filenamecat-tests: New file.
17894         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
17895         * lib/filenamecat.c: Remove test code.
17896
17897 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
17898
17899         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
17900
17901         * lib/strerror.c: Include <string.h> always, to test interface,
17902         and to remove the need for the dummy.
17903         Include intprops.h to compute width instead of doing it ourselves
17904         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
17905         (strerror): Define it to return NULL if there's no system strerror.
17906         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
17907         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
17908         ancient pre-strerror Unix systems well any more.  Saying "unknown
17909         system error" is enough.
17910         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
17911         simpler strerror.c implementation.
17912         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
17913         Simplify the tests to reflect the simpler strerror implementation.
17914         * modules/strerror (Depends-on): Add intprops.
17915
17916 2007-10-09  Eric Blake  <ebb9@byu.net>
17917
17918         Silence test-fpending.
17919         * modules/fpending-tests (Files): Add wrapper script.
17920         * tests/test-fpending.sh: New file.
17921
17922 2007-10-09  Bruno Haible  <bruno@clisp.org>
17923
17924         * MODULES.html.sh (func_module): Don't create a hyperlink for
17925         function names like 'printf_frexp'.
17926         (Misc): Add crc, memxor.
17927         (Characteristics of floating types): New section.
17928         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
17929         isnanf-nolibm, signbit, trunc, truncf, truncl.
17930         (Enhancements for ISO C 99 functions): New subsection Input/output.
17931         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
17932         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
17933         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
17934         (Compatibility checks for POSIX:2001 functions): Add clock-time.
17935         (Enhancements for POSIX:2001 functions): Add chdir-long.
17936         (File system functions): Add areadlink, chdir-safer, read-file.
17937         Remove cycle-check.
17938         (File system as inode set): New section.
17939         (Date and time): Add gethrxtime.
17940         (Multithreading): Add openmp.
17941         (Internationalization functions): Add localename.
17942         (Unicode string functions): Add unistr/u*-mbsnlen.
17943         (Support for maintaining and releasing projects): Add git-version-gen.
17944         (Lone files): Remove directories.
17945
17946 2007-10-08  Ben Pfaff  <blp@gnu.org>
17947
17948         * lib/xmalloca.h: Fix typo in comment.
17949
17950 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17951
17952         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
17953         when avoiding problems with integer overflow.  Use a portable test
17954         instead.
17955
17956 2007-10-08  Simon Josefsson  <simon@josefsson.org>
17957
17958         * modules/dummy (License): Change to LGPLv2+.
17959         * modules/float (License): Likewise
17960         * modules/realloc (License): Likewise
17961         * modules/stdlib (License): Likewise
17962
17963 2007-10-07  Bruno Haible  <bruno@clisp.org>
17964
17965         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
17966         * floor.c (TWO_MANT_DIG): Likewise.
17967         * ceil.c (TWO_MANT_DIG): Likewise.
17968         Reported by Ben Pfaff.
17969
17970 2007-10-07  Bruno Haible  <bruno@clisp.org>
17971
17972         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
17973         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
17974         * lib/frexp.c (FUNC): Likewise.
17975         * lib/printf-frexp.h (printf_frexp): Likewise.
17976         * lib/printf-frexpl.h (printf_frexpl): Likewise.
17977         * lib/printf-frexp.c (FUNC): Likewise.
17978         Suggested by Jim Meyering.
17979
17980 2007-10-07  Jim Meyering  <meyering@redhat.com>
17981
17982         Make xnanosleep's integer overflow test more robust.
17983         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
17984         so that gcc-4.3.0 doesn't optimize away this test for overflow.
17985
17986 2007-10-07  Bruno Haible  <bruno@clisp.org>
17987
17988         * NEWS: Mention the license change.
17989
17990         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
17991         abbreviations in the modules files.
17992
17993         Change copyright notice from GPLv2+ to GPLv3+.
17994         * README: Change copyright notice.
17995         * MODULES.html.sh: Likewise.
17996         * build-aux/bootstrap.conf: Likewise.
17997         * build-aux/config.libpath: Likewise.
17998         * build-aux/csharpcomp.sh.in: Likewise.
17999         * build-aux/csharpexec.sh.in: Likewise.
18000         * build-aux/install-reloc: Likewise.
18001         * build-aux/javacomp.sh.in: Likewise.
18002         * build-aux/javaexec.sh.in: Likewise.
18003         * build-aux/ldd.sh.in: Likewise.
18004         * build-aux/reloc-ldflags: Likewise.
18005         * build-aux/relocatable.sh.in: Likewise.
18006         * build-aux/x-to-1.in: Likewise.
18007         * check-module: Likewise.
18008         * config/srclistvars.sh: Likewise.
18009         * gnulib-tool: Likewise.
18010         * lib/acl-internal.h: Likewise.
18011         * lib/acl.c: Likewise.
18012         * lib/acl.h: Likewise.
18013         * lib/acl_entries.c: Likewise.
18014         * lib/areadlink-with-size.c: Likewise.
18015         * lib/areadlink.c: Likewise.
18016         * lib/areadlink.h: Likewise.
18017         * lib/argmatch.c: Likewise.
18018         * lib/argmatch.h: Likewise.
18019         * lib/argp-ba.c: Likewise.
18020         * lib/argp-eexst.c: Likewise.
18021         * lib/argp-fmtstream.c: Likewise.
18022         * lib/argp-fmtstream.h: Likewise.
18023         * lib/argp-fs-xinl.c: Likewise.
18024         * lib/argp-help.c: Likewise.
18025         * lib/argp-namefrob.h: Likewise.
18026         * lib/argp-parse.c: Likewise.
18027         * lib/argp-pin.c: Likewise.
18028         * lib/argp-pv.c: Likewise.
18029         * lib/argp-pvh.c: Likewise.
18030         * lib/argp-xinl.c: Likewise.
18031         * lib/argp.h: Likewise.
18032         * lib/at-func.c: Likewise.
18033         * lib/atanl.c: Likewise.
18034         * lib/backupfile.c: Likewise.
18035         * lib/backupfile.h: Likewise.
18036         * lib/basename.c: Likewise.
18037         * lib/binary-io.h: Likewise.
18038         * lib/byteswap.in.h: Likewise.
18039         * lib/c-stack.c: Likewise.
18040         * lib/c-stack.h: Likewise.
18041         * lib/c-strcasestr.c: Likewise.
18042         * lib/c-strcasestr.h: Likewise.
18043         * lib/c-strstr.c: Likewise.
18044         * lib/c-strstr.h: Likewise.
18045         * lib/c-strtod.c: Likewise.
18046         * lib/calloc.c: Likewise.
18047         * lib/canon-host.c: Likewise.
18048         * lib/canon-host.h: Likewise.
18049         * lib/canonicalize-lgpl.c: Likewise.
18050         * lib/canonicalize.c: Likewise.
18051         * lib/canonicalize.h: Likewise.
18052         * lib/ceil.c: Likewise.
18053         * lib/ceilf.c: Likewise.
18054         * lib/ceill.c: Likewise.
18055         * lib/chdir-long.c: Likewise.
18056         * lib/chdir-long.h: Likewise.
18057         * lib/chdir-safer.c: Likewise.
18058         * lib/chdir-safer.h: Likewise.
18059         * lib/chown.c: Likewise.
18060         * lib/classpath.c: Likewise.
18061         * lib/classpath.h: Likewise.
18062         * lib/clean-temp.c: Likewise.
18063         * lib/clean-temp.h: Likewise.
18064         * lib/cloexec.c: Likewise.
18065         * lib/close-stream.c: Likewise.
18066         * lib/closein.c: Likewise.
18067         * lib/closein.h: Likewise.
18068         * lib/closeout.c: Likewise.
18069         * lib/closeout.h: Likewise.
18070         * lib/concat-filename.c: Likewise.
18071         * lib/copy-file.c: Likewise.
18072         * lib/copy-file.h: Likewise.
18073         * lib/count-one-bits.h: Likewise.
18074         * lib/crc.c: Likewise.
18075         * lib/crc.h: Likewise.
18076         * lib/creat-safer.c: Likewise.
18077         * lib/csharpcomp.c: Likewise.
18078         * lib/csharpcomp.h: Likewise.
18079         * lib/csharpexec.c: Likewise.
18080         * lib/csharpexec.h: Likewise.
18081         * lib/cycle-check.c: Likewise.
18082         * lib/cycle-check.h: Likewise.
18083         * lib/diacrit.c: Likewise.
18084         * lib/diacrit.h: Likewise.
18085         * lib/diffseq.h: Likewise.
18086         * lib/dirchownmod.c: Likewise.
18087         * lib/dirent.in.h: Likewise.
18088         * lib/dirfd.c: Likewise.
18089         * lib/dirfd.h: Likewise.
18090         * lib/dirname.c: Likewise.
18091         * lib/dirname.h: Likewise.
18092         * lib/dummy.c: Likewise.
18093         * lib/dup-safer.c: Likewise.
18094         * lib/dup2.c: Likewise.
18095         * lib/eealloc.h: Likewise.
18096         * lib/error.c: Likewise.
18097         * lib/error.h: Likewise.
18098         * lib/euidaccess.c: Likewise.
18099         * lib/exclude.c: Likewise.
18100         * lib/exclude.h: Likewise.
18101         * lib/execute.c: Likewise.
18102         * lib/execute.h: Likewise.
18103         * lib/exitfail.c: Likewise.
18104         * lib/exitfail.h: Likewise.
18105         * lib/expl.c: Likewise.
18106         * lib/fatal-signal.c: Likewise.
18107         * lib/fatal-signal.h: Likewise.
18108         * lib/fbufmode.c: Likewise.
18109         * lib/fbufmode.h: Likewise.
18110         * lib/fchdir.c: Likewise.
18111         * lib/fchmodat.c: Likewise.
18112         * lib/fchownat.c: Likewise.
18113         * lib/fcntl--.h: Likewise.
18114         * lib/fcntl-safer.h: Likewise.
18115         * lib/fcntl.in.h: Likewise.
18116         * lib/fd-safer.c: Likewise.
18117         * lib/fflush.c: Likewise.
18118         * lib/file-has-acl.c: Likewise.
18119         * lib/file-set.c: Likewise.
18120         * lib/file-type.c: Likewise.
18121         * lib/file-type.h: Likewise.
18122         * lib/fileblocks.c: Likewise.
18123         * lib/filemode.c: Likewise.
18124         * lib/filemode.h: Likewise.
18125         * lib/filename.h: Likewise.
18126         * lib/filenamecat.c: Likewise.
18127         * lib/filenamecat.h: Likewise.
18128         * lib/findprog.c: Likewise.
18129         * lib/findprog.h: Likewise.
18130         * lib/float.in.h: Likewise.
18131         * lib/floor.c: Likewise.
18132         * lib/floorf.c: Likewise.
18133         * lib/floorl.c: Likewise.
18134         * lib/fopen-safer.c: Likewise.
18135         * lib/fopen.c: Likewise.
18136         * lib/fpending.c: Likewise.
18137         * lib/fpending.h: Likewise.
18138         * lib/fprintf.c: Likewise.
18139         * lib/fprintftime.h: Likewise.
18140         * lib/fpucw.h: Likewise.
18141         * lib/fpurge.c: Likewise.
18142         * lib/fpurge.h: Likewise.
18143         * lib/freadable.c: Likewise.
18144         * lib/freadable.h: Likewise.
18145         * lib/freadahead.c: Likewise.
18146         * lib/freadahead.h: Likewise.
18147         * lib/freading.c: Likewise.
18148         * lib/freading.h: Likewise.
18149         * lib/free.c: Likewise.
18150         * lib/freopen.c: Likewise.
18151         * lib/frexp.c: Likewise.
18152         * lib/frexpl.c: Likewise.
18153         * lib/fseek.c: Likewise.
18154         * lib/fseterr.c: Likewise.
18155         * lib/fseterr.h: Likewise.
18156         * lib/fstatat.c: Likewise.
18157         * lib/fstrcmp.c: Likewise.
18158         * lib/fstrcmp.h: Likewise.
18159         * lib/fsusage.c: Likewise.
18160         * lib/fsusage.h: Likewise.
18161         * lib/ftell.c: Likewise.
18162         * lib/ftello.c: Likewise.
18163         * lib/fts-cycle.c: Likewise.
18164         * lib/fts.c: Likewise.
18165         * lib/fts_.h: Likewise.
18166         * lib/full-read.c: Likewise.
18167         * lib/full-read.h: Likewise.
18168         * lib/full-write.c: Likewise.
18169         * lib/full-write.h: Likewise.
18170         * lib/fwritable.c: Likewise.
18171         * lib/fwritable.h: Likewise.
18172         * lib/fwriteerror.c: Likewise.
18173         * lib/fwriteerror.h: Likewise.
18174         * lib/fwriting.c: Likewise.
18175         * lib/fwriting.h: Likewise.
18176         * lib/gcd.c: Likewise.
18177         * lib/gcd.h: Likewise.
18178         * lib/getcwd.c: Likewise.
18179         * lib/getdate.h: Likewise.
18180         * lib/getdate.y: Likewise.
18181         * lib/getdomainname.c: Likewise.
18182         * lib/getdomainname.h: Likewise.
18183         * lib/getgroups.c: Likewise.
18184         * lib/gethostname.c: Likewise.
18185         * lib/gethrxtime.c: Likewise.
18186         * lib/gethrxtime.h: Likewise.
18187         * lib/getloadavg.c: Likewise.
18188         * lib/getndelim2.c: Likewise.
18189         * lib/getndelim2.h: Likewise.
18190         * lib/getnline.c: Likewise.
18191         * lib/getnline.h: Likewise.
18192         * lib/getopt.c: Likewise.
18193         * lib/getopt.in.h: Likewise.
18194         * lib/getopt1.c: Likewise.
18195         * lib/getopt_int.h: Likewise.
18196         * lib/getpagesize.h: Likewise.
18197         * lib/getsubopt.c: Likewise.
18198         * lib/gettime.c: Likewise.
18199         * lib/getugroups.c: Likewise.
18200         * lib/getugroups.h: Likewise.
18201         * lib/getusershell.c: Likewise.
18202         * lib/gl_anyavltree_list1.h: Likewise.
18203         * lib/gl_anyavltree_list2.h: Likewise.
18204         * lib/gl_anyhash_list1.h: Likewise.
18205         * lib/gl_anyhash_list2.h: Likewise.
18206         * lib/gl_anylinked_list1.h: Likewise.
18207         * lib/gl_anylinked_list2.h: Likewise.
18208         * lib/gl_anyrbtree_list1.h: Likewise.
18209         * lib/gl_anyrbtree_list2.h: Likewise.
18210         * lib/gl_anytree_list1.h: Likewise.
18211         * lib/gl_anytree_list2.h: Likewise.
18212         * lib/gl_anytree_oset.h: Likewise.
18213         * lib/gl_anytreehash_list1.h: Likewise.
18214         * lib/gl_anytreehash_list2.h: Likewise.
18215         * lib/gl_array_list.c: Likewise.
18216         * lib/gl_array_list.h: Likewise.
18217         * lib/gl_array_oset.c: Likewise.
18218         * lib/gl_array_oset.h: Likewise.
18219         * lib/gl_avltree_list.c: Likewise.
18220         * lib/gl_avltree_list.h: Likewise.
18221         * lib/gl_avltree_oset.c: Likewise.
18222         * lib/gl_avltree_oset.h: Likewise.
18223         * lib/gl_avltreehash_list.c: Likewise.
18224         * lib/gl_avltreehash_list.h: Likewise.
18225         * lib/gl_carray_list.c: Likewise.
18226         * lib/gl_carray_list.h: Likewise.
18227         * lib/gl_linked_list.c: Likewise.
18228         * lib/gl_linked_list.h: Likewise.
18229         * lib/gl_linkedhash_list.c: Likewise.
18230         * lib/gl_linkedhash_list.h: Likewise.
18231         * lib/gl_list.c: Likewise.
18232         * lib/gl_list.h: Likewise.
18233         * lib/gl_oset.c: Likewise.
18234         * lib/gl_oset.h: Likewise.
18235         * lib/gl_rbtree_list.c: Likewise.
18236         * lib/gl_rbtree_list.h: Likewise.
18237         * lib/gl_rbtree_oset.c: Likewise.
18238         * lib/gl_rbtree_oset.h: Likewise.
18239         * lib/gl_rbtreehash_list.c: Likewise.
18240         * lib/gl_rbtreehash_list.h: Likewise.
18241         * lib/gl_sublist.c: Likewise.
18242         * lib/gl_sublist.h: Likewise.
18243         * lib/group-member.c: Likewise.
18244         * lib/group-member.h: Likewise.
18245         * lib/hard-locale.c: Likewise.
18246         * lib/hard-locale.h: Likewise.
18247         * lib/hash-pjw.c: Likewise.
18248         * lib/hash-pjw.h: Likewise.
18249         * lib/hash-triple.c: Likewise.
18250         * lib/hash.c: Likewise.
18251         * lib/hash.h: Likewise.
18252         * lib/human.c: Likewise.
18253         * lib/human.h: Likewise.
18254         * lib/i-ring.c: Likewise.
18255         * lib/i-ring.h: Likewise.
18256         * lib/idcache.c: Likewise.
18257         * lib/imaxabs.c: Likewise.
18258         * lib/imaxdiv.c: Likewise.
18259         * lib/inet_pton.c: Likewise.
18260         * lib/inet_pton.h: Likewise.
18261         * lib/intprops.h: Likewise.
18262         * lib/inttostr.c: Likewise.
18263         * lib/inttostr.h: Likewise.
18264         * lib/inttypes.in.h: Likewise.
18265         * lib/isapipe.c: Likewise.
18266         * lib/isdir.c: Likewise.
18267         * lib/isnan.c: Likewise.
18268         * lib/isnan.h: Likewise.
18269         * lib/isnanf.c: Likewise.
18270         * lib/isnanf.h: Likewise.
18271         * lib/isnanl-nolibm.h: Likewise.
18272         * lib/isnanl.c: Likewise.
18273         * lib/isnanl.h: Likewise.
18274         * lib/javacomp.c: Likewise.
18275         * lib/javacomp.h: Likewise.
18276         * lib/javaexec.c: Likewise.
18277         * lib/javaexec.h: Likewise.
18278         * lib/javaversion.c: Likewise.
18279         * lib/javaversion.h: Likewise.
18280         * lib/javaversion.java: Likewise.
18281         * lib/lbrkprop.h: Likewise.
18282         * lib/lchmod.h: Likewise.
18283         * lib/lchown.c: Likewise.
18284         * lib/ldexpl.c: Likewise.
18285         * lib/linebreak.c: Likewise.
18286         * lib/linebreak.h: Likewise.
18287         * lib/linebuffer.c: Likewise.
18288         * lib/linebuffer.h: Likewise.
18289         * lib/locale.in.h: Likewise.
18290         * lib/logl.c: Likewise.
18291         * lib/long-options.c: Likewise.
18292         * lib/long-options.h: Likewise.
18293         * lib/lstat.c: Likewise.
18294         * lib/lstat.h: Likewise.
18295         * lib/math.in.h: Likewise.
18296         * lib/mbchar.c: Likewise.
18297         * lib/mbchar.h: Likewise.
18298         * lib/mbfile.h: Likewise.
18299         * lib/mbiter.h: Likewise.
18300         * lib/mbscasecmp.c: Likewise.
18301         * lib/mbscasestr.c: Likewise.
18302         * lib/mbschr.c: Likewise.
18303         * lib/mbscspn.c: Likewise.
18304         * lib/mbslen.c: Likewise.
18305         * lib/mbsncasecmp.c: Likewise.
18306         * lib/mbsnlen.c: Likewise.
18307         * lib/mbspbrk.c: Likewise.
18308         * lib/mbspcasecmp.c: Likewise.
18309         * lib/mbsrchr.c: Likewise.
18310         * lib/mbssep.c: Likewise.
18311         * lib/mbsspn.c: Likewise.
18312         * lib/mbsstr.c: Likewise.
18313         * lib/mbstok_r.c: Likewise.
18314         * lib/mbswidth.c: Likewise.
18315         * lib/mbswidth.h: Likewise.
18316         * lib/mbuiter.h: Likewise.
18317         * lib/memcasecmp.c: Likewise.
18318         * lib/memcasecmp.h: Likewise.
18319         * lib/memchr.c: Likewise.
18320         * lib/memcmp.c: Likewise.
18321         * lib/memcoll.c: Likewise.
18322         * lib/memcoll.h: Likewise.
18323         * lib/memcpy.c: Likewise.
18324         * lib/memrchr.c: Likewise.
18325         * lib/mkancesdirs.c: Likewise.
18326         * lib/mkdir-p.c: Likewise.
18327         * lib/mkdir-p.h: Likewise.
18328         * lib/mkdir.c: Likewise.
18329         * lib/mkdirat.c: Likewise.
18330         * lib/mkdtemp.c: Likewise.
18331         * lib/mkstemp-safer.c: Likewise.
18332         * lib/mkstemp.c: Likewise.
18333         * lib/modechange.c: Likewise.
18334         * lib/modechange.h: Likewise.
18335         * lib/mountlist.c: Likewise.
18336         * lib/mountlist.h: Likewise.
18337         * lib/mpsort.c: Likewise.
18338         * lib/nanosleep.c: Likewise.
18339         * lib/obstack.c: Likewise.
18340         * lib/obstack.h: Likewise.
18341         * lib/open-safer.c: Likewise.
18342         * lib/open.c: Likewise.
18343         * lib/openat-die.c: Likewise.
18344         * lib/openat-priv.h: Likewise.
18345         * lib/openat-proc.c: Likewise.
18346         * lib/openat.c: Likewise.
18347         * lib/openat.h: Likewise.
18348         * lib/pagealign_alloc.c: Likewise.
18349         * lib/pagealign_alloc.h: Likewise.
18350         * lib/physmem.c: Likewise.
18351         * lib/physmem.h: Likewise.
18352         * lib/pipe-safer.c: Likewise.
18353         * lib/pipe.c: Likewise.
18354         * lib/pipe.h: Likewise.
18355         * lib/posixtm.c: Likewise.
18356         * lib/posixtm.h: Likewise.
18357         * lib/posixver.c: Likewise.
18358         * lib/printf-frexp.c: Likewise.
18359         * lib/printf-frexp.h: Likewise.
18360         * lib/printf-frexpl.c: Likewise.
18361         * lib/printf-frexpl.h: Likewise.
18362         * lib/printf.c: Likewise.
18363         * lib/progname.c: Likewise.
18364         * lib/progname.h: Likewise.
18365         * lib/progreloc.c: Likewise.
18366         * lib/putenv.c: Likewise.
18367         * lib/quote.c: Likewise.
18368         * lib/quote.h: Likewise.
18369         * lib/quotearg.c: Likewise.
18370         * lib/quotearg.h: Likewise.
18371         * lib/raise.c: Likewise.
18372         * lib/readline.c: Likewise.
18373         * lib/readline.h: Likewise.
18374         * lib/readlink.c: Likewise.
18375         * lib/readtokens.c: Likewise.
18376         * lib/readtokens.h: Likewise.
18377         * lib/readtokens0.c: Likewise.
18378         * lib/readtokens0.h: Likewise.
18379         * lib/readutmp.c: Likewise.
18380         * lib/readutmp.h: Likewise.
18381         * lib/realloc.c: Likewise.
18382         * lib/relocwrapper.c: Likewise.
18383         * lib/rename-dest-slash.c: Likewise.
18384         * lib/rename.c: Likewise.
18385         * lib/rmdir.c: Likewise.
18386         * lib/rpmatch.c: Likewise.
18387         * lib/safe-read.c: Likewise.
18388         * lib/safe-read.h: Likewise.
18389         * lib/safe-write.c: Likewise.
18390         * lib/safe-write.h: Likewise.
18391         * lib/same-inode.h: Likewise.
18392         * lib/same.c: Likewise.
18393         * lib/same.h: Likewise.
18394         * lib/save-cwd.c: Likewise.
18395         * lib/save-cwd.h: Likewise.
18396         * lib/savedir.c: Likewise.
18397         * lib/savedir.h: Likewise.
18398         * lib/savewd.c: Likewise.
18399         * lib/savewd.h: Likewise.
18400         * lib/search.in.h: Likewise.
18401         * lib/setenv.c: Likewise.
18402         * lib/setenv.h: Likewise.
18403         * lib/settime.c: Likewise.
18404         * lib/sh-quote.c: Likewise.
18405         * lib/sh-quote.h: Likewise.
18406         * lib/sig2str.c: Likewise.
18407         * lib/sig2str.h: Likewise.
18408         * lib/signal.in.h: Likewise.
18409         * lib/signbitd.c: Likewise.
18410         * lib/signbitf.c: Likewise.
18411         * lib/signbitl.c: Likewise.
18412         * lib/sigprocmask.c: Likewise.
18413         * lib/sincosl.c: Likewise.
18414         * lib/sleep.c: Likewise.
18415         * lib/sprintf.c: Likewise.
18416         * lib/sqrtl.c: Likewise.
18417         * lib/stat-time.h: Likewise.
18418         * lib/stdio--.h: Likewise.
18419         * lib/stdio-safer.h: Likewise.
18420         * lib/stdlib--.h: Likewise.
18421         * lib/stdlib-safer.h: Likewise.
18422         * lib/stdlib.in.h: Likewise.
18423         * lib/stpcpy.c: Likewise.
18424         * lib/stpncpy.c: Likewise.
18425         * lib/strchrnul.c: Likewise.
18426         * lib/strcspn.c: Likewise.
18427         * lib/strerror.c: Likewise.
18428         * lib/strftime.c: Likewise.
18429         * lib/strftime.h: Likewise.
18430         * lib/striconveh.c: Likewise.
18431         * lib/striconveh.h: Likewise.
18432         * lib/striconveha.c: Likewise.
18433         * lib/striconveha.h: Likewise.
18434         * lib/stripslash.c: Likewise.
18435         * lib/strnlen1.c: Likewise.
18436         * lib/strnlen1.h: Likewise.
18437         * lib/strtod.c: Likewise.
18438         * lib/strtoimax.c: Likewise.
18439         * lib/strtok_r.c: Likewise.
18440         * lib/strtol.c: Likewise.
18441         * lib/strtoll.c: Likewise.
18442         * lib/strtoul.c: Likewise.
18443         * lib/strtoull.c: Likewise.
18444         * lib/sysexits.in.h: Likewise.
18445         * lib/tempname.c: Likewise.
18446         * lib/tempname.h: Likewise.
18447         * lib/timespec.h: Likewise.
18448         * lib/tls.c: Likewise.
18449         * lib/tls.h: Likewise.
18450         * lib/tmpdir.c: Likewise.
18451         * lib/tmpdir.h: Likewise.
18452         * lib/tmpfile-safer.c: Likewise.
18453         * lib/tmpfile.c: Likewise.
18454         * lib/trigl.c: Likewise.
18455         * lib/trigl.h: Likewise.
18456         * lib/trim.c: Likewise.
18457         * lib/trim.h: Likewise.
18458         * lib/trunc.c: Likewise.
18459         * lib/truncf.c: Likewise.
18460         * lib/truncl.c: Likewise.
18461         * lib/tsearch.c: Likewise.
18462         * lib/unicodeio.c: Likewise.
18463         * lib/unicodeio.h: Likewise.
18464         * lib/unistd--.h: Likewise.
18465         * lib/unistd-safer.h: Likewise.
18466         * lib/unistdio/ulc-fprintf.c: Likewise.
18467         * lib/unistdio/ulc-vfprintf.c: Likewise.
18468         * lib/unlinkdir.c: Likewise.
18469         * lib/unlinkdir.h: Likewise.
18470         * lib/unlocked-io.h: Likewise.
18471         * lib/unsetenv.c: Likewise.
18472         * lib/userspec.c: Likewise.
18473         * lib/utime.c: Likewise.
18474         * lib/utimecmp.c: Likewise.
18475         * lib/utimecmp.h: Likewise.
18476         * lib/utimens.c: Likewise.
18477         * lib/verify.h: Likewise.
18478         * lib/verror.c: Likewise.
18479         * lib/verror.h: Likewise.
18480         * lib/version-etc-fsf.c: Likewise.
18481         * lib/version-etc.c: Likewise.
18482         * lib/version-etc.h: Likewise.
18483         * lib/vfprintf.c: Likewise.
18484         * lib/vprintf.c: Likewise.
18485         * lib/vsprintf.c: Likewise.
18486         * lib/w32spawn.h: Likewise.
18487         * lib/wait-process.c: Likewise.
18488         * lib/wait-process.h: Likewise.
18489         * lib/wcwidth.c: Likewise.
18490         * lib/write-any-file.c: Likewise.
18491         * lib/xalloc-die.c: Likewise.
18492         * lib/xalloc.h: Likewise.
18493         * lib/xasprintf.c: Likewise.
18494         * lib/xgetcwd.c: Likewise.
18495         * lib/xgetcwd.h: Likewise.
18496         * lib/xgetdomainname.c: Likewise.
18497         * lib/xgetdomainname.h: Likewise.
18498         * lib/xgethostname.c: Likewise.
18499         * lib/xmalloc.c: Likewise.
18500         * lib/xmalloca.c: Likewise.
18501         * lib/xmalloca.h: Likewise.
18502         * lib/xmemcoll.c: Likewise.
18503         * lib/xnanosleep.c: Likewise.
18504         * lib/xreadlink.c: Likewise.
18505         * lib/xreadlink.h: Likewise.
18506         * lib/xsetenv.c: Likewise.
18507         * lib/xsetenv.h: Likewise.
18508         * lib/xstriconv.c: Likewise.
18509         * lib/xstriconv.h: Likewise.
18510         * lib/xstrndup.c: Likewise.
18511         * lib/xstrndup.h: Likewise.
18512         * lib/xstrtod.c: Likewise.
18513         * lib/xstrtod.h: Likewise.
18514         * lib/xstrtol-error.c: Likewise.
18515         * lib/xstrtol.c: Likewise.
18516         * lib/xstrtol.h: Likewise.
18517         * lib/xtime.h: Likewise.
18518         * lib/xvasprintf.c: Likewise.
18519         * lib/xvasprintf.h: Likewise.
18520         * lib/yesno.c: Likewise.
18521         * lib/yesno.h: Likewise.
18522         * posix-modules: Likewise.
18523         * tests/test-alloca-opt.c: Likewise.
18524         * tests/test-arcfour.c: Likewise.
18525         * tests/test-arctwo.c: Likewise.
18526         * tests/test-argmatch.c: Likewise.
18527         * tests/test-argp-2.sh: Likewise.
18528         * tests/test-argp.c: Likewise.
18529         * tests/test-arpa_inet.c: Likewise.
18530         * tests/test-array_list.c: Likewise.
18531         * tests/test-array_oset.c: Likewise.
18532         * tests/test-atexit.c: Likewise.
18533         * tests/test-avltree_list.c: Likewise.
18534         * tests/test-avltree_oset.c: Likewise.
18535         * tests/test-avltreehash_list.c: Likewise.
18536         * tests/test-base64.c: Likewise.
18537         * tests/test-binary-io.c: Likewise.
18538         * tests/test-byteswap.c: Likewise.
18539         * tests/test-c-ctype.c: Likewise.
18540         * tests/test-c-strcasecmp.c: Likewise.
18541         * tests/test-c-strcasestr.c: Likewise.
18542         * tests/test-c-strncasecmp.c: Likewise.
18543         * tests/test-c-strstr.c: Likewise.
18544         * tests/test-canonicalize-lgpl.c: Likewise.
18545         * tests/test-canonicalize.c: Likewise.
18546         * tests/test-carray_list.c: Likewise.
18547         * tests/test-ceilf.c: Likewise.
18548         * tests/test-ceill.c: Likewise.
18549         * tests/test-count-one-bits.c: Likewise.
18550         * tests/test-crc.c: Likewise.
18551         * tests/test-dirname.c: Likewise.
18552         * tests/test-fbufmode.c: Likewise.
18553         * tests/test-fcntl.c: Likewise.
18554         * tests/test-fflush.c: Likewise.
18555         * tests/test-floorf.c: Likewise.
18556         * tests/test-floorl.c: Likewise.
18557         * tests/test-fopen.c: Likewise.
18558         * tests/test-fprintf-posix.c: Likewise.
18559         * tests/test-fprintf-posix.h: Likewise.
18560         * tests/test-fpurge.c: Likewise.
18561         * tests/test-freadable.c: Likewise.
18562         * tests/test-freadahead.c: Likewise.
18563         * tests/test-freading.c: Likewise.
18564         * tests/test-freopen.c: Likewise.
18565         * tests/test-frexp.c: Likewise.
18566         * tests/test-frexpl.c: Likewise.
18567         * tests/test-fseek.c: Likewise.
18568         * tests/test-fseeko.c: Likewise.
18569         * tests/test-fseterr.c: Likewise.
18570         * tests/test-fstrcmp.c: Likewise.
18571         * tests/test-ftell.c: Likewise.
18572         * tests/test-ftello.c: Likewise.
18573         * tests/test-fwritable.c: Likewise.
18574         * tests/test-fwriting.c: Likewise.
18575         * tests/test-getaddrinfo.c: Likewise.
18576         * tests/test-getpass.c: Likewise.
18577         * tests/test-gettimeofday.c: Likewise.
18578         * tests/test-hmac-md5.c: Likewise.
18579         * tests/test-hmac-sha1.c: Likewise.
18580         * tests/test-iconv.c: Likewise.
18581         * tests/test-iconvme.c: Likewise.
18582         * tests/test-inttypes.c: Likewise.
18583         * tests/test-isnan.c: Likewise.
18584         * tests/test-isnanf.c: Likewise.
18585         * tests/test-isnanl-nolibm.c: Likewise.
18586         * tests/test-isnanl.c: Likewise.
18587         * tests/test-isnanl.h: Likewise.
18588         * tests/test-ldexpl.c: Likewise.
18589         * tests/test-linked_list.c: Likewise.
18590         * tests/test-linkedhash_list.c: Likewise.
18591         * tests/test-locale.c: Likewise.
18592         * tests/test-localename.c: Likewise.
18593         * tests/test-lock.c: Likewise.
18594         * tests/test-lseek.c: Likewise.
18595         * tests/test-malloca.c: Likewise.
18596         * tests/test-math.c: Likewise.
18597         * tests/test-mbscasecmp.c: Likewise.
18598         * tests/test-mbscasestr1.c: Likewise.
18599         * tests/test-mbscasestr2.c: Likewise.
18600         * tests/test-mbscasestr3.c: Likewise.
18601         * tests/test-mbscasestr4.c: Likewise.
18602         * tests/test-mbschr.c: Likewise.
18603         * tests/test-mbscspn.c: Likewise.
18604         * tests/test-mbsncasecmp.c: Likewise.
18605         * tests/test-mbspbrk.c: Likewise.
18606         * tests/test-mbspcasecmp.c: Likewise.
18607         * tests/test-mbsrchr.c: Likewise.
18608         * tests/test-mbsspn.c: Likewise.
18609         * tests/test-mbsstr1.c: Likewise.
18610         * tests/test-mbsstr2.c: Likewise.
18611         * tests/test-mbsstr3.c: Likewise.
18612         * tests/test-md5.c: Likewise.
18613         * tests/test-memmem.c: Likewise.
18614         * tests/test-netinet_in.c: Likewise.
18615         * tests/test-open.c: Likewise.
18616         * tests/test-printf-frexp.c: Likewise.
18617         * tests/test-printf-frexpl.c: Likewise.
18618         * tests/test-printf-posix.c: Likewise.
18619         * tests/test-printf-posix.h: Likewise.
18620         * tests/test-rbtree_list.c: Likewise.
18621         * tests/test-rbtree_oset.c: Likewise.
18622         * tests/test-rbtreehash_list.c: Likewise.
18623         * tests/test-read-file.c: Likewise.
18624         * tests/test-rijndael.c: Likewise.
18625         * tests/test-search.c: Likewise.
18626         * tests/test-signbit.c: Likewise.
18627         * tests/test-sleep.c: Likewise.
18628         * tests/test-snprintf-posix.c: Likewise.
18629         * tests/test-snprintf-posix.h: Likewise.
18630         * tests/test-snprintf.c: Likewise.
18631         * tests/test-sprintf-posix.c: Likewise.
18632         * tests/test-sprintf-posix.h: Likewise.
18633         * tests/test-stat-time.c: Likewise.
18634         * tests/test-stdbool.c: Likewise.
18635         * tests/test-stdint.c: Likewise.
18636         * tests/test-stdio.c: Likewise.
18637         * tests/test-stdlib.c: Likewise.
18638         * tests/test-stpncpy.c: Likewise.
18639         * tests/test-strcasestr.c: Likewise.
18640         * tests/test-striconv.c: Likewise.
18641         * tests/test-striconveh.c: Likewise.
18642         * tests/test-striconveha.c: Likewise.
18643         * tests/test-string.c: Likewise.
18644         * tests/test-sys_select.c: Likewise.
18645         * tests/test-sys_socket.c: Likewise.
18646         * tests/test-sys_stat.c: Likewise.
18647         * tests/test-sys_time.c: Likewise.
18648         * tests/test-sysexits.c: Likewise.
18649         * tests/test-time.c: Likewise.
18650         * tests/test-tls.c: Likewise.
18651         * tests/test-trunc.c: Likewise.
18652         * tests/test-truncf.c: Likewise.
18653         * tests/test-truncl.c: Likewise.
18654         * tests/test-unistd.c: Likewise.
18655         * tests/test-vasnprintf-posix.c: Likewise.
18656         * tests/test-vasnprintf-posix2.c: Likewise.
18657         * tests/test-vasnprintf.c: Likewise.
18658         * tests/test-vasprintf-posix.c: Likewise.
18659         * tests/test-vasprintf.c: Likewise.
18660         * tests/test-verify.c: Likewise.
18661         * tests/test-vfprintf-posix.c: Likewise.
18662         * tests/test-vprintf-posix.c: Likewise.
18663         * tests/test-vsnprintf-posix.c: Likewise.
18664         * tests/test-vsnprintf.c: Likewise.
18665         * tests/test-vsprintf-posix.c: Likewise.
18666         * tests/test-wchar.c: Likewise.
18667         * tests/test-wctype.c: Likewise.
18668         * tests/test-wcwidth.c: Likewise.
18669         * tests/test-xstrtol.c: Likewise.
18670         * tests/test-xvasprintf.c: Likewise.
18671         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
18672         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
18673         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
18674         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
18675         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
18676         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
18677         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
18678         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
18679         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
18680         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
18681         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
18682         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
18683         * tests/uniname/test-uninames.c: Likewise.
18684         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
18685         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
18686         * tests/unistdio/test-u16-printf1.h: Likewise.
18687         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
18688         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
18689         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
18690         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
18691         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18692         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18693         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
18694         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
18695         * tests/unistdio/test-u32-printf1.h: Likewise.
18696         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
18697         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
18698         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
18699         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
18700         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18701         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18702         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
18703         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
18704         * tests/unistdio/test-u8-printf1.h: Likewise.
18705         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
18706         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
18707         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
18708         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
18709         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18710         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18711         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
18712         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
18713         * tests/unistdio/test-ulc-printf1.h: Likewise.
18714         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
18715         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
18716         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
18717         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
18718         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18719         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18720         * tests/uniwidth/test-u16-strwidth.c: Likewise.
18721         * tests/uniwidth/test-u16-width.c: Likewise.
18722         * tests/uniwidth/test-u32-strwidth.c: Likewise.
18723         * tests/uniwidth/test-u32-width.c: Likewise.
18724         * tests/uniwidth/test-u8-strwidth.c: Likewise.
18725         * tests/uniwidth/test-u8-width.c: Likewise.
18726         * tests/uniwidth/test-uc_width.c: Likewise.
18727         * config/srclist-update: Likewise.
18728         (fixlicense): Update to GPLv3+.
18729
18730         Change copyright notice from LGPLv2.1+ to LGPLv3+.
18731         * tests/test-tsearch.c: Change copyright notice.
18732
18733         Change copyright notice from LGPLv2.0+ to LGPLv3+.
18734         * lib/c-strcaseeq.h: Change copyright notice.
18735         * lib/streq.h: Likewise.
18736         * lib/uniconv.h: Likewise.
18737         * lib/uniconv/u-conv-from-enc.h: Likewise.
18738         * lib/uniconv/u-conv-to-enc.h: Likewise.
18739         * lib/uniconv/u-strconv-from-enc.h: Likewise.
18740         * lib/uniconv/u-strconv-to-enc.h: Likewise.
18741         * lib/uniconv/u16-conv-from-enc.c: Likewise.
18742         * lib/uniconv/u16-conv-to-enc.c: Likewise.
18743         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
18744         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
18745         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
18746         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
18747         * lib/uniconv/u32-conv-from-enc.c: Likewise.
18748         * lib/uniconv/u32-conv-to-enc.c: Likewise.
18749         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
18750         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
18751         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
18752         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
18753         * lib/uniconv/u8-conv-from-enc.c: Likewise.
18754         * lib/uniconv/u8-conv-to-enc.c: Likewise.
18755         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
18756         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
18757         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
18758         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
18759         * lib/uniname.h: Likewise.
18760         * lib/uniname/uniname.c: Likewise.
18761         * lib/unistdio.h: Likewise.
18762         * lib/unistdio/u-asnprintf.h: Likewise.
18763         * lib/unistdio/u-asprintf.h: Likewise.
18764         * lib/unistdio/u-printf-args.c: Likewise.
18765         * lib/unistdio/u-printf-args.h: Likewise.
18766         * lib/unistdio/u-printf-parse.h: Likewise.
18767         * lib/unistdio/u-snprintf.h: Likewise.
18768         * lib/unistdio/u-sprintf.h: Likewise.
18769         * lib/unistdio/u-vasprintf.h: Likewise.
18770         * lib/unistdio/u-vsnprintf.h: Likewise.
18771         * lib/unistdio/u-vsprintf.h: Likewise.
18772         * lib/unistdio/u16-asnprintf.c: Likewise.
18773         * lib/unistdio/u16-asprintf.c: Likewise.
18774         * lib/unistdio/u16-printf-parse.c: Likewise.
18775         * lib/unistdio/u16-snprintf.c: Likewise.
18776         * lib/unistdio/u16-sprintf.c: Likewise.
18777         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
18778         * lib/unistdio/u16-u16-asprintf.c: Likewise.
18779         * lib/unistdio/u16-u16-snprintf.c: Likewise.
18780         * lib/unistdio/u16-u16-sprintf.c: Likewise.
18781         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
18782         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
18783         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
18784         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
18785         * lib/unistdio/u16-vasnprintf.c: Likewise.
18786         * lib/unistdio/u16-vasprintf.c: Likewise.
18787         * lib/unistdio/u16-vsnprintf.c: Likewise.
18788         * lib/unistdio/u16-vsprintf.c: Likewise.
18789         * lib/unistdio/u32-asnprintf.c: Likewise.
18790         * lib/unistdio/u32-asprintf.c: Likewise.
18791         * lib/unistdio/u32-printf-parse.c: Likewise.
18792         * lib/unistdio/u32-snprintf.c: Likewise.
18793         * lib/unistdio/u32-sprintf.c: Likewise.
18794         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
18795         * lib/unistdio/u32-u32-asprintf.c: Likewise.
18796         * lib/unistdio/u32-u32-snprintf.c: Likewise.
18797         * lib/unistdio/u32-u32-sprintf.c: Likewise.
18798         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
18799         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
18800         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
18801         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
18802         * lib/unistdio/u32-vasnprintf.c: Likewise.
18803         * lib/unistdio/u32-vasprintf.c: Likewise.
18804         * lib/unistdio/u32-vsnprintf.c: Likewise.
18805         * lib/unistdio/u32-vsprintf.c: Likewise.
18806         * lib/unistdio/u8-asnprintf.c: Likewise.
18807         * lib/unistdio/u8-asprintf.c: Likewise.
18808         * lib/unistdio/u8-printf-parse.c: Likewise.
18809         * lib/unistdio/u8-snprintf.c: Likewise.
18810         * lib/unistdio/u8-sprintf.c: Likewise.
18811         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
18812         * lib/unistdio/u8-u8-asprintf.c: Likewise.
18813         * lib/unistdio/u8-u8-snprintf.c: Likewise.
18814         * lib/unistdio/u8-u8-sprintf.c: Likewise.
18815         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
18816         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
18817         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
18818         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
18819         * lib/unistdio/u8-vasnprintf.c: Likewise.
18820         * lib/unistdio/u8-vasprintf.c: Likewise.
18821         * lib/unistdio/u8-vsnprintf.c: Likewise.
18822         * lib/unistdio/u8-vsprintf.c: Likewise.
18823         * lib/unistdio/ulc-asnprintf.c: Likewise.
18824         * lib/unistdio/ulc-asprintf.c: Likewise.
18825         * lib/unistdio/ulc-printf-parse.c: Likewise.
18826         * lib/unistdio/ulc-snprintf.c: Likewise.
18827         * lib/unistdio/ulc-sprintf.c: Likewise.
18828         * lib/unistdio/ulc-vasnprintf.c: Likewise.
18829         * lib/unistdio/ulc-vasprintf.c: Likewise.
18830         * lib/unistdio/ulc-vsnprintf.c: Likewise.
18831         * lib/unistdio/ulc-vsprintf.c: Likewise.
18832         * lib/unistr.h: Likewise.
18833         * lib/unistr/u-cpy-alloc.h: Likewise.
18834         * lib/unistr/u-cpy.h: Likewise.
18835         * lib/unistr/u-endswith.h: Likewise.
18836         * lib/unistr/u-move.h: Likewise.
18837         * lib/unistr/u-set.h: Likewise.
18838         * lib/unistr/u-startswith.h: Likewise.
18839         * lib/unistr/u-stpcpy.h: Likewise.
18840         * lib/unistr/u-stpncpy.h: Likewise.
18841         * lib/unistr/u-strcat.h: Likewise.
18842         * lib/unistr/u-strcpy.h: Likewise.
18843         * lib/unistr/u-strcspn.h: Likewise.
18844         * lib/unistr/u-strdup.h: Likewise.
18845         * lib/unistr/u-strlen.h: Likewise.
18846         * lib/unistr/u-strncat.h: Likewise.
18847         * lib/unistr/u-strncpy.h: Likewise.
18848         * lib/unistr/u-strnlen.h: Likewise.
18849         * lib/unistr/u-strpbrk.h: Likewise.
18850         * lib/unistr/u-strspn.h: Likewise.
18851         * lib/unistr/u-strstr.h: Likewise.
18852         * lib/unistr/u-strtok.h: Likewise.
18853         * lib/unistr/u16-check.c: Likewise.
18854         * lib/unistr/u16-chr.c: Likewise.
18855         * lib/unistr/u16-cmp.c: Likewise.
18856         * lib/unistr/u16-cpy-alloc.c: Likewise.
18857         * lib/unistr/u16-cpy.c: Likewise.
18858         * lib/unistr/u16-endswith.c: Likewise.
18859         * lib/unistr/u16-mblen.c: Likewise.
18860         * lib/unistr/u16-mbsnlen.c: Likewise.
18861         * lib/unistr/u16-mbtouc-aux.c: Likewise.
18862         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
18863         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
18864         * lib/unistr/u16-mbtouc.c: Likewise.
18865         * lib/unistr/u16-mbtoucr.c: Likewise.
18866         * lib/unistr/u16-move.c: Likewise.
18867         * lib/unistr/u16-next.c: Likewise.
18868         * lib/unistr/u16-prev.c: Likewise.
18869         * lib/unistr/u16-set.c: Likewise.
18870         * lib/unistr/u16-startswith.c: Likewise.
18871         * lib/unistr/u16-stpcpy.c: Likewise.
18872         * lib/unistr/u16-stpncpy.c: Likewise.
18873         * lib/unistr/u16-strcat.c: Likewise.
18874         * lib/unistr/u16-strchr.c: Likewise.
18875         * lib/unistr/u16-strcmp.c: Likewise.
18876         * lib/unistr/u16-strcpy.c: Likewise.
18877         * lib/unistr/u16-strcspn.c: Likewise.
18878         * lib/unistr/u16-strdup.c: Likewise.
18879         * lib/unistr/u16-strlen.c: Likewise.
18880         * lib/unistr/u16-strmblen.c: Likewise.
18881         * lib/unistr/u16-strmbtouc.c: Likewise.
18882         * lib/unistr/u16-strncat.c: Likewise.
18883         * lib/unistr/u16-strncmp.c: Likewise.
18884         * lib/unistr/u16-strncpy.c: Likewise.
18885         * lib/unistr/u16-strnlen.c: Likewise.
18886         * lib/unistr/u16-strpbrk.c: Likewise.
18887         * lib/unistr/u16-strrchr.c: Likewise.
18888         * lib/unistr/u16-strspn.c: Likewise.
18889         * lib/unistr/u16-strstr.c: Likewise.
18890         * lib/unistr/u16-strtok.c: Likewise.
18891         * lib/unistr/u16-to-u32.c: Likewise.
18892         * lib/unistr/u16-to-u8.c: Likewise.
18893         * lib/unistr/u16-uctomb-aux.c: Likewise.
18894         * lib/unistr/u16-uctomb.c: Likewise.
18895         * lib/unistr/u32-check.c: Likewise.
18896         * lib/unistr/u32-chr.c: Likewise.
18897         * lib/unistr/u32-cmp.c: Likewise.
18898         * lib/unistr/u32-cpy-alloc.c: Likewise.
18899         * lib/unistr/u32-cpy.c: Likewise.
18900         * lib/unistr/u32-endswith.c: Likewise.
18901         * lib/unistr/u32-mblen.c: Likewise.
18902         * lib/unistr/u32-mbsnlen.c: Likewise.
18903         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
18904         * lib/unistr/u32-mbtouc.c: Likewise.
18905         * lib/unistr/u32-mbtoucr.c: Likewise.
18906         * lib/unistr/u32-move.c: Likewise.
18907         * lib/unistr/u32-next.c: Likewise.
18908         * lib/unistr/u32-prev.c: Likewise.
18909         * lib/unistr/u32-set.c: Likewise.
18910         * lib/unistr/u32-startswith.c: Likewise.
18911         * lib/unistr/u32-stpcpy.c: Likewise.
18912         * lib/unistr/u32-stpncpy.c: Likewise.
18913         * lib/unistr/u32-strcat.c: Likewise.
18914         * lib/unistr/u32-strchr.c: Likewise.
18915         * lib/unistr/u32-strcmp.c: Likewise.
18916         * lib/unistr/u32-strcpy.c: Likewise.
18917         * lib/unistr/u32-strcspn.c: Likewise.
18918         * lib/unistr/u32-strdup.c: Likewise.
18919         * lib/unistr/u32-strlen.c: Likewise.
18920         * lib/unistr/u32-strmblen.c: Likewise.
18921         * lib/unistr/u32-strmbtouc.c: Likewise.
18922         * lib/unistr/u32-strncat.c: Likewise.
18923         * lib/unistr/u32-strncmp.c: Likewise.
18924         * lib/unistr/u32-strncpy.c: Likewise.
18925         * lib/unistr/u32-strnlen.c: Likewise.
18926         * lib/unistr/u32-strpbrk.c: Likewise.
18927         * lib/unistr/u32-strrchr.c: Likewise.
18928         * lib/unistr/u32-strspn.c: Likewise.
18929         * lib/unistr/u32-strstr.c: Likewise.
18930         * lib/unistr/u32-strtok.c: Likewise.
18931         * lib/unistr/u32-to-u16.c: Likewise.
18932         * lib/unistr/u32-to-u8.c: Likewise.
18933         * lib/unistr/u32-uctomb.c: Likewise.
18934         * lib/unistr/u8-check.c: Likewise.
18935         * lib/unistr/u8-chr.c: Likewise.
18936         * lib/unistr/u8-cmp.c: Likewise.
18937         * lib/unistr/u8-cpy-alloc.c: Likewise.
18938         * lib/unistr/u8-cpy.c: Likewise.
18939         * lib/unistr/u8-endswith.c: Likewise.
18940         * lib/unistr/u8-mblen.c: Likewise.
18941         * lib/unistr/u8-mbsnlen.c: Likewise.
18942         * lib/unistr/u8-mbtouc-aux.c: Likewise.
18943         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
18944         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
18945         * lib/unistr/u8-mbtouc.c: Likewise.
18946         * lib/unistr/u8-mbtoucr.c: Likewise.
18947         * lib/unistr/u8-move.c: Likewise.
18948         * lib/unistr/u8-next.c: Likewise.
18949         * lib/unistr/u8-prev.c: Likewise.
18950         * lib/unistr/u8-set.c: Likewise.
18951         * lib/unistr/u8-startswith.c: Likewise.
18952         * lib/unistr/u8-stpcpy.c: Likewise.
18953         * lib/unistr/u8-stpncpy.c: Likewise.
18954         * lib/unistr/u8-strcat.c: Likewise.
18955         * lib/unistr/u8-strchr.c: Likewise.
18956         * lib/unistr/u8-strcmp.c: Likewise.
18957         * lib/unistr/u8-strcpy.c: Likewise.
18958         * lib/unistr/u8-strcspn.c: Likewise.
18959         * lib/unistr/u8-strdup.c: Likewise.
18960         * lib/unistr/u8-strlen.c: Likewise.
18961         * lib/unistr/u8-strmblen.c: Likewise.
18962         * lib/unistr/u8-strmbtouc.c: Likewise.
18963         * lib/unistr/u8-strncat.c: Likewise.
18964         * lib/unistr/u8-strncmp.c: Likewise.
18965         * lib/unistr/u8-strncpy.c: Likewise.
18966         * lib/unistr/u8-strnlen.c: Likewise.
18967         * lib/unistr/u8-strpbrk.c: Likewise.
18968         * lib/unistr/u8-strrchr.c: Likewise.
18969         * lib/unistr/u8-strspn.c: Likewise.
18970         * lib/unistr/u8-strstr.c: Likewise.
18971         * lib/unistr/u8-strtok.c: Likewise.
18972         * lib/unistr/u8-to-u16.c: Likewise.
18973         * lib/unistr/u8-to-u32.c: Likewise.
18974         * lib/unistr/u8-uctomb-aux.c: Likewise.
18975         * lib/unistr/u8-uctomb.c: Likewise.
18976         * lib/unitypes.h: Likewise.
18977         * lib/uniwidth.h: Likewise.
18978         * lib/uniwidth/cjk.h: Likewise.
18979         * lib/uniwidth/u16-strwidth.c: Likewise.
18980         * lib/uniwidth/u16-width.c: Likewise.
18981         * lib/uniwidth/u32-strwidth.c: Likewise.
18982         * lib/uniwidth/u32-width.c: Likewise.
18983         * lib/uniwidth/u8-strwidth.c: Likewise.
18984         * lib/uniwidth/u8-width.c: Likewise.
18985         * lib/uniwidth/width.c: Likewise.
18986
18987 2007-10-07  Bruno Haible  <bruno@clisp.org>
18988
18989         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
18990         The file is still under LGPL (see modules/inttypes).
18991
18992 2007-10-06  Bruno Haible  <bruno@clisp.org>
18993
18994         * modules/trunc (Dependencies): Add 'extensions'.
18995         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
18996         Reported by Ben Pfaff <blp@gnu.org>.
18997
18998 2007-10-06  Bruno Haible  <bruno@clisp.org>
18999
19000         * modules/freopen-tests: New file.
19001         * tests/test-freopen.c: New file.
19002
19003         * modules/fopen-tests: New file.
19004         * tests/test-fopen.c: New file.
19005
19006         * modules/fopen: New file.
19007         * lib/fopen.c: New file.
19008         * m4/fopen.m4: New file.
19009         * modules/freopen: New file.
19010         * lib/freopen.c: New file.
19011         * m4/freopen.m4: New file.
19012         * lib/stdio.in.h (fopen, freopen): New declarations.
19013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
19014         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
19015         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
19016         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
19017         * doc/functions/fopen.texi: Mention the 'fopen' module.
19018         * doc/functions/freopen.texi: Mention the 'freopen' module.
19019
19020 2007-10-06  Bruno Haible  <bruno@clisp.org>
19021
19022         * modules/open-tests: New file.
19023         * tests/test-open.c: New file.
19024
19025         * modules/open: New file.
19026         * lib/open.c: New file.
19027         * m4/open.m4: New file.
19028         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
19029         lib/open.c does.
19030         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
19031         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
19032         macros.
19033         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
19034         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
19035         REPLACE_OPEN.
19036         * doc/functions/open.texi: Mention the 'open' module.
19037
19038 2007-10-04  Bruno Haible  <bruno@clisp.org>
19039
19040         * modules/ceill-tests: New file.
19041         * tests/test-ceill.c: New file.
19042
19043         * modules/ceill: New file.
19044         * lib/ceill.c: Replace entire file.
19045         * m4/ceill.m4: New file.
19046         * lib/math.in.h (ceill): Replace declaration.
19047         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
19048         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
19049         * doc/functions/ceill.texi: Mention the 'ceill' module.
19050         * modules/mathl (Files): Remove lib/ceill.c.
19051         (Depends-on): Add ceill.
19052
19053 2007-10-04  Bruno Haible  <bruno@clisp.org>
19054
19055         * modules/ceilf-tests: New file.
19056         * tests/test-ceilf.c: New file.
19057
19058         * modules/ceilf: New file.
19059         * lib/ceil.c: New file.
19060         * lib/ceilf.c: New file.
19061         * m4/ceilf.m4: New file.
19062         * lib/math.in.h (ceilf): New declaration.
19063         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
19064         HAVE_DECL_CEILF.
19065         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
19066         HAVE_DECL_CEILF.
19067         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
19068
19069 2007-10-04  Bruno Haible  <bruno@clisp.org>
19070
19071         * modules/floorl-tests: New file.
19072         * tests/test-floorl.c: New file.
19073
19074         * modules/floorl: New file.
19075         * lib/floorl.c: Replace entire file.
19076         * m4/floorl.m4: New file.
19077         * lib/math.in.h (floorl): Replace declaration.
19078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
19079         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
19080         * doc/functions/floorl.texi: Mention the 'floorl' module.
19081         * modules/mathl (Files): Remove lib/floorl.c.
19082         (Depends-on): Add floorl.
19083
19084 2007-10-04  Bruno Haible  <bruno@clisp.org>
19085
19086         * modules/floorf-tests: New file.
19087         * tests/test-floorf.c: New file.
19088
19089         * modules/floorf: New file.
19090         * lib/floor.c: New file.
19091         * lib/floorf.c: New file.
19092         * m4/floorf.m4: New file.
19093         * lib/math.in.h (floorf): New declaration.
19094         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
19095         HAVE_DECL_FLOORF.
19096         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
19097         HAVE_DECL_FLOORF.
19098         * doc/functions/floorf.texi: Mention the 'floorf' module.
19099
19100 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
19101             Bruno Haible  <bruno@clisp.org>
19102
19103         Advertise for the Git server instead of the CVS server.
19104         * doc/gnulib-intro.texi (Steady Development): Mention the Git
19105         repository instead of the CVS one.
19106         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
19107         about all VCS systems generically.
19108         * doc/gnulib.texi (Introduction): Capitalize `Git'.
19109
19110 2007-10-04  Bruno Haible  <bruno@clisp.org>
19111
19112         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
19113         means.
19114         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
19115
19116 2007-10-04  Bruno Haible  <bruno@clisp.org>
19117
19118         * modules/truncl-tests: New file.
19119         * tests/test-truncl.c: New file.
19120
19121         * modules/truncl: New file.
19122         * lib/truncl.c: New file.
19123         * m4/truncl.m4: New file.
19124         * lib/math.in.h (truncl): New declaration.
19125         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
19126         HAVE_DECL_TRUNCL.
19127         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
19128         HAVE_DECL_TRUNCL.
19129         * doc/functions/truncl.texi: Mention the 'truncl' module.
19130
19131 2007-10-04  Bruno Haible  <bruno@clisp.org>
19132
19133         * modules/truncf-tests: New file.
19134         * tests/test-truncf.c: New file.
19135
19136         * modules/truncf: New file.
19137         * lib/trunc.c: Make paramerizable through USE_* macros.
19138         * lib/truncf.c: New file.
19139         * m4/truncf.m4: New file.
19140         * lib/math.in.h (truncf): New declaration.
19141         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
19142         HAVE_DECL_TRUNCF.
19143         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
19144         HAVE_DECL_TRUNCF.
19145         * doc/functions/truncf.texi: Mention the 'truncf' module.
19146
19147 2007-10-03  Bruno Haible  <bruno@clisp.org>
19148
19149         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
19150         augmentation also for tests modules.
19151         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
19152         * modules/atexit-tests (Makefile.am): Likewise.
19153         * modules/binary-io-tests (Makefile.am): Likewise.
19154         * modules/c-strcase-tests (Makefile.am): Likewise.
19155         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
19156         * modules/canonicalize-tests (Makefile.am): Likewise.
19157         * modules/closein-tests (Makefile.am): Likewise.
19158         * modules/fprintf-posix-tests (Makefile.am): Likewise.
19159         * modules/freadahead-tests (Makefile.am): Likewise.
19160         * modules/fseek-tests (Makefile.am): Likewise.
19161         * modules/fseeko-tests (Makefile.am): Likewise.
19162         * modules/ftell-tests (Makefile.am): Likewise.
19163         * modules/ftello-tests (Makefile.am): Likewise.
19164         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
19165         * modules/isnanl-tests (Makefile.am): Likewise.
19166         * modules/lseek-tests (Makefile.am): Likewise.
19167         * modules/mbscasecmp-tests (Makefile.am): Likewise.
19168         * modules/mbscasestr-tests (Makefile.am): Likewise.
19169         * modules/mbschr-tests (Makefile.am): Likewise.
19170         * modules/mbscspn-tests (Makefile.am): Likewise.
19171         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
19172         * modules/mbspbrk-tests (Makefile.am): Likewise.
19173         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
19174         * modules/mbsrchr-tests (Makefile.am): Likewise.
19175         * modules/mbsspn-tests (Makefile.am): Likewise.
19176         * modules/mbsstr-tests (Makefile.am): Likewise.
19177         * modules/printf-posix-tests (Makefile.am): Likewise.
19178         * modules/snprintf-posix-tests (Makefile.am): Likewise.
19179         * modules/sprintf-posix-tests (Makefile.am): Likewise.
19180         * modules/tsearch-tests (Makefile.am): Likewise.
19181         * modules/uniname/uniname-tests (Makefile.am): Likewise.
19182         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
19183         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
19184         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
19185         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
19186         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
19187         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
19188         * modules/vprintf-posix-tests (Makefile.am): Likewise.
19189         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
19190         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
19191         * modules/xstrtoimax-tests (Makefile.am): Likewise.
19192         * modules/xstrtol-tests (Makefile.am): Likewise.
19193         * modules/xstrtoumax-tests (Makefile.am): Likewise.
19194         * modules/yesno-tests (Makefile.am): Likewise.
19195
19196 2007-10-03  Bruno Haible  <bruno@clisp.org>
19197
19198         * modules/trunc-tests: New file.
19199         * tests/test-trunc.c: New file.
19200
19201         * modules/trunc: New file.
19202         * lib/trunc.c: New file.
19203         * m4/trunc.m4: New file.
19204         * lib/math.in.h (trunc): New declaration.
19205         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
19206         HAVE_DECL_TRUNC.
19207         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
19208         HAVE_DECL_TRUNC.
19209         * doc/functions/trunc.texi: Mention the 'trunc' module.
19210
19211 2007-10-03  Bruno Haible  <bruno@clisp.org>
19212
19213         * tests/test-fpending.c: New file, mostly copied
19214         from coreutils/lib/t-fpending.c.
19215         * modules/fpending-tests: New file.
19216
19217 2007-10-03  Bruno Haible  <bruno@clisp.org>
19218
19219         Port the stdio extensions to QNX (untested).
19220         * lib/fseterr.c (fseterr): Add support for QNX.
19221         * lib/fbufmode.c (fbufmode): Likewise.
19222         * lib/freadable.c (freadable): Likewise.
19223         * lib/fwritable.c (fwritable): Likewise.
19224         * lib/freading.c (freading): Likewise.
19225         * lib/fwriting.c (fwriting): Likewise.
19226         * lib/freadahead.c (freadahed): Likewise.
19227         * lib/fpurge.c (fpurge): Likewise.
19228         * lib/fseeko.c (rpl_fseeko): Likewise.
19229
19230 2007-10-03  Bruno Haible  <bruno@clisp.org>
19231             Jim Meyering  <jim@meyering.net>
19232             Eric Blake  <ebb9@byu.net>
19233
19234         * doc/relocatable.texi: Use @command instead of @program.
19235
19236 2007-10-02  Jim Meyering  <jim@meyering.net>
19237
19238         Perform one more "_.h" -> ".in.h" substitution.
19239         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
19240         instead of unistd_.h here, too.
19241
19242 2007-10-01  Bruno Haible  <bruno@clisp.org>
19243
19244         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
19245         Needed for the alloca-opt module.
19246
19247 2007-09-30  Bruno Haible  <bruno@clisp.org>
19248
19249         * lib/alloca.in.h: Renamed from lib/alloca_.h.
19250         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
19251         alloca_.h.
19252         * lib/argz.in.h: Renamed from lib/argz_.h.
19253         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
19254         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
19255         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
19256         byteswap_.h.
19257         * lib/dirent.in.h: Renamed from lib/dirent_.h.
19258         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
19259         dirent_.h.
19260         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
19261         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
19262         fcntl_.h.
19263         * lib/float.in.h: Renamed from lib/float_.h.
19264         * modules/float (Files, Makefile.am): Use float.in.h instead of
19265         float_.h.
19266         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
19267         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
19268         fnmatch_.h.
19269         * lib/getopt.in.h: Renamed from lib/getopt_.h.
19270         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
19271         getopt_.h.
19272         * lib/glob.in.h: Renamed from lib/glob_.h.
19273         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
19274         * lib/iconv.in.h: Renamed from lib/iconv_.h.
19275         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
19276         iconv_.h.
19277         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
19278         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
19279         inttypes_.h.
19280         * lib/locale.in.h: Renamed from lib/locale_.h.
19281         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
19282         locale_.h.
19283         * lib/math.in.h: Renamed from lib/math_.h.
19284         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
19285         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
19286         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
19287         of netinet_in_.h. Add dependency.
19288         * lib/poll.in.h: Renamed from lib/poll_.h.
19289         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
19290         * lib/search.in.h: Renamed from lib/search_.h.
19291         * modules/search (Files, Makefile.am): Use search.in.h instead of
19292         search_.h.
19293         * lib/signal.in.h: Renamed from lib/signal_.h.
19294         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
19295         _signal.h.
19296         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
19297         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
19298         stdbool_.h.
19299         * lib/stdint.in.h: Renamed from lib/stdint_.h.
19300         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
19301         stdint_.h.
19302         * lib/stdio.in.h: Renamed from lib/stdio_.h.
19303         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
19304         stdio_.h.
19305         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
19306         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
19307         stdlib_.h.
19308         * lib/string.in.h: Renamed from lib/string_.h.
19309         * modules/string (Files, Makefile.am): Use string.in.h instead of
19310         string_.h.
19311         * doc/gnulib-tool.texi (Initial import): Update.
19312         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
19313         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
19314         of sys_select_.h. Add dependency.
19315         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
19316         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
19317         of sys_socket_.h.
19318         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
19319         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
19320         sys_stat_.h.
19321         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
19322         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
19323         sys_time_.h.
19324         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
19325         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
19326         sysexits_.h.
19327         * lib/time.in.h: Renamed from lib/time_.h.
19328         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
19329         * lib/unistd.in.h: Renamed from lib/unistd_.h.
19330         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
19331         unistd_.h.
19332         * lib/wchar.in.h: Renamed from lib/wchar_.h.
19333         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
19334         wchar_.h.
19335         * lib/wctype.in.h: Renamed from lib/wctype_.h.
19336         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
19337         wctype_.h.
19338         * build-aux/bootstrap (slurp): Update.
19339         * lib/.cppi-disable: Update.
19340
19341 2007-09-30  Bruno Haible  <bruno@clisp.org>
19342
19343         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
19344         Needed on BeOS.
19345
19346 2007-09-30  Bruno Haible  <bruno@clisp.org>
19347
19348         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
19349
19350 2007-09-29  Bruno Haible  <bruno@clisp.org>
19351
19352         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
19353
19354 2007-09-29  Bruno Haible  <bruno@clisp.org>
19355
19356         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
19357         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
19358         * build-aux/install-reloc: Compile also areadlink.c.
19359         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
19360
19361 2007-09-29  Bruno Haible  <bruno@clisp.org>
19362
19363         * gnulib-tool (func_emit_initmacro_done): Indentation.
19364
19365 2007-09-29  Bruno Haible  <bruno@clisp.org>
19366
19367         * README: Add CVS checkout update instructions.
19368         Info from Bob Proulx <bob@proulx.com>.
19369
19370 2007-09-28  Eric Blake  <ebb9@byu.net>
19371
19372         Provide move-if-change.
19373         * build-aux/move-if-change: New file, based on best practice
19374         rather than any canonical upstream location.
19375
19376 2007-09-28  Jim Meyering  <jim@meyering.net>
19377
19378         Fix canonicalize loop-detection corner case.
19379         Do not attempt to stat the symlink values stored via seen_triple.
19380         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
19381         on linux-2.6.18, (but not 2.6.22).
19382         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
19383         triple_compare.  The former compares dev,ino,filename, while the latter
19384         would actually stat dirname(filename) when dev and ino were equal.
19385         * lib/hash-triple.c: Install <string.h>.
19386         (STREQ): Define.
19387         (triple_compare_ino_str): New function.
19388         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
19389
19390 2007-09-28  Eric Blake  <ebb9@byu.net>
19391
19392         Enforce that AC_REPLACE_FUNCS files exist.
19393         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
19394         override check for typos.
19395
19396         Fix test-closein on Solaris 10.
19397         * tests/test-closein.c (main): Don't assume stdin can be inherited
19398         closed on all systems.
19399         * tests/test-closein.sh: Likewise.
19400         Reported by Piotr Tarnowski.
19401
19402 2007-09-28  Jim Meyering  <jim@meyering.net>
19403
19404         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
19405
19406 2007-09-27  Jim Meyering  <jim@meyering.net>
19407
19408         canonicalize: Avoid a false-positive cycle failure.
19409         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
19410         Sort.  Remove cycle-check.
19411         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
19412         not cycle-check.h.
19413         (seen_triple): New function.
19414         (canonicalize_filename_mode): Use it instead of cycle-check.
19415         * tests/test-canonicalize.c: Add a test for this bug.
19416         * tests/test-canonicalize.sh: Set up and run the test.
19417
19418         New module, file-set, from coreutils.
19419         * modules/file-set: Define it.
19420         * lib/file-set.c, lib/file-set.h: Implement.
19421
19422         New module, hash-triple, from coreutils.
19423         * modules/hash-triple: Define it.
19424         * lib/hash-triple.c, lib/hash-triple.h: Implement.
19425
19426 2007-09-25  Eric Blake  <ebb9@byu.net>
19427
19428         Fix strerror on Interix.
19429         * lib/string_.h (strerror): Declare replacement.
19430         * doc/functions/strerror.texi (strerror): Document the Interix
19431         shortcoming.
19432         * modules/string (Makefile.am): Support new hooks.
19433         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
19434         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
19435         gl_FUNC_STRERROR_SEPARATE.
19436         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
19437         * lib/strerror.c (rpl_strerror): Provide replacement.
19438         * modules/strerror (Depends-on): Add string.
19439         (configure.ac): Detect use of module.
19440         * tests/test-strerror.c: New file.
19441         * modules/strerror-tests: New test module.
19442         * modules/argp (Depends-on): Add strerror.
19443         * modules/error (Depends-on): Likewise.
19444         Reported by Martin Koeppe.
19445
19446 2007-09-24  Bruno Haible  <bruno@clisp.org>
19447
19448         * README: Update git instructions.
19449
19450 2007-09-24  Eric Blake  <ebb9@byu.net>
19451
19452         Revert fpending breakage from 2007-09-08.
19453         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
19454         __fpending.c.
19455
19456 2007-09-24  Jim Meyering  <jim@meyering.net>
19457
19458         filenamecat.c: Add a test.
19459         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
19460         showing how the function works when DIR is the empty string.
19461
19462 2007-09-21  Simon Josefsson  <simon@josefsson.org>
19463
19464         * tests/test-canonicalize.sh: Turn on executable bit.
19465
19466 2007-09-19  Eric Blake  <ebb9@byu.net>
19467
19468         * README: Update CVS instructions.
19469
19470 2007-09-18  Bruno Haible  <bruno@clisp.org>
19471
19472         * modules/areadlink: New file.
19473         * lib/areadlink.h (areadlink): New declaration.
19474         * lib/areadlink.c: New file, based on lib/xreadlink.c.
19475
19476 2007-09-17  Jim Meyering  <jim@meyering.net>
19477
19478         * lib/savewd.c (ESTALE) [!defined]: Define.
19479         Reported to be required on Interix by Martin Koeppe.
19480
19481 2007-09-17  Bruno Haible  <bruno@clisp.org>
19482
19483         * gnulib-tool (func_version): Use $version.
19484
19485 2007-09-16  Bruno Haible  <bruno@clisp.org>
19486
19487         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
19488         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
19489         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
19490         Reported by Greg Schafer <gschafer@zip.com.au>.
19491
19492 2007-09-15  Bruno Haible  <bruno@clisp.org>
19493
19494         * gnulib-tool (sed): Try a little harder to make bash understand the
19495         alias.
19496         Reported by Bruce Korb <bruce.korb@gmail.com>.
19497
19498 2007-09-13  Eric Blake  <ebb9@byu.net>
19499
19500         * ChangeLog: Remove conflict markers.
19501
19502 2007-09-13  Simon Josefsson  <simon@josefsson.org>
19503
19504         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
19505         Reported by Bruno Haible <bruno@clisp.org>.
19506
19507 2007-09-12  Bruno Haible  <bruno@clisp.org>
19508
19509         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
19510         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
19511         is not defined.
19512
19513 2007-09-12  Eric Blake  <ebb9@byu.net>
19514
19515         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
19516         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
19517         Autoconf definition.
19518         * modules/euidaccess (Depends-on): Add extensions, for
19519         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
19520         * modules/fnmatch (Depends-on): Likewise.
19521         * modules/getaddrinfo (Depends-on): Likewise.
19522         * modules/getdelim (Depends-on): Likewise.
19523         * modules/getline (Depends-on): Likewise.
19524         * modules/getsubopt (Depends-on): Likewise.
19525         * modules/gettext (Depends-on): Likewise.
19526         * modules/group-member (Depends-on): Likewise.
19527         * modules/mbchar (Depends-on): Likewise.
19528         * modules/memmem (Depends-on): Likewise.
19529         * modules/mempcpy (Depends-on): Likewise.
19530         * modules/memrchr (Depends-on): Likewise.
19531         * modules/pagealign_alloc (Depends-on): Likewise.
19532         * modules/readutmp (Depends-on): Likewise.
19533         * modules/stpcpy (Depends-on): Likewise.
19534         * modules/stpncpy (Depends-on): Likewise.
19535         * modules/strchrnul (Depends-on): Likewise.
19536         * modules/strndup (Depends-on): Likewise.
19537         * modules/strsep (Depends-on): Likewise.
19538         * modules/strverscmp (Depends-on): Likewise.
19539         * modules/vasprintf (Depends-on): Likewise.
19540         * modules/wcwidth (Depends-on): Likewise.
19541         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
19542         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
19543         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
19544         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
19545         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
19546         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
19547         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
19548         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
19549         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
19550         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
19551         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
19552         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
19553         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
19554         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
19555         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
19556         * m4/readutmp.m4 (gl_READUTMP): Likewise.
19557         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
19558         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
19559         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
19560         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
19561         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
19562         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
19563         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
19564         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
19565         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
19566         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
19567         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
19568         so that lock.m4 can be used in gettext without extensions module.
19569
19570 2007-09-11  Bruno Haible  <bruno@clisp.org>
19571
19572         * m4/isc-posix.m4: Remove file.
19573         Suggested by Eric Blake.
19574
19575 2007-09-11  Eric Blake  <ebb9@byu.net>
19576
19577         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
19578
19579 2007-09-10  Bruno Haible  <bruno@clisp.org>
19580
19581         * posix-modules: Fix typo in error message.
19582         Reported by Matt <mkraai@beckman.com>.
19583
19584 2007-09-09  Bruno Haible  <bruno@clisp.org>
19585
19586         * doc/functions/getdelim.texi: Update list of platforms lacking the
19587         function.
19588         * doc/functions/getline.texi: Likewise.
19589
19590 2007-09-09  Jim Meyering  <jim@meyering.net>
19591
19592         * lib/hash.c (hash_initialize): Detect calloc failure.
19593         Reported by Bruno Haible.
19594
19595 2007-09-09  Bruno Haible  <bruno@clisp.org>
19596
19597         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
19598         malloc or realloc fails.
19599
19600 2007-09-09  Bruno Haible  <bruno@clisp.org>
19601
19602         * modules/getcwd (Depends-on): Add malloc-posix.
19603         * modules/glob (Depends-on): Likewise.
19604         * modules/putenv (Depends-on): Likewise.
19605         * modules/strdup (Depends-on): Likewise.
19606         * modules/getdelim (Depends-on): Add realloc-posix.
19607         * modules/read-file (Depends-on): Likewise.
19608
19609 2007-09-09  Bruno Haible  <bruno@clisp.org>
19610
19611         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
19612         (gl_FUNC_MALLOC_POSIX): Require it.
19613         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
19614         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
19615         * modules/realloc (Files): Add m4/malloc.m4.
19616         * modules/calloc (Files): Likewise.
19617
19618 2007-09-09  Bruno Haible  <bruno@clisp.org>
19619
19620         * modules/malloc-posix: New file.
19621         * modules/malloc (Depends-on): Add malloc-posix.
19622         * lib/malloc.c: Include errno.h.
19623         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
19624         and a POSIX-compatible malloc into a single function. Set ENOMEM
19625         when returning NULL.
19626         * m4/malloc.m4: New file.
19627         * doc/functions/malloc.texi: Mention the malloc-posix module.
19628         * lib/stdlib_.h (malloc): New declaration.
19629         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19630         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
19631         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
19632         and HAVE_MALLOC_POSIX.
19633
19634 2007-09-09  Bruno Haible  <bruno@clisp.org>
19635
19636         * modules/realloc-posix: New file.
19637         * modules/realloc (Depends-on): Add realloc-posix.
19638         * lib/realloc.c: Include errno.h.
19639         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
19640         and a POSIX-compatible realloc into a single function. Set ENOMEM
19641         when returning NULL.
19642         * m4/realloc.m4: New file.
19643         * doc/functions/realloc.texi: Mention the realloc-posix module.
19644         * lib/stdlib_.h (realloc): New declaration.
19645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19646         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
19647         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
19648         and HAVE_REALLOC_POSIX.
19649
19650 2007-09-09  Bruno Haible  <bruno@clisp.org>
19651
19652         * modules/calloc-posix: New file.
19653         * modules/calloc (Depends-on): Add calloc-posix.
19654         * lib/calloc.c: Include errno.h.
19655         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
19656         and a POSIX-compatible calloc into a single function. Set ENOMEM
19657         when returning NULL.
19658         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
19659         * doc/functions/calloc.texi: Mention the calloc-posix module.
19660         * lib/stdlib_.h (calloc): New declaration.
19661         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19662         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
19663         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
19664         and HAVE_CALLOC_POSIX.
19665
19666 2007-09-09  Bruno Haible  <bruno@clisp.org>
19667
19668         Allow for modules to show an arbitrary notice.
19669         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
19670         * gnulib-tool: New option --extract-notice.
19671         (func_usage): Document it.
19672         (sed_extract_prog): Update.
19673         (func_get_notice): New function.
19674         (func_modules_notice): New function.
19675         (func_import, func_create_testdir): Invoke it.
19676         Suggested by Jim Meyering.
19677
19678 2007-09-09  Bruno Haible  <bruno@clisp.org>
19679
19680         * gnulib-tool: New options --verbose, --quiet.
19681         (func_usage): Document them.
19682         (verbose): New variable.
19683         (func_execute_command): New function.
19684         (func_import): Don't show the module list and the file list if
19685         $verbose < 0.
19686         (func_create_testdir): Likewise. Use func_execute_command.
19687         (func_create_megatestdir): Use func_execute_command.
19688
19689 2007-09-08  Bruno Haible  <bruno@clisp.org>
19690
19691         * gnulib-tool (func_import): Prefer rsync over wget when available,
19692         for fetching the PO files.
19693
19694 2007-09-08  Bruno Haible  <bruno@clisp.org>
19695
19696         * posix-modules: New file. Portions copied from gnulib-tool.
19697         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
19698
19699 2007-09-08  Jim Meyering  <jim@meyering.net>
19700
19701         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
19702         * lib/fpending.h: Rename from __fpending.h.
19703         * lib/fpending.c: Rename from __fpending.c.
19704         Include "fpending.h", not "__fpending.h".
19705         * lib/__fpending.h, lib/__fpending.c: Remove files.
19706         * modules/fpending (Files): Reflect new file names.
19707         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
19708
19709 2007-09-08  Bruno Haible  <bruno@clisp.org>
19710
19711         * m4/inttypes-h.m4: Remove stub file.
19712
19713 2007-09-07  Simon Josefsson  <simon@josefsson.org>
19714
19715         * doc/headers/stdint.texi: Discuss #include_next issue.
19716
19717 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
19718
19719         * build-aux/bootstrap: Remove obsolete comment about wget --help.
19720
19721 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19722
19723         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
19724         in variable name.
19725
19726 2007-09-03  Jim Meyering  <jim@meyering.net>
19727
19728         New module: git-version-gen.
19729         * modules/git-version-gen: New file.
19730
19731         Import changes from coreutils for bootstrap script.
19732
19733         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
19734
19735         bootstrap: uses rsync to download the .po files
19736         * build-aux/bootstrap (po_download_command_format): New global.
19737         (download_po_files): Use rsync.
19738         (update_po_files): Don't remove .po files after download,
19739         so future rsync runs can take advantage of the copies.
19740
19741         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
19742
19743         Solve the unnecessary-.po-file-regeneration problem once and for all.
19744         * build-aux/bootstrap (download_po_files): New function, renamed from
19745         get_translations.  Now, downloads, but doesn't update LINGUAS.
19746         (update_po_files): New function.
19747
19748         bootstrap: Ignore more.
19749         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
19750         uniwidth to e.g., lib/.gitignore.
19751         (slurp): Handle the sys_stat_.h -> sys mapping, too.
19752
19753         * build-aux/bootstrap: New setting: vc_ignore.
19754         (insert_sorted_if_absent): Create $file if absent.
19755         Adapt to new, possibly empty, list: $vc_ignore.
19756
19757         bootstrap: generate more ignorable names
19758         * build-aux/bootstrap (slurp): When generating ignorable names,
19759         also map .sin to .sed, .gperf to .c, and .y to .c.
19760
19761 2007-09-03  Jim Meyering  <jim@meyering.net>
19762
19763         * build-aux/git-version-gen: New file, from coreutils.  For details, see
19764         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
19765
19766 2007-09-02  Bruno Haible  <bruno@clisp.org>
19767
19768         Fix mis-recognition of 'mcs' on QNX 6.
19769         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
19770         output contains the string "Mono".
19771         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
19772         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
19773
19774 2007-09-01  Bruno Haible  <bruno@clisp.org>
19775
19776         Fix collision between uniwidth/* and linebreak modules.
19777         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
19778         u32_width): Remove declarations.
19779         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
19780         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
19781         streq3, streq2, streq1, streq0): Remove functions.
19782         (STREQ): Remove macro.
19783         (is_cjk_encoding): Remove function.
19784         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
19785         (uc_width, u8_width, u16_width, u32_width): Remove functions.
19786         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
19787         * NEWS: Document the change.
19788
19789 2007-09-01  Bruno Haible  <bruno@clisp.org>
19790
19791         * lib/streq.h: Add double-inclusion guard.
19792
19793 2007-09-01  Karl Berry  <karl@gnu.org>
19794
19795         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
19796
19797 2007-08-28  Jim Meyering  <jim@meyering.net>
19798
19799         Rename mreadlink_with_size to areadlink_with_size.
19800         * NEWS: Document the change.
19801         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
19802         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
19803         * lib/mreadlink.h: Rename this to...
19804         * lib/areadlink.h: ...this.
19805         * modules/mreadlink-with-size: Rename this to...
19806         * modules/areadlink-with-size: ...this.
19807         * lib/canonicalize.c: Reflect the renaming.
19808         * modules/canonicalize: Likewise.
19809
19810 2007-08-26  Bruno Haible  <bruno@clisp.org>
19811
19812         * gnulib-tool (func_import): When deciding which files to remove,
19813         consider also dangling symbolic links.
19814         Reported by Eric Blake.
19815
19816 2007-08-26  Bruno Haible  <bruno@clisp.org>
19817
19818         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
19819
19820 2007-08-23  Simon Josefsson  <simon@josefsson.org>
19821
19822         * lib/readline.c: Don't include getline.h, the prototype is now
19823         found in stdio.h.
19824
19825 2007-08-23  Jim Meyering  <jim@meyering.net>
19826
19827         Getdelim touchup.
19828         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
19829         around the funlockfile call, since funlockfile never sets errno.
19830         Don't set errno upon failed realloc.
19831
19832 2007-08-22  Eric Blake  <ebb9@byu.net>
19833
19834         Getline touchups.
19835         * lib/getdelim.c (getdelim): Revert regression that required *n to
19836         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
19837         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
19838         getdelim, rather than whether implementation is missing.
19839         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
19840         * lib/stdio_.h (getline): Also declare if replacement is
19841         required.
19842         * doc/functions/getdelim.texi: New file.
19843         * doc/functions/getline.texi: Likewise.
19844         * doc/gnulib.texi (Function Substitutes): Add new files.
19845         Reported by Bruno Haible.
19846
19847 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
19848
19849         * users.txt: Add Guile.
19850
19851 2007-08-22  Eric Blake  <ebb9@byu.net>
19852
19853         * tests/test-getdelim.c (main): Use remove, not unlink.
19854         * tests/test-getline.c (main): Likewise.
19855
19856         Move getline and getdelim into stdio.h, per POSIX 200x.
19857         * modules/getline (Files): Remove getline.h.
19858         (Depends-on): Add stdio.
19859         (configure.ac): Add module indicator.
19860         * modules/getdelim (Files): Remove getdelim.h.
19861         (Depends-on): Add stdio.
19862         (configure.ac): Add module indicator.
19863         * modules/stdio (Makefile.am): Work with new indicators.
19864         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
19865         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
19866         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
19867         * lib/getdelim.h: Delete.
19868         * lib/getline.h: Delete.
19869         * lib/stdio_.h (getdelim, getline): Declare.
19870         * modules/getdelim-tests: New module.
19871         * modules/getline-tests: Likewise.
19872         * tests/test-getdelim.c: New file.
19873         * tests/test-getline.c: Likewise.
19874         * NEWS: Document the change.
19875         * lib/getline.c: Update choice of header.
19876         * lib/csharpcomp.c: Likewise.
19877         * lib/getpass.c: Likewise.
19878         * lib/javacomp.c: Likewise.
19879         * lib/javaversion.c: Likewise.
19880         * lib/yesno.c: Likewise.
19881         * lib/getdelim.c: Likewise.
19882         (getdelim): Set errno on failure, and avoid memory leak.
19883
19884 2007-08-19  Bruno Haible  <bruno@clisp.org>
19885
19886         * modules/closein (Depends-on): Add freadahead.
19887         * lib/closein.c: Include freadahead.h.
19888         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
19889         is zero.
19890
19891 2007-08-19  Bruno Haible  <bruno@clisp.org>
19892
19893         * modules/freadahead-tests: New file.
19894         * tests/test-freadahead.sh: New file.
19895         * tests/test-freadahead.c: New file.
19896
19897         * modules/freadahead: New file.
19898         * lib/freadahead.h: New file.
19899         * lib/freadahead.c: New file.
19900         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
19901         fbufmode, fpurge, freadable, fwritable.
19902
19903 2007-08-19  Eric Blake  <ebb9@byu.net>
19904
19905         Test yesno in combination with closein.
19906         * lib/yesno.c (yesno): Document use of stdin.
19907         * modules/yesno-tests (Files): New module.
19908         * tests/test-yesno.c (main): New file.
19909         * tests/test-yesno.sh: Likewise.
19910
19911 2007-08-19  Bruno Haible  <bruno@clisp.org>
19912
19913         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
19914         * lib/fseeko.c (rpl_fseeko): Likewise.
19915         * lib/fseterr.c (fseterr): Likewise.
19916
19917 2007-08-19  Bruno Haible  <bruno@clisp.org>
19918
19919         * tests/test-lseek.c (main): Disable a test for BeOS.
19920         * doc/functions/lseek.texi: Document the BeOS bug.
19921
19922 2007-08-19  Bruno Haible  <bruno@clisp.org>
19923             Eric Blake  <ebb9@byu.net>
19924
19925         * lib/lseek.c: Include <sys/stat.h>.
19926         (rpl_lseek): Add workaround code also for Unix platforms.
19927         Needed for BeOS.
19928         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
19929         * doc/functions/lseek.texi: Document BeOS definiency.
19930
19931 2007-08-18  Bruno Haible  <bruno@clisp.org>
19932
19933         * modules/fstrcmp-tests: New file.
19934         * tests/test-fstrcmp.c: New file.
19935
19936 2007-08-18  Bruno Haible  <bruno@clisp.org>
19937
19938         * modules/fstrcmp: New file, from GNU gettext with modifications.
19939         * lib/fstrcmp.h: New file, from GNU gettext.
19940         * lib/fstrcmp.c: New file, from GNU gettext.
19941         * MODULES.html.sh (String handling): Add fstrcmp.
19942
19943 2007-08-18  Bruno Haible  <bruno@clisp.org>
19944
19945         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
19946         'bool'.
19947         (diag, compareseq): Remove const from the ctxt argument.
19948         (USE_HEURISTIC): Undefine at the end.
19949
19950 2007-08-18  Jim Meyering  <jim@meyering.net>
19951
19952         New file: lib/idcache.h
19953         * NEWS: Mention the addition.
19954         * modules/idcache (Files): Add lib/idcache.h
19955         * lib/idcache.c: Include "idcache.h".
19956         Don't include <sys/types.h>.
19957         Add a FIXME comment.
19958         Move file-scoped "static" declarations to the top.
19959         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
19960
19961 2007-08-17  Bruno Haible  <bruno@clisp.org>
19962         and Paul Eggert  <eggert@cs.ucla.edu>
19963
19964         * MODULES.html.sh: Add diffseq.
19965         * modules/diffseq: New file.
19966         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
19967         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
19968
19969 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19970
19971         Import changes from coreutils for bootstrap script.
19972
19973         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
19974
19975         * build-aux/bootstrap (slurp): Work even in environments where
19976         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
19977         current code does not slurp files whose names start with ".", and
19978         this looks like it might be a troublesome area.
19979
19980         2007-07-11  Jim Meyering  <jim@meyering.net>
19981
19982         If there's a GPL vN copyright comment, require that N == 3.
19983
19984         2007-07-08  Jim Meyering  <jim@meyering.net>
19985
19986         Run the coreutils-specific code only if tests/Makefile.am.in exists.
19987         * build-aux/bootstrap (mam_template): Move definition out of loop.
19988
19989         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
19990
19991         * build-aux/bootstrap (symlink_to_dir): Rename function from
19992         symlink_to_gnulib.  Add a directory parameter.  Update all
19993         callers.
19994         (cp_mark_as_generated): Also check for -- and link to -- files in
19995         gl/.
19996
19997         2007-07-08  Jim Meyering  <jim@meyering.net>
19998
19999         Adapt to deeper hierarchy in gnulib.
20000         * build-aux/bootstrap (symlink_to_dir): If the destination
20001         directory doesn't exist, create it. This is required at least for
20002         "lib/uniwidth/cjk.h".
20003
20004         2007-05-15  Jim Meyering  <jim@meyering.net>
20005
20006         * build-aux/bootstrap: Now that generated Makefile.am files
20007         are no longer under version control, they must be created at
20008         bootstrap time.
20009
20010 2007-08-14  Ben Pfaff  <blp@gnu.org>
20011
20012         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
20013
20014 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
20015
20016         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
20017         given the changes below.
20018         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
20019         even on hosts that have padding bits beyond the supported 64.
20020
20021 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20022
20023         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
20024         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
20025         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
20026         depends on it.
20027         (xstrtol_error): Remove.
20028         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
20029         but with a different signature.
20030         (ATTRIBUTE_NORETURN, __attribute__): New macros.
20031         * lib/xstrtol-error.c: Include exitfail.h.
20032         (xstrtol_fatal): New function, with a different signature from the
20033         old xstrtol_error, so that the caller need not worry about passing
20034         in an exit status, or about storage management of the option argument.
20035         (xstrtol_error): Now a static function.  Redo signature to
20036         implement xstrtol_fatal.  Output the correct number of hyphens in
20037         front of the option so that the caller need not worry about
20038         storage management.
20039         (N_): New macro.
20040         (_): Remove; not used now.
20041         * modules/xstrtol: Depend on getopt.
20042         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
20043         of old STRTOL_FATAL_ERROR macro.
20044         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
20045         of test program.
20046         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
20047         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
20048
20049 2007-08-08  Eric Blake  <ebb9@byu.net>
20050
20051         * lib/xstrtol-error.c: Add missing include.
20052
20053         Move xstrtol messages into gnulib domain, when --pobase is used.
20054         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
20055         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
20056         * modules/xstrtol (Files): Distribute new file.
20057         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
20058         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
20059         * tests/test-xstrtol.c: ...into new file.
20060         * tests/test-xstrtoul.c: Also test xstrtoul.
20061         * tests/test-xstrtoimax.c: Also test xstrtoimax.
20062         * tests/test-xstrtoumax.c: Also test xstrtoumax.
20063         * tests/test-xstrtol.sh: Drive the tests.
20064         * tests/test-xstrtoimax.sh: Likewise.
20065         * tests/test-xstrtoumax.sh: Likewise.
20066         * modules/xstrtol-tests: New module.
20067         * modules/xstrtoimax-tests: Likewise.
20068         * modules/xstrtoumax-tests: Likewise.
20069
20070 2007-08-08  Jim Meyering  <jim@meyering.net>
20071
20072         New function: mfile_name_concat.
20073         * lib/filenamecat.c (mfile_name_concat): New function, just like
20074         file_name_concat, but return NULL upon failure rather than exiting
20075         with a diagnostic.
20076         * lib/filenamecat.h: Declare it.
20077
20078 2007-08-07  Bruno Haible  <bruno@clisp.org>
20079
20080         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
20081         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
20082         warning from gcc.
20083         Reported by Eric Blake.
20084
20085 2007-08-07  Simon Josefsson  <simon@josefsson.org>
20086
20087         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
20088         * modules/crypto/arcfour (License): Likewise.
20089         * modules/crypto/des-tests (License): Likewise.
20090         * modules/crypto/gc-arctwo-tests (License): Likewise.
20091         * modules/crypto/gc-des-tests (License): Likewise.
20092         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
20093         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
20094         * modules/crypto/gc-md2-tests (License): Likewise.
20095         * modules/crypto/gc-md4-tests (License): Likewise.
20096         * modules/crypto/gc-md5-tests (License): Likewise.
20097         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
20098         * modules/crypto/gc-rijndael-tests (License): Likewise.
20099         * modules/crypto/gc-sha1-tests (License): Likewise.
20100         * modules/crypto/gc-tests (License): Likewise.
20101         * modules/crypto/hmac-md5 (License): Likewise.
20102         * modules/crypto/hmac-sha1 (License): Likewise.
20103         * modules/crypto/md2-tests (License): Likewise.
20104         * modules/crypto/md4-tests (License): Likewise.
20105         * modules/crypto/md5 (License): Likewise.
20106         * modules/crypto/rijndael (License): Likewise.
20107         * modules/crypto/sha1 (License): Likewise.
20108         * modules/memxor (License): Likewise.
20109
20110 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
20111         and Bruno Haible  <bruno@clisp.org>
20112
20113         * NEWS: Describe interface changes to human, xstrtol.
20114         * lib/human.h: Include <xstrtol.h>.
20115         (human_options): Return enum strtol_error, not int.  Remove
20116         bool arg; take int * instead.
20117         * lib/human.c: Don't include "gettext.h".
20118         (_): Remove; no longer used.
20119         Don't include <xstrtol.h>, since human.h does it.
20120         (human_options): Adjust to abovementioned interface changes.
20121         Do not report error to stderr; that's now the caller's
20122         responsibility.
20123         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
20124         interface change.
20125         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
20126         Str, Argument_type_string.  All uses changed.  Put " argument"
20127         in diagnostics to make them clearer.  Change wording of suffix
20128         message for clarity.
20129         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
20130         Argument_type_string.
20131         (STRTOL_FATAL_WARN): Remove; no longer used.
20132         * modules/human (Depends-on): Remove gettext-h.
20133
20134 2007-08-06  Simon Josefsson  <simon@josefsson.org>
20135
20136         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
20137
20138 2007-07-31  Bruno Haible  <bruno@clisp.org>
20139
20140         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
20141         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
20142         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
20143
20144 2007-07-31  Bruno Haible  <bruno@clisp.org>
20145
20146         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
20147         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
20148
20149 2007-07-30  Bruno Haible  <bruno@clisp.org>
20150
20151         * modules/base64 (License): Use the synonymous term "LGPLv2+".
20152         * modules/c-ctype (License): Likewise.
20153         * modules/c-strcase (License): Likewise.
20154         * modules/check-version (License): Likewise.
20155         * modules/iconv (License): Likewise.
20156         * modules/iconv_open (License): Likewise.
20157         * modules/read-file (License): Likewise.
20158         * modules/striconv (License): Likewise.
20159         * modules/strverscmp (License): Likewise.
20160         * modules/vasprintf (License): Likewise.
20161         * modules/crypto/des (License): Likewise.
20162         * modules/crypto/gc (License): Likewise.
20163         * modules/crypto/gc-arcfour (License): Likewise.
20164         * modules/crypto/gc-arctwo (License): Likewise.
20165         * modules/crypto/gc-des (License): Likewise.
20166         * modules/crypto/gc-hmac-md5 (License): Likewise.
20167         * modules/crypto/gc-hmac-sha1 (License): Likewise.
20168         * modules/crypto/gc-md2 (License): Likewise.
20169         * modules/crypto/gc-md4 (License): Likewise.
20170         * modules/crypto/gc-md5 (License): Likewise.
20171         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
20172         * modules/crypto/gc-random (License): Likewise.
20173         * modules/crypto/gc-rijndael (License): Likewise.
20174         * modules/crypto/gc-sha1 (License): Likewise.
20175         * modules/crypto/md2 (License): Likewise.
20176         * modules/crypto/md4 (License): Likewise.
20177
20178 2007-07-30  Jim Meyering  <jim@meyering.net>
20179
20180         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
20181         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
20182         it has valid stat data.  This bug would cause du not to count the
20183         sizes of inaccessible directories.
20184         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
20185         in <http://bugzilla.redhat.com/250077>.
20186
20187 2007-07-25  Peter O'Gorman  <peter@pogma.com>
20188             Bruno Haible  <bruno@clisp.org>
20189
20190         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
20191         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
20192         #include_next, gives a diagnostic about it, but reports no error in
20193         the exit code.
20194         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
20195
20196 2007-07-24  Ben Pfaff  <blp@gnu.org>
20197
20198         Improve name: "count-one-bits" is better than "popcount".
20199         * MODULES.html.sh: Update name.
20200         * lib/popcount.h: Renamed lib/count-one-bits.h.
20201         (popcount): Renamed count_one_bits.
20202         (popcountl): Renamed count_one_bits_l.
20203         (popcountll): Renamed count_one_bits_ll.
20204         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
20205         * modules/popcount: Renamed module/count-one-bits.
20206         * modules/popcount-tests: Renamed module/count-one-bits-tests.
20207         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
20208
20209 2007-07-23  Ben Pfaff  <blp@gnu.org>
20210
20211         * lib/popcount.h (popcount32): Reduce size of constants, to allow
20212         better code generation, and add U to large constants to avoid
20213         warnings, in non-GCC case.
20214         Suggested by Bruno Haible.
20215
20216 2007-07-23  Ben Pfaff  <blp@gnu.org>
20217
20218         * lib/popcount.h: Use verify_true instead of if...abort.
20219         * modules/popcount: Depend on verify module.
20220         Suggested by Jim Meyering.
20221
20222 2007-07-23  Bruno Haible  <bruno@clisp.org>
20223
20224         * gnulib-tool (func_import): Create a .cvsignore file also when the
20225         directory is not yet in CVS but the toplevel directory is. When
20226         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
20227         Reported by Karl Berry.
20228
20229 2007-07-22  Ben Pfaff  <blp@gnu.org>
20230
20231         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
20232         case.
20233         Suggested by Eric Blake.
20234
20235 2007-07-22  Ben Pfaff  <blp@gnu.org>
20236
20237         New module: popcount.
20238         * MODULES.html.sh: Add popcount.
20239         * modules/popcount: New file.
20240         * modules/popcount-tests: New file.
20241         * tests/test-popcount.c: New file.
20242         * lib/popcount.h: New file.
20243         * m4/popcount.m4: New file.
20244
20245 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
20246
20247         * build-aux/announce-gen: Update to GPLv3.
20248
20249         * build-aux/config.guess: Update from config.
20250
20251 2007-07-21  Bruno Haible  <bruno@clisp.org>
20252
20253         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
20254         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
20255
20256 2007-07-20  Jim Meyering  <jim@meyering.net>
20257
20258         * check-module: Diagnose a self-dependency.
20259
20260 2007-07-19  Bruno Haible  <bruno@clisp.org>
20261
20262         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
20263         empty.
20264         Reported by Eric Blake.
20265
20266 2007-07-18  Bruno Haible  <bruno@clisp.org>
20267
20268         * gnulib-tool: New options --po-base, --po-domain.
20269         (func_usage): Document them.
20270         (pobase, po_domain): New variables.
20271         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
20272         DEFAULT_TEXT_DOMAIN.
20273         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
20274         (func_import): Consider pobase and po_domain. Create a po/ directory.
20275         (func_create_testdir): Set pobase and po_domain to empty.
20276         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
20277         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
20278
20279 2007-07-18  Bruno Haible  <bruno@clisp.org>
20280
20281         * gnulib-tool (func_get_automake_snippet): Synthesize also an
20282         EXTRA_DIST augmentation for files in build-aux/.
20283
20284 2007-07-16  Bruno Haible  <bruno@clisp.org>
20285
20286         * modules/lseek (License): Use the synonymous term "LGPLv2+".
20287         * modules/getdelim (License): Likewise.
20288
20289 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20290
20291         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
20292         * modules/d-type (License): Likewise.
20293         * modules/extensions (License): Likewise.
20294         * modules/fnmatch (License): Likewise.
20295         * modules/fseeko (License): Likewise.
20296         * modules/getaddrinfo (License): Likewise.
20297         * modules/getline (License): Likewise.
20298         * modules/getlogin_r (License): Likewise.
20299         * modules/getpass (License): Likewise.
20300         * modules/gettimeofday (License): Likewise.
20301         * modules/glob (License): Likewise.
20302         * modules/inet_ntop (License): Likewise.
20303         * modules/malloc (License): Likewise.
20304         * modules/malloca (License): Likewise.
20305         * modules/memmem (License): Likewise.
20306         * modules/mempcpy (License): Likewise.
20307         * modules/memset (License): Likewise.
20308         * modules/minmax (License): Likewise.
20309         * modules/mktime (License): Likewise.
20310         * modules/netinet_in (License): Likewise.
20311         * modules/pathmax (License): Likewise.
20312         * modules/poll (License): Likewise.
20313         * modules/regex (License): Likewise.
20314         * modules/snprintf (License): Likewise.
20315         * modules/stdbool (License): Likewise.
20316         * modules/stdint (License): Likewise.
20317         * modules/stdio (License): Likewise.
20318         * modules/strcase (License): Likewise.
20319         * modules/strcasestr (License): Likewise.
20320         * modules/strdup (License): Likewise.
20321         * modules/string (License): Likewise.
20322         * modules/strndup (License): Likewise.
20323         * modules/strnlen (License): Likewise.
20324         * modules/strpbrk (License): Likewise.
20325         * modules/strptime (License): Likewise.
20326         * modules/strsep (License): Likewise.
20327         * modules/sys_select (License): Likewise.
20328         * modules/sys_socket (License): Likewise.
20329         * modules/sys_stat (License): Likewise.
20330         * modules/sys_time (License): Likewise.
20331         * modules/time (License): Likewise.
20332         * modules/time_r (License): Likewise.
20333         * modules/timegm (License): Likewise.
20334         * modules/unistd (License): Likewise.
20335         * modules/vsnprintf (License): Likewise.
20336         * modules/wctype (License): Likewise.
20337
20338 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20339
20340         * modules/argz (License): LGPLv2+.
20341
20342 2007-07-15  Karl Berry  <karl@gnu.org>
20343
20344         * doc/gnulib.texi: revise node structure per new fdl.texi.
20345
20346 2007-07-14  Bruno Haible  <bruno@clisp.org>
20347
20348         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
20349         the output file.
20350         * lib/uniname/uninames.h: Regenerated.
20351
20352 2007-07-14  Karl Berry  <karl@gnu.org>
20353
20354         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
20355         omitting sectioning and index commands.
20356
20357 2007-07-13  Bruno Haible  <bruno@clisp.org>
20358
20359         New gnulib-tool option --more-symlinks.
20360         * gnulib-tool (func_usage): Document --more-symlinks.
20361         (do_copyrights): New variable.
20362         Recognize option --more-symlinks.
20363         (func_import): Don't add a copyright notice transform to
20364         sed_transform_lib_file if do_copyrights is empty.
20365
20366 2007-07-13  Bruno Haible  <bruno@clisp.org>
20367
20368         * lib/vasnprintf.c (decimal_point_char): Define also if
20369         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
20370         && !NEED_PRINTF_DIRECTIVE_A.
20371         Reported by Clemens Koller <clemens.koller@anagramm.de> via
20372         Gary V. Vaughan <gary@gnu.org>.
20373
20374 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
20375
20376         * lib/inttypes_.h: Undo previous change, since it was fixed
20377         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
20378
20379 2007-07-13  Bruno Haible  <bruno@clisp.org>
20380
20381         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
20382         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
20383
20384 2007-07-13  Jim Meyering  <jim@meyering.net>
20385
20386         df: Don't fail for Tru64's "file-on-file mount".
20387         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
20388         so we fall through and use statfs instead.  Details here:
20389         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
20390         Reported by Albert Chin.
20391
20392 2007-07-13  Bruno Haible  <bruno@clisp.org>
20393
20394         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
20395         * modules/configmake (License): Likewise.
20396         * modules/gettext (License): Likewise.
20397         * modules/gettext-h (License): Likewise.
20398         * modules/include_next (License): Likewise.
20399         * modules/link-warning (License): Likewise.
20400         * modules/localcharset (License): Likewise.
20401         * modules/localename (License): Likewise.
20402         * modules/lock (License): Likewise.
20403         * modules/relocatable-lib-lgpl (License): Likewise.
20404         * modules/size_max (License): Likewise.
20405         * modules/vasnprintf (License): Likewise.
20406         * modules/wchar (License): Likewise.
20407         * modules/xsize (License): Likewise.
20408
20409 2007-07-13  Bruno Haible  <bruno@clisp.org>
20410
20411         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
20412         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
20413
20414 2007-07-12  Bruno Haible  <bruno@clisp.org>
20415
20416         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
20417         in the modules files.
20418
20419 2007-07-11  Karl Berry  <karl@gnu.org>
20420
20421         * MODULES.html.sh (func_module): use
20422          sed -e '\|^'"${includefile}"'$|d'
20423          instead of /.../d, to avoid errors on $includefile's containing /.
20424
20425 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
20426
20427         * gnulib-tool (func_import): Avoid duplication of --avoid
20428         statements
20429         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
20430         names to `_' in variable names.
20431
20432 2007-07-10  Eric Blake  <ebb9@byu.net>
20433
20434         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
20435         * NEWS: Document this change.
20436
20437 2007-07-08  Bruno Haible  <bruno@clisp.org>
20438
20439         Update to Unicode 5.0.
20440         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
20441         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
20442         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
20443         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
20444         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
20445         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
20446         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
20447         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
20448         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
20449         U+10A3F, U+1D242..U+1D244.
20450         (nonspacing_table_ind): Update.
20451         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
20452         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
20453
20454 2007-07-08  Bruno Haible  <bruno@clisp.org>
20455
20456         Update to Unicode 5.0.
20457         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
20458         code transform. Extend the name index field of unicode_name_to_code and
20459         unicode_code_to_name from 16 to 24 bits.
20460         * lib/uniname/uniname.c (unicode_character_name,
20461         unicode_name_character): Add the range 0x12xxx to the code transform.
20462         * lib/uniname/uninames.h: Regenerated.
20463         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
20464
20465 2007-07-07  Bruno Haible  <bruno@clisp.org>
20466
20467         * modules/wcwidth-tests: New file.
20468         * tests/test-wcwidth.c: New file.
20469
20470         Work around MacOS X wcwidth() bug.
20471         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
20472         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
20473         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
20474         original wcwidth in non-UTF-8 locales.
20475         * modules/wcwidth (Depends-on): Add localcharset, streq,
20476         uniwidth/width.
20477         * doc/functions/wcwidth.texi: Update.
20478
20479 2007-07-07  Bruno Haible  <bruno@clisp.org>
20480
20481         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
20482         (wcwidth): New declaration.
20483         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
20484         macros.
20485         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
20486         here. Prepare for creating <wchar.h> unconditionally.
20487         * modules/wchar (Depends-on): Add link-warning.
20488         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
20489         REPLACE_WCWIDTH, and GL_LINK_WARNING.
20490         * lib/wcwidth.h: Remove file.
20491         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
20492         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
20493         * modules/wcwidth (Files): Remove lib/wcwidth.h.
20494         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
20495         (Include): Replace wcwidth.h with <wchar.h>.
20496         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
20497         * lib/mbchar.h: Don't include wcwidth.h.
20498         * lib/mbswidth.c: Likewise.
20499         * NEWS: Mention the change.
20500
20501 2007-07-07  Bruno Haible  <bruno@clisp.org>
20502
20503         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
20504         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
20505         definition with an external declaration.
20506         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
20507         defined as a function. Remove AC_C_INLINE requirement.
20508         * modules/wcwidth (Files): Add lib/wcwidth.c.
20509         (Makefile.am): Remove redundant statement.
20510
20511 2007-07-07  Bruno Haible  <bruno@clisp.org>
20512
20513         * MODULES.html.sh (Unicode string functions): Add the new modules.
20514
20515         * tests/uniwidth/test-u32-strwidth.c: New file.
20516         * modules/uniwidth/u32-strwidth-tests: New file.
20517
20518         * lib/uniwidth/u32-strwidth.c: New file.
20519         * modules/uniwidth/u32-strwidth: New file.
20520
20521         * tests/uniwidth/test-u16-strwidth.c: New file.
20522         * modules/uniwidth/u16-strwidth-tests: New file.
20523
20524         * lib/uniwidth/u16-strwidth.c: New file.
20525         * modules/uniwidth/u16-strwidth: New file.
20526
20527         * tests/uniwidth/test-u8-strwidth.c: New file.
20528         * modules/uniwidth/u8-strwidth-tests: New file.
20529
20530         * lib/uniwidth/u8-strwidth.c: New file.
20531         * modules/uniwidth/u8-strwidth: New file.
20532
20533         * tests/uniwidth/test-u32-width.c: New file.
20534         * modules/uniwidth/u32-width-tests: New file.
20535
20536         * lib/uniwidth/u32-width.c: New file.
20537         * modules/uniwidth/u32-width: New file.
20538
20539         * tests/uniwidth/test-u16-width.c: New file.
20540         * modules/uniwidth/u16-width-tests: New file.
20541
20542         * lib/uniwidth/u16-width.c: New file.
20543         * modules/uniwidth/u16-width: New file.
20544
20545         * tests/uniwidth/test-u8-width.c: New file.
20546         * modules/uniwidth/u8-width-tests: New file.
20547
20548         * lib/uniwidth/u8-width.c: New file.
20549         * modules/uniwidth/u8-width: New file.
20550
20551         * tests/uniwidth/test-uc_width.c: New file.
20552         * modules/uniwidth/width-tests: New file.
20553
20554         * lib/uniwidth/width.c: New file, from GNU libiconv.
20555         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
20556         * modules/uniwidth/width: New file.
20557
20558         * lib/uniwidth.h: New file, from GNU libiconv.
20559         * modules/uniwidth/base: New file.
20560
20561 2007-07-07  Bruno Haible  <bruno@clisp.org>
20562
20563         * lib/uniname.h: New file, from GNU gettext.
20564         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
20565         * lib/uniname/uninames.h: New file, from GNU gettext.
20566         * lib/uniname/uniname.c: New file, from GNU gettext.
20567         * tests/uniname/test-uninames.sh: New file.
20568         * tests/uniname/test-uninames.c: New file, from GNU gettext.
20569         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
20570         * modules/uniname/base: New file.
20571         * modules/uniname/uniname: New file.
20572         * modules/uniname/uniname-tests: New file.
20573         * MODULES.html.sh (Unicode string functions): Add the new modules.
20574
20575 2007-07-06  Bruno Haible  <bruno@clisp.org>
20576
20577         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
20578
20579 2007-07-06  Bruno Haible  <bruno@clisp.org>
20580
20581         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
20582         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
20583         includes <cygwin/sys_time.h> which includes <sys/select.h> which
20584         include <sys/time.h>.
20585         Reported by Eric Blake.
20586
20587 2007-07-06  Eric Blake  <ebb9@byu.net>
20588
20589         Fix testing canonicalize on cygwin.
20590         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
20591         Revert patch from 2007-06-19.
20592         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
20593         canonicalize module is also in use.
20594         * tests/test-canonicalize.c: New file.
20595         * tests/test-canonicalize.sh: Likewise.
20596         * modules/canonicalize-tests: Likewise.
20597
20598 2007-07-06  Jim Meyering  <jim@meyering.net>
20599
20600         * lib/getugroups.c (getugroups): Detect getgrent failure.
20601         Adjust comment to reflect reality: this function may return -1.
20602
20603 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
20604
20605         * build-aux/bootstrap (TP_URL,get_translations): Update to use
20606         the new TP address.
20607         (usage): Fix typo
20608         (gnulib_mk): New variable.
20609
20610 2007-07-05  Jim Meyering  <jim@meyering.net>
20611
20612         Don't let endgrent clobber errno, no matter how improbable.
20613         * lib/getugroups.c (getugroups): Save and restore errno around
20614         endgrent call.
20615
20616         Close the group DB even when failing with 2^31 or more members.
20617         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
20618
20619 2007-07-04  Jim Meyering  <jim@meyering.net>
20620
20621         * lib/getugroups.h: New file.
20622         * lib/getugroups.c: Include "getugroups.h".
20623         Remove uses of "register" keyword.
20624         Move local variable, "cp", down into scope where used.
20625         Give "username" parameter the "const" attribute.
20626         * modules/getugroups (Files): Add lib/getugroups.h
20627
20628 2007-07-04  Karl Berry  <karl@gnu.org>
20629
20630         * MODULES.html.sh (func_all_modules): Complete rename of
20631         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
20632
20633 2007-07-02  Bruno Haible  <bruno@clisp.org>
20634
20635         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
20636         mode, when inttypes.h comes from gnulib.
20637         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
20638
20639 2007-07-02  Simon Josefsson  <simon@josefsson.org>
20640
20641         * NEWS: Mention lgpl module name change.
20642
20643         * modules/lgpl-2.1: Renamed from lgpl.
20644
20645         * NEWS: Mention gpl module name change.
20646
20647         * modules/gpl-3.0: New file, based on gpl-2.0.
20648
20649         * modules/gpl-2.0: Renamed from gpl.
20650
20651         * modules/gpl: Fix filename, doc/gpl.texi is now found at
20652         doc/gpl-2.0.texi.
20653
20654 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
20655
20656         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
20657         #define __STDC_LIMIT_MACROS temporarily while including
20658         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
20659         Problem reported by Joel E. Denny in
20660         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
20661
20662 2007-07-01  Bruno Haible  <bruno@clisp.org>
20663
20664         * lib/unistdio.h: New file.
20665         * lib/unistdio/u-asnprintf.h: New file.
20666         * lib/unistdio/u-asprintf.h: New file.
20667         * lib/unistdio/u-printf-args.c: New file.
20668         * lib/unistdio/u-printf-args.h: New file.
20669         * lib/unistdio/u-printf-parse.h: New file.
20670         * lib/unistdio/u-snprintf.h: New file.
20671         * lib/unistdio/u-sprintf.h: New file.
20672         * lib/unistdio/u-vasprintf.h: New file.
20673         * lib/unistdio/u-vsnprintf.h: New file.
20674         * lib/unistdio/u-vsprintf.h: New file.
20675         * lib/unistdio/ulc-asnprintf.c: New file.
20676         * lib/unistdio/ulc-asprintf.c: New file.
20677         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
20678         * lib/unistdio/ulc-printf-parse.c: New file.
20679         * lib/unistdio/ulc-snprintf.c: New file.
20680         * lib/unistdio/ulc-sprintf.c: New file.
20681         * lib/unistdio/ulc-vasnprintf.c: New file.
20682         * lib/unistdio/ulc-vasprintf.c: New file.
20683         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
20684         * lib/unistdio/ulc-vsnprintf.c: New file.
20685         * lib/unistdio/ulc-vsprintf.c: New file.
20686         * lib/unistdio/u8-asnprintf.c: New file.
20687         * lib/unistdio/u8-asprintf.c: New file.
20688         * lib/unistdio/u8-printf-parse.c: New file.
20689         * lib/unistdio/u8-snprintf.c: New file.
20690         * lib/unistdio/u8-sprintf.c: New file.
20691         * lib/unistdio/u8-vasnprintf.c: New file.
20692         * lib/unistdio/u8-vasprintf.c: New file.
20693         * lib/unistdio/u8-vsnprintf.c: New file.
20694         * lib/unistdio/u8-vsprintf.c: New file.
20695         * lib/unistdio/u8-u8-asnprintf.c: New file.
20696         * lib/unistdio/u8-u8-asprintf.c: New file.
20697         * lib/unistdio/u8-u8-snprintf.c: New file.
20698         * lib/unistdio/u8-u8-sprintf.c: New file.
20699         * lib/unistdio/u8-u8-vasnprintf.c: New file.
20700         * lib/unistdio/u8-u8-vasprintf.c: New file.
20701         * lib/unistdio/u8-u8-vsnprintf.c: New file.
20702         * lib/unistdio/u8-u8-vsprintf.c: New file.
20703         * lib/unistdio/u16-asnprintf.c: New file.
20704         * lib/unistdio/u16-asprintf.c: New file.
20705         * lib/unistdio/u16-printf-parse.c: New file.
20706         * lib/unistdio/u16-snprintf.c: New file.
20707         * lib/unistdio/u16-sprintf.c: New file.
20708         * lib/unistdio/u16-vasnprintf.c: New file.
20709         * lib/unistdio/u16-vasprintf.c: New file.
20710         * lib/unistdio/u16-vsnprintf.c: New file.
20711         * lib/unistdio/u16-vsprintf.c: New file.
20712         * lib/unistdio/u16-u16-asnprintf.c: New file.
20713         * lib/unistdio/u16-u16-asprintf.c: New file.
20714         * lib/unistdio/u16-u16-snprintf.c: New file.
20715         * lib/unistdio/u16-u16-sprintf.c: New file.
20716         * lib/unistdio/u16-u16-vasnprintf.c: New file.
20717         * lib/unistdio/u16-u16-vasprintf.c: New file.
20718         * lib/unistdio/u16-u16-vsnprintf.c: New file.
20719         * lib/unistdio/u16-u16-vsprintf.c: New file.
20720         * lib/unistdio/u32-asnprintf.c: New file.
20721         * lib/unistdio/u32-asprintf.c: New file.
20722         * lib/unistdio/u32-printf-parse.c: New file.
20723         * lib/unistdio/u32-snprintf.c: New file.
20724         * lib/unistdio/u32-sprintf.c: New file.
20725         * lib/unistdio/u32-vasnprintf.c: New file.
20726         * lib/unistdio/u32-vasprintf.c: New file.
20727         * lib/unistdio/u32-vsnprintf.c: New file.
20728         * lib/unistdio/u32-vsprintf.c: New file.
20729         * lib/unistdio/u32-u32-asnprintf.c: New file.
20730         * lib/unistdio/u32-u32-asprintf.c: New file.
20731         * lib/unistdio/u32-u32-snprintf.c: New file.
20732         * lib/unistdio/u32-u32-sprintf.c: New file.
20733         * lib/unistdio/u32-u32-vasnprintf.c: New file.
20734         * lib/unistdio/u32-u32-vasprintf.c: New file.
20735         * lib/unistdio/u32-u32-vsnprintf.c: New file.
20736         * lib/unistdio/u32-u32-vsprintf.c: New file.
20737         * tests/unistdio/test-ulc-asnprintf1.c: New file.
20738         * tests/unistdio/test-ulc-asnprintf1.h: New file.
20739         * tests/unistdio/test-ulc-printf1.h: New file.
20740         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
20741         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
20742         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
20743         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
20744         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
20745         * tests/unistdio/test-ulc-vasprintf1.c: New file.
20746         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
20747         * tests/unistdio/test-ulc-vsprintf1.c: New file.
20748         * tests/unistdio/test-u8-asnprintf1.c: New file.
20749         * tests/unistdio/test-u8-asnprintf1.h: New file.
20750         * tests/unistdio/test-u8-printf1.h: New file.
20751         * tests/unistdio/test-u8-vasnprintf1.c: New file.
20752         * tests/unistdio/test-u8-vasnprintf2.c: New file.
20753         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
20754         * tests/unistdio/test-u8-vasnprintf3.c: New file.
20755         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
20756         * tests/unistdio/test-u8-vasprintf1.c: New file.
20757         * tests/unistdio/test-u8-vsnprintf1.c: New file.
20758         * tests/unistdio/test-u8-vsprintf1.c: New file.
20759         * tests/unistdio/test-u16-asnprintf1.c: New file.
20760         * tests/unistdio/test-u16-asnprintf1.h: New file.
20761         * tests/unistdio/test-u16-printf1.h: New file.
20762         * tests/unistdio/test-u16-vasnprintf1.c: New file.
20763         * tests/unistdio/test-u16-vasnprintf2.c: New file.
20764         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
20765         * tests/unistdio/test-u16-vasnprintf3.c: New file.
20766         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
20767         * tests/unistdio/test-u16-vasprintf1.c: New file.
20768         * tests/unistdio/test-u16-vsnprintf1.c: New file.
20769         * tests/unistdio/test-u16-vsprintf1.c: New file.
20770         * tests/unistdio/test-u32-asnprintf1.c: New file.
20771         * tests/unistdio/test-u32-asnprintf1.h: New file.
20772         * tests/unistdio/test-u32-printf1.h: New file.
20773         * tests/unistdio/test-u32-vasnprintf1.c: New file.
20774         * tests/unistdio/test-u32-vasnprintf2.c: New file.
20775         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
20776         * tests/unistdio/test-u32-vasnprintf3.c: New file.
20777         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
20778         * tests/unistdio/test-u32-vasprintf1.c: New file.
20779         * tests/unistdio/test-u32-vsnprintf1.c: New file.
20780         * tests/unistdio/test-u32-vsprintf1.c: New file.
20781         * modules/unistdio/base: New file.
20782         * modules/unistdio/u-printf-args: New file.
20783         * modules/unistdio/ulc-asnprintf: New file.
20784         * modules/unistdio/ulc-asprintf: New file.
20785         * modules/unistdio/ulc-fprintf: New file.
20786         * modules/unistdio/ulc-printf-parse: New file.
20787         * modules/unistdio/ulc-snprintf: New file.
20788         * modules/unistdio/ulc-sprintf: New file.
20789         * modules/unistdio/ulc-vasnprintf: New file.
20790         * modules/unistdio/ulc-vasprintf: New file.
20791         * modules/unistdio/ulc-vfprintf: New file.
20792         * modules/unistdio/ulc-vsnprintf: New file.
20793         * modules/unistdio/ulc-vsprintf: New file.
20794         * modules/unistdio/u8-asnprintf: New file.
20795         * modules/unistdio/u8-asprintf: New file.
20796         * modules/unistdio/u8-printf-parse: New file.
20797         * modules/unistdio/u8-snprintf: New file.
20798         * modules/unistdio/u8-sprintf: New file.
20799         * modules/unistdio/u8-vasnprintf: New file.
20800         * modules/unistdio/u8-vasprintf: New file.
20801         * modules/unistdio/u8-vsnprintf: New file.
20802         * modules/unistdio/u8-vsprintf: New file.
20803         * modules/unistdio/u8-u8-asnprintf: New file.
20804         * modules/unistdio/u8-u8-asprintf: New file.
20805         * modules/unistdio/u8-u8-snprintf: New file.
20806         * modules/unistdio/u8-u8-sprintf: New file.
20807         * modules/unistdio/u8-u8-vasnprintf: New file.
20808         * modules/unistdio/u8-u8-vasprintf: New file.
20809         * modules/unistdio/u8-u8-vsnprintf: New file.
20810         * modules/unistdio/u8-u8-vsprintf: New file.
20811         * modules/unistdio/u16-asnprintf: New file.
20812         * modules/unistdio/u16-asprintf: New file.
20813         * modules/unistdio/u16-printf-parse: New file.
20814         * modules/unistdio/u16-snprintf: New file.
20815         * modules/unistdio/u16-sprintf: New file.
20816         * modules/unistdio/u16-vasnprintf: New file.
20817         * modules/unistdio/u16-vasprintf: New file.
20818         * modules/unistdio/u16-vsnprintf: New file.
20819         * modules/unistdio/u16-vsprintf: New file.
20820         * modules/unistdio/u16-u16-asnprintf: New file.
20821         * modules/unistdio/u16-u16-asprintf: New file.
20822         * modules/unistdio/u16-u16-snprintf: New file.
20823         * modules/unistdio/u16-u16-sprintf: New file.
20824         * modules/unistdio/u16-u16-vasnprintf: New file.
20825         * modules/unistdio/u16-u16-vasprintf: New file.
20826         * modules/unistdio/u16-u16-vsnprintf: New file.
20827         * modules/unistdio/u16-u16-vsprintf: New file.
20828         * modules/unistdio/u32-asnprintf: New file.
20829         * modules/unistdio/u32-asprintf: New file.
20830         * modules/unistdio/u32-printf-parse: New file.
20831         * modules/unistdio/u32-snprintf: New file.
20832         * modules/unistdio/u32-sprintf: New file.
20833         * modules/unistdio/u32-vasnprintf: New file.
20834         * modules/unistdio/u32-vasprintf: New file.
20835         * modules/unistdio/u32-vsnprintf: New file.
20836         * modules/unistdio/u32-vsprintf: New file.
20837         * modules/unistdio/u32-u32-asnprintf: New file.
20838         * modules/unistdio/u32-u32-asprintf: New file.
20839         * modules/unistdio/u32-u32-snprintf: New file.
20840         * modules/unistdio/u32-u32-sprintf: New file.
20841         * modules/unistdio/u32-u32-vasnprintf: New file.
20842         * modules/unistdio/u32-u32-vasprintf: New file.
20843         * modules/unistdio/u32-u32-vsnprintf: New file.
20844         * modules/unistdio/u32-u32-vsprintf: New file.
20845         * modules/unistdio/ulc-asnprintf-tests: New file.
20846         * modules/unistdio/ulc-vasnprintf-tests: New file.
20847         * modules/unistdio/ulc-vasprintf-tests: New file.
20848         * modules/unistdio/ulc-vsnprintf-tests: New file.
20849         * modules/unistdio/ulc-vsprintf-tests: New file.
20850         * modules/unistdio/u8-asnprintf-tests: New file.
20851         * modules/unistdio/u8-vasnprintf-tests: New file.
20852         * modules/unistdio/u8-vasprintf-tests: New file.
20853         * modules/unistdio/u8-vsnprintf-tests: New file.
20854         * modules/unistdio/u8-vsprintf-tests: New file.
20855         * modules/unistdio/u16-asnprintf-tests: New file.
20856         * modules/unistdio/u16-vasnprintf-tests: New file.
20857         * modules/unistdio/u16-vasprintf-tests: New file.
20858         * modules/unistdio/u16-vsnprintf-tests: New file.
20859         * modules/unistdio/u16-vsprintf-tests: New file.
20860         * modules/unistdio/u32-asnprintf-tests: New file.
20861         * modules/unistdio/u32-vasnprintf-tests: New file.
20862         * modules/unistdio/u32-vasprintf-tests: New file.
20863         * modules/unistdio/u32-vsnprintf-tests: New file.
20864         * modules/unistdio/u32-vsprintf-tests: New file.
20865         * MODULES.html.sh (Unicode string functions): Add the new modules.
20866
20867 2007-07-01  Bruno Haible  <bruno@clisp.org>
20868
20869         * lib/sprintf.c (sprintf): Limit the available length estimation,
20870         to avoid address wraparound.
20871         * lib/vsprintf.c (vsprintf): Likewise.
20872         * modules/sprintf-posix (Dependencies): Add stdint.
20873         * modules/vsprintf-posix (Dependencies): Likewise.
20874
20875 2007-07-01  Bruno Haible  <bruno@clisp.org>
20876
20877         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
20878         Windows PATH as well. Conservative double-quoting. Comments.
20879
20880 2007-07-01  Bruno Haible  <bruno@clisp.org>
20881             Eric Blake  <ebb9@byu.net>
20882             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20883
20884         * gnulib-tool (self_abspathname): Fix algorithm to cope with
20885         empty components in $PATH, denoting '.'.
20886
20887 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20888
20889         * gnulib-tool: Fix indentation.
20890         (func_create_megatestdir): Likewise.
20891         Report by Bruno Haible.
20892
20893 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20894
20895         Sync from Automake.
20896         * build-aux/gnupload: Fix shell portability issues with for loops.
20897         Report by Karl Berry.
20898
20899 2007-06-29  Simon Josefsson  <simon@josefsson.org>
20900
20901         * build-aux/maint.mk (POURL): Use translationproject.org.
20902
20903 2007-06-27  Simon Josefsson  <simon@josefsson.org>
20904             Bruno Haible  <bruno@clisp.org>
20905
20906         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
20907         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
20908         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
20909         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
20910         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
20911
20912 2007-06-27  Bruno Haible  <bruno@clisp.org>
20913
20914         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
20915         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
20916
20917 2007-06-26  Karl Berry  <karl@gnu.org>
20918
20919         * MODULES.html.sh: remove xreadlink-with-size.
20920
20921 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
20922
20923         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
20924         method that I hope also handles the double-include problem noted
20925         by Bruno Haible in
20926         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
20927
20928 2007-06-23  Bruno Haible  <bruno@clisp.org>
20929
20930         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20931         Don't let the 'mostlyclean' target fail if the last subdirectory could
20932         not be removed.
20933         Reported by Karl Berry.
20934
20935 2007-06-23  Bruno Haible  <bruno@clisp.org>
20936
20937         * gnulib-tool (echo): Add a speedier workaround for ksh.
20938         * tests/test-echo.sh: Likewise.
20939
20940 2007-06-23  Bruno Haible  <bruno@clisp.org>
20941
20942         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
20943         * tests/test-echo.sh: Likewise.
20944
20945 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20946
20947         * gnulib-tool (IFS): Initialize early, so we don't set it to
20948         empty later.
20949         (self_abspathname): Rewrite algorithm to set it, reindent.
20950         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
20951         (func_create_megatestdir): Merge some sed scripts.
20952
20953 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
20954
20955         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
20956         exposed by Sun Studio 11 cc on Solaris 8.
20957
20958 2007-06-22  Bruno Haible  <bruno@clisp.org>
20959
20960         * gnulib-tool (echo): Ensure the echo primitive does not interpret
20961         backslashes.
20962         * tests/test-echo.sh: New file.
20963
20964 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20965
20966         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
20967         simplify `sed_replace_build_aux' scripts, they are portable but
20968         echoing them with `echo' is not.
20969         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
20970
20971 2007-06-21  Karl Berry  <karl@gnu.org>
20972
20973         * config/srclist.txt: guess we can't handle the licenses via
20974         srclist at the moment.
20975
20976 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
20977
20978         * MODULES.html.sh: Add include_next.
20979         * modules/include_next: New file.
20980
20981 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
20982
20983         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
20984         INCLUDE_NEXT.
20985         (gl_CHECK_NEXT_HEADERS): New macro.
20986         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
20987         the obsolescent gl_ABSOLUTE_HEADER.
20988         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
20989         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
20990         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
20991         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20992         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20993         * m4/math_h.m4 (gl_MATH_H): Likewise.
20994         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
20995         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20996         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
20997         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20998         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20999         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
21000         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
21001         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21002         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21003         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
21004         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
21005         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
21006         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
21007         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21008         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21009         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
21010         * m4/inttypes.m4 (gl_INTTYPES_H): Define
21011         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
21012         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
21013         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
21014         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
21015         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
21016         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
21017         * lib/float_.h: Likewise.
21018         * lib/inttypes_.h: Likewise.
21019         * lib/math_.h: Likewise.
21020         * lib/search_.h: Likewise.
21021         * lib/signal_.h: Likewise.
21022         * lib/stdint_.h: Likewise.
21023         * lib/stdio_.h: Likewise.
21024         * lib/stdlib_.h: Likewise.
21025         * lib/string_.h: Likewise.
21026         * lib/sys_stat_.h: Likewise.
21027         * lib/sys_time_.h: Likewise.
21028         * lib/time_.h: Likewise.
21029         * lib/unistd_.h: Likewise.
21030         * lib/wchar_.h: Likewise.
21031         * lib/wctype_.h: Likewise.
21032         * lib/dirent_.h: Likewise.
21033         * lib/iconv_.h: Likewise.
21034         * lib/locale_.h: Likewise.
21035         * lib/netinet_in_.h: Likewise.
21036         * lib/sys_select_.h: Likewise.
21037         * lib/sys_socket_.h: Likewise.
21038         * lib/sysexits_.h: Likewise.
21039         * modules/fcntl (Depends-on): Depend on include_next, not
21040         absolute_header.
21041         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
21042         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
21043         * modules/fchdir: Likewise.
21044         * modules/float: Likewise.
21045         * modules/iconv_open: Likewise.
21046         * modules/inttypes: Likewise.
21047         * modules/locale: Likewise.
21048         * modules/math: Likewise.
21049         * modules/netinet_in: Likewise.
21050         * modules/search: Likewise.
21051         * modules/signal: Likewise.
21052         * modules/stdint: Likewise.
21053         * modules/stdio: Likewise.
21054         * modules/stdlib: Likewise.
21055         * modules/string: Likewise.
21056         * modules/sys_select: Likewise.
21057         * modules/sys_socket: Likewise.
21058         * modules/sys_stat: Likewise.
21059         * modules/sys_time: Likewise.
21060         * modules/sysexits: Likewise.
21061         * modules/time: Likewise.
21062         * modules/unistd: Likewise.
21063         * modules/wchar: Likewise.
21064         * modules/wctype: Likewise.
21065         * modules/sys_stat: Change maintainer to "all".
21066         * modules/unistd: Likewise.
21067
21068 2007-06-20  Karl Berry  <karl@gnu.org>
21069
21070         * config/srclist.txt: track www changes in license files.
21071
21072 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
21073
21074         * build-aux/bootstrap: Remove stray dot.
21075         Make sure build_aux settings are honored when linking
21076         gnulib_extra_files.
21077
21078 2007-06-19  Eric Blake  <ebb9@byu.net>
21079
21080         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
21081         Allow compilation on cygwin.
21082
21083 2007-06-19  Jim Meyering  <jim@meyering.net>
21084
21085         xreadlink-with-size: Remove module.  No longer used.
21086         Ex-callers now use xreadlink or mreadlink-with-size.
21087         * modules/xreadlink-with-size: Remove module.
21088         * lib/xreadlink-with-size.c: Remove file.
21089         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
21090         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
21091         just before the function definition *is* accurate.
21092
21093         Eliminate one way canonicalize_filename_mode could exit.
21094         * lib/canonicalize.c (canonicalize_filename_mode):
21095         Use mreadlink_with_size, not xreadlink_with_size.
21096
21097 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
21098
21099         Detect porting problems to FreeBSD/arm, which has time_t wider than
21100         long int.  Original problem reported for GNU diff by Xin Li in
21101         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
21102         * modules/getdate (Depends-on): Add intprops, verify.
21103         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
21104         is an integer type no wider than long int.
21105
21106 2007-06-18  Jim Meyering  <jim@meyering.net>
21107
21108         New module: mreadlink-with-size.
21109         * MODULES.html.sh: Add mreadlink-with-size.
21110         * modules/mreadlink-with-size: New module
21111         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
21112         not xreadlink-with-size.
21113         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
21114
21115 2007-06-16  Bruno Haible  <bruno@clisp.org>
21116
21117         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
21118         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
21119         Reported by Gary V. Vaughan <gary@gnu.org>.
21120
21121 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
21122
21123         Revamp lchown so that it lives in unistd.h where it belongs.
21124         * lib/lchown.h: Remove.
21125         * lib/dirchownmod.c: Don't include lib/lchown.h.
21126         * lib/fchownat.c: Likewise.
21127         * lib/openat.c: Likewise.
21128         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
21129         does not follow symlinks.
21130         (EOPNOTSUPP): Define if not defined.
21131         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
21132         is defined to 0.
21133         (lchown): New decl.
21134         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
21135         Do not check for lchown decl.
21136         Set REPLACE_LCHOWN.
21137         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
21138         REPLACE_LCHOWN.
21139         * modules/chown: Make it clear it follows symlinks.
21140         * modules/lchown: Make it clear it doesn't follow symlinks.
21141         (Files): Remove lib/lchown.h
21142         (Depends-on): Add unistd.
21143         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
21144         (Include): Include <unistd.h>, not "lchown.h".
21145         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
21146         REPLACE_LCHOWN.
21147
21148 2007-06-15  Jim Meyering  <jim@meyering.net>
21149
21150         Change license (GPL to LGPL) of fsusage and dependents.
21151         * modules/fsusage (License): Change to LGPL.
21152         * modules/full-read (License): Likewise.
21153         * modules/full-write (License): Likewise.
21154         * modules/safe-read (License): Likewise.
21155         * modules/safe-write (License): Likewise.
21156
21157 2007-06-14  Ben Pfaff  <blp@gnu.org>
21158
21159         Missing part of allocsa -> malloca transition.
21160         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
21161         gl_MALLOCA.
21162
21163 2007-06-12  Bruno Haible  <bruno@clisp.org>
21164
21165         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
21166         to ia64, x86_64, i386.
21167         Reported by Eric Blake.
21168
21169 2007-06-12  Bruno Haible  <bruno@clisp.org>
21170
21171         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
21172         cross-compiling to x86_64.
21173
21174 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21175
21176         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
21177         glitch reported by Ralf Wildenhues in
21178         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
21179
21180         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
21181         Vin Shelton.
21182
21183 2007-06-11  Bruno Haible  <bruno@clisp.org>
21184
21185         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
21186         replacement string.
21187         Reported by Eric Blake.
21188
21189 2007-06-10  Bruno Haible  <bruno@clisp.org>
21190
21191         Prepare vasnprintf code for use with Unicode strings.
21192         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
21193         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
21194         TYPE_U32_STRING.
21195         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
21196         a_u32_string variants.
21197         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
21198         * lib/printf-args.c: Don't include config.h and the specification
21199         header if PRINTF_FETCHARGS is already defined.
21200         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
21201         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
21202         TYPE_U16_STRING, TYPE_U32_STRING.
21203         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
21204         u16_directive, u16_directives, u32_directive, u32_directives): New
21205         types.
21206         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
21207         New declarations.
21208         * lib/printf-parse.c: Don't include config.h and the specification
21209         header if PRINTF_PARSE is already defined. Eliminate the set of
21210         parameters for WIDE_CHAR_VERSION; the user of this file must provide
21211         them now. Include c-ctype.h.
21212         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
21213         directive and CHAR_T_ONLY_ASCII.
21214         * lib/vasnprintf.c: Don't include config.h and the specification header
21215         if VASNPRINTF is already defined.
21216         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
21217         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
21218         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
21219         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
21220         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
21221         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
21222         code accordingly.
21223         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
21224         pad_ourselves also in this case, with the 'c' and 's' directives, and
21225         with a different notion of "width".
21226         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
21227
21228 2007-06-10  Bruno Haible  <bruno@clisp.org>
21229
21230         * modules/unistr/u32-mbsnlen: New file.
21231         * lib/unistr/u32-mbsnlen.c: New file.
21232
21233         * modules/unistr/u16-mbsnlen: New file.
21234         * lib/unistr/u16-mbsnlen.c: New file.
21235
21236         * modules/unistr/u8-mbsnlen: New file.
21237         * lib/unistr/u8-mbsnlen.c: New file.
21238
21239         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
21240         declarations.
21241
21242 2007-06-10  Bruno Haible  <bruno@clisp.org>
21243
21244         * lib/string_.h (mbsnlen): New declaration.
21245         * lib/mbsnlen.c: New file.
21246         * m4/mbsnlen.m4: New file.
21247         * modules/mbsnlen: New file.
21248         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
21249         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
21250         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
21251
21252 2007-06-10  Bruno Haible  <bruno@clisp.org>
21253
21254         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
21255
21256 2007-06-10  Bruno Haible  <bruno@clisp.org>
21257
21258         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
21259         * lib/mbuiter.h: Likewise.
21260
21261 2007-06-10  Bruno Haible  <bruno@clisp.org>
21262
21263         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
21264         declaration.
21265
21266 2007-06-10  Karl Berry  <karl@gnu.org>
21267
21268         * config/srclist.txt: remove gettext entries, Bruno prefers
21269         to update individually.
21270
21271 2007-06-10  Bruno Haible  <bruno@clisp.org>
21272
21273         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
21274         'maxlen'. Ensure only length + width bytes are allocated, not
21275         length + 1 + width.
21276
21277 2007-06-09  Bruno Haible  <bruno@clisp.org>
21278
21279         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
21280         (CHAR_T): Remove macro.
21281         (VASNPRINTF): Update.
21282
21283 2007-06-09  Bruno Haible  <bruno@clisp.org>
21284
21285         * MODULES.html.sh (Unicode string functions): Add the new modules.
21286
21287         * modules/uniconv/u32-conv-to-enc: New file.
21288         * lib/uniconv/u32-conv-to-enc.c: New file.
21289         * modules/uniconv/u32-conv-to-enc-tests: New file.
21290         * tests/uniconv/test-u32-conv-to-enc.c: New file.
21291
21292         * modules/uniconv/u16-conv-to-enc: New file.
21293         * lib/uniconv/u16-conv-to-enc.c: New file.
21294         * lib/uniconv/u-conv-to-enc.h: New file.
21295         * modules/uniconv/u16-conv-to-enc-tests: New file.
21296         * tests/uniconv/test-u16-conv-to-enc.c: New file.
21297
21298         * modules/uniconv/u8-conv-to-enc: New file.
21299         * lib/uniconv/u8-conv-to-enc.c: New file.
21300         * modules/uniconv/u8-conv-to-enc-tests: New file.
21301         * tests/uniconv/test-u8-conv-to-enc.c: New file.
21302
21303         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
21304         u32_conv_to_encoding): New declarations.
21305
21306 2007-06-09  Bruno Haible  <bruno@clisp.org>
21307
21308         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
21309
21310 2007-06-09  Bruno Haible  <bruno@clisp.org>
21311
21312         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
21313         * modules/malloca: Renamed from modules/allocsa, updated.
21314         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
21315         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
21316         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
21317         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
21318         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
21319         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
21320         * modules/xmalloca: Renamed from modules/xallocsa, updated.
21321         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
21322         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
21323         * modules/c-strcasestr (Depends-on): Update.
21324         * lib/c-strcasestr.c: Update.
21325         * modules/c-strstr (Depends-on): Update.
21326         * lib/c-strstr.c: Update.
21327         * modules/canonicalize-lgpl (Depends-on): Update.
21328         * lib/canonicalize-lgpl.c: Update.
21329         * modules/clean-temp (Depends-on): Update.
21330         * lib/clean-temp.c: Update.
21331         * modules/csharpcomp (Depends-on): Update.
21332         * lib/csharpcomp.c: Update.
21333         * modules/csharpexec (Depends-on): Update.
21334         * lib/csharpexec.c: Update.
21335         * modules/javacomp (Depends-on): Update.
21336         * lib/javacomp.c: Update.
21337         * modules/javaexec (Depends-on): Update.
21338         * lib/javaexec.c: Update.
21339         * modules/mbscasestr (Depends-on): Update.
21340         * lib/mbscasestr.c: Update.
21341         * modules/mbsstr (Depends-on): Update.
21342         * lib/mbsstr.c: Update.
21343         * modules/setenv (Depends-on): Update.
21344         * lib/setenv.c: Update.
21345         * modules/strcasestr (Depends-on): Update.
21346         * lib/strcasestr.c: Update.
21347         * modules/striconveha (Depends-on): Update.
21348         * lib/striconveha.c: Update.
21349         * modules/relocatable-prog-wrapper (Files): Update.
21350         * lib/relocwrapper.c: Update.
21351         * build-aux/install-reloc: Update.
21352         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
21353
21354 2007-06-08  Bruno Haible  <bruno@clisp.org>
21355
21356         Port to uClibc.
21357         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
21358         * lib/fpurge.c (fpurge): Likewise.
21359         * lib/freading.c (freading): Likewise.
21360         * lib/fseeko.c (rpl_fseeko): Likewise.
21361         * lib/fseterr.c (fseterr): Likewise.
21362         * lib/fwriting.c (fwriting): Likewise.
21363         * tests/test-fflush.c (main): Avoid a failure on uClibc.
21364
21365 2007-06-08  Bruno Haible  <bruno@clisp.org>
21366
21367         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
21368         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
21369         * modules/gettext (Files): Add m4/intlmacosx.m4.
21370
21371 2007-06-07  Bruno Haible  <bruno@clisp.org>
21372
21373         * modules/localename-tests: New file.
21374         * tests/test-localename.c: New file.
21375
21376         New module 'localename'.
21377         * lib/localename.h: New file.
21378         * lib/localename.c: New file, from GNU gettext.
21379         * m4/localename.m4: New file.
21380         * modules/localename: New file.
21381
21382 2007-06-07  Bruno Haible  <bruno@clisp.org>
21383
21384         Work around the lack of <wchar.h> on some builds of uClibc.
21385         * doc/headers/wchar.texi: Update.
21386         * lib/wchar_.h: Include <wchar.h> only if it exists.
21387         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
21388         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
21389         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
21390         doesn't exist.
21391         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
21392         * modules/mbfile (Depends-on): Add wchar.
21393         * modules/mbiter (Depends-on): Likewise.
21394         * modules/mbuiter (Depends-on): Likewise.
21395         Reported by Simon Josefsson.
21396
21397 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
21398
21399         Work around problem reported by Steven M. Schweda in
21400         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
21401         Tru64 5.1B with the Compaq compiler environment installed declares
21402         an 'isblank' function but does not define it in the C library.
21403         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
21404         * lib/regex_internal.h (isblank): Likewise.
21405         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
21406         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
21407
21408 2007-06-05  Bruno Haible  <bruno@clisp.org>
21409
21410         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
21411         ia64.
21412         * modules/printf-safe: New file.
21413         * modules/fprintf-posix (Depends-on): Add printf-safe.
21414         * modules/printf-posix (Depends-on): Likewise.
21415         * modules/snprintf-posix (Depends-on): Likewise.
21416         * modules/sprintf-posix (Depends-on): Likewise.
21417         * modules/vasnprintf-posix (Depends-on): Likewise.
21418         * modules/vasprintf-posix (Depends-on): Likewise.
21419         * modules/vfprintf-posix (Depends-on): Likewise.
21420         * modules/vprintf-posix (Depends-on): Likewise.
21421         * modules/vsnprintf-posix (Depends-on): Likewise.
21422         * modules/vsprintf-posix (Depends-on): Likewise.
21423         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
21424         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
21425         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
21426         "no" on i386, x86_64, ia64.
21427         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
21428         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
21429         on i386, x86_64, ia64.
21430         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
21431         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
21432         on i386, x86_64, ia64.
21433         * tests/test-vasnprintf-posix.c: Include float.h.
21434         (LDBL80_WORDS): New macro.
21435         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
21436         on i386, x86_64, ia64.
21437         * tests/test-vasprintf-posix.c: Include float.h.
21438         (LDBL80_WORDS): New macro.
21439         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
21440         on i386, x86_64, ia64.
21441         * tests/test-snprintf-posix.c: Include float.h.
21442         * tests/test-sprintf-posix.c: Likewise.
21443         * tests/test-vsnprintf-posix.c: Likewise.
21444         * tests/test-vsprintf-posix.c: Likewise.
21445
21446 2007-06-05  Bruno Haible  <bruno@clisp.org>
21447
21448         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
21449         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
21450         non-IEEE numbers on i386, x86_64, ia64.
21451         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
21452         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
21453         * tests/test-isnanl.h: Include float.h.
21454         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
21455
21456 2007-06-05  Bruno Haible  <bruno@clisp.org>
21457
21458         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
21459         also the %a / %A. Handle the %a / %A code before this extra handling.
21460
21461 2007-06-05  Bruno Haible  <bruno@clisp.org>
21462
21463         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
21464         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
21465
21466 2007-06-05  Bruno Haible  <bruno@clisp.org>
21467
21468         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
21469         typo in variable name.
21470
21471 2007-06-05  Eric Blake  <ebb9@byu.net>
21472
21473         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
21474         Reported by Simon Josefsson.
21475
21476 2007-06-04  Bruno Haible  <bruno@clisp.org>
21477
21478         Avoid test failures on some PowerPC platforms.
21479         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
21480         Define differently for PowerPC.
21481         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
21482         Reported by Gary V. Vaughan <gary@gnu.org>.
21483
21484 2007-06-02  Bruno Haible  <bruno@clisp.org>
21485
21486         Fix test-stdint failure on FreeBSD/ia64.
21487         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
21488         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
21489         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
21490         * doc/headers/stdint.texi: Update.
21491
21492 2007-06-01  Bruno Haible  <bruno@clisp.org>
21493
21494         * tests/test-binary-io.c (main): Pass a third argument to open().
21495         Reported by Gary V. Vaughan <gary@gnu.org>.
21496
21497 2007-06-01  Bruno Haible  <bruno@clisp.org>
21498
21499         * doc/functions/frexpl.texi: Update for mingw.
21500
21501 2007-06-01  Bruno Haible  <bruno@clisp.org>
21502
21503         * tests/test-lseek.c (main): Disable test of errno for invalid third
21504         argument.
21505         * doc/functions/lseek.texi: Update.
21506         Reported by Gary V. Vaughan <gary@gnu.org>.
21507
21508 2007-05-28  Bruno Haible  <bruno@clisp.org>
21509
21510         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
21511
21512 2007-05-31  Eric Blake  <ebb9@byu.net>
21513
21514         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
21515         cross compiling.
21516
21517 2007-05-30  Eric Blake  <ebb9@byu.net>
21518         and Bruno Haible  <bruno@clisp.org>
21519
21520         Work around mingw test failures exposed by m4-1.4.9b.
21521         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
21522         * tests/test-unistd.c: Disable uid_t and git_t tests for the
21523         moment.
21524
21525 2007-05-30  Bruno Haible  <bruno@clisp.org>
21526
21527         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
21528         assuming that they are closed. Needed on HP-UX 11.
21529
21530 2007-05-29  Bruno Haible  <bruno@clisp.org>
21531
21532         Fix a problem with #include_next.
21533         * lib/dirent_.h: Split the double-inclusion guard.
21534         * lib/fcntl_.h: Likewise.
21535         * lib/float_.h: Likewise.
21536         * lib/iconv_.h: Likewise.
21537         * lib/inttypes_.h: Likewise.
21538         * lib/locale_.h: Likewise.
21539         * lib/math_.h: Likewise.
21540         * lib/netinet_in_.h: Likewise.
21541         * lib/search_.h: Likewise.
21542         * lib/signal_.h: Likewise.
21543         * lib/stdint_.h: Likewise.
21544         * lib/stdio_.h: Likewise.
21545         * lib/stdlib_.h: Likewise.
21546         * lib/string_.h: Likewise.
21547         * lib/sys_select_.h: Likewise.
21548         * lib/sys_socket_.h: Likewise.
21549         * lib/sys_stat_.h: Likewise.
21550         * lib/sys_time_.h: Likewise.
21551         * lib/sysexits_.h: Likewise.
21552         * lib/time_.h: Likewise.
21553         * lib/unistd_.h: Likewise.
21554         * lib/wchar_.h: Likewise.
21555         * lib/wctype_.h: Likewise.
21556
21557 2007-05-29  Bruno Haible  <bruno@clisp.org>
21558
21559         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
21560         for the moment.
21561
21562 2007-05-29  Bruno Haible  <bruno@clisp.org>
21563
21564         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
21565         invocation.
21566         Reported by Eric Blake.
21567
21568 2007-05-29  Bruno Haible  <bruno@clisp.org>
21569
21570         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
21571         compiling case.
21572
21573 2007-05-29  Eric Blake  <ebb9@byu.net>
21574             Bruno Haible  <bruno@clisp.org>
21575
21576         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
21577         cross compiles.
21578
21579 2007-05-28  Eric Blake  <ebb9@byu.net>
21580
21581         * modules/closein-tests (test_closein_LDADD): Support test on
21582         cygwin with libtool.
21583
21584 2007-05-28  Bruno Haible  <bruno@clisp.org>
21585
21586         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
21587         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
21588         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
21589         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
21590         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
21591         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
21592         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
21593         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
21594         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
21595
21596 2007-05-28  Eric Blake  <ebb9@byu.net>
21597
21598         Unconditionally include <config.h> in unit tests.
21599         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
21600         * tests/test-allocsa.c, tests/test-arcfour.c,
21601         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
21602         tests/test-array_list.c, tests/test-array_oset.c,
21603         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
21604         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
21605         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
21606         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
21607         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
21608         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
21609         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
21610         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
21611         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
21612         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
21613         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
21614         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
21615         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
21616         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
21617         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
21618         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
21619         test-md5.c, test-memmem.c, test-printf-posix.c,
21620         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
21621         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
21622         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
21623         test-strcasestr.c, test-striconv.c, test-striconveh.c,
21624         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
21625         test-vasnprintf-posix2.c, test-vasnprintf.c,
21626         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
21627         test-vfprintf-posix.c, test-vprintf-posix.c,
21628         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
21629         test-xvasprintf.c: Likewise.
21630
21631 2007-05-28  Bruno Haible  <bruno@clisp.org>
21632
21633         * gnulib-tool (func_import): Remember the --with-tests command-line
21634         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
21635         Reported by Eric Blake.
21636
21637 2007-05-28  Bruno Haible  <bruno@clisp.org>
21638
21639         * modules/ftell-tests: New file.
21640         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
21641         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
21642
21643         * lib/ftell.c: New file.
21644         * modules/ftell: New file.
21645         * m4/ftell.m4: New file.
21646         * doc/functions/ftell.texi: Update.
21647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
21648         REPLACE_FTELL.
21649         * lib/stdio_.h (rpl_ftell): New declaration.
21650         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
21651         REPLACE_FTELL.
21652
21653 2007-05-28  Eric Blake  <ebb9@byu.net>
21654
21655         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
21656
21657 2007-05-28  Bruno Haible  <bruno@clisp.org>
21658
21659         * modules/fseek-tests: New file.
21660         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
21661         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
21662
21663         * lib/fseek.c: New file.
21664         * modules/fseek: New file.
21665         * m4/fseek.m4: New file.
21666         * doc/functions/fseek.texi: Update.
21667         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
21668         REPLACE_FSEEK.
21669         * lib/stdio_.h (rpl_fseek): New declaration.
21670         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
21671         REPLACE_FSEEK.
21672
21673 2007-05-28  Bruno Haible  <bruno@clisp.org>
21674
21675         * lib/stdio_.h (fflush): More comments.
21676
21677 2007-05-28  Bruno Haible  <bruno@clisp.org>
21678
21679         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
21680         runtime test.
21681
21682 2007-05-28  Eric Blake  <ebb9@byu.net>
21683
21684         Improve lseek module.
21685         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
21686         * lib/unistd_.h (lseek): Scale back link warning message.
21687         * tests/test-lseek.c: Beef up test.
21688         * tests/test-lseek.sh: Exercise more facets of lseek.
21689         Reported by Bruno Haible.
21690
21691 2007-05-28  Bruno Haible  <bruno@clisp.org>
21692
21693         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
21694         to define.
21695
21696 2007-05-27  Bruno Haible  <bruno@clisp.org>
21697
21698         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
21699
21700 2007-05-27  Bruno Haible  <bruno@clisp.org>
21701
21702         * modules/openmp: New file.
21703         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
21704         Noah Misch.
21705
21706 2007-05-26  Bruno Haible  <bruno@clisp.org>
21707
21708         * modules/chdir-long (Depends-on): Add fchdir.
21709         * modules/chdir-safer (Depends-on): Likewise.
21710         * modules/fts (Depends-on): Likewise.
21711         * modules/fts-lgpl (Depends-on): Likewise.
21712         * modules/openat (Depends-on): Likewise.
21713         * modules/savewd (Depends-on): Likewise.
21714
21715 2007-05-24  Eric Blake  <ebb9@byu.net>
21716
21717         Fix lseek on mingw.
21718         * modules/lseek: New module.
21719         * m4/lseek.m4: New file.
21720         * lib/lseek.c: New file.
21721         * modules/lseek-tests: New file.
21722         * tests/test-lseek.c: New file.
21723         * tests/test-lseek.sh: New file.
21724         * MODULES.html.sh: Document lseek module.
21725         * modules/fflush (Depends-on): Add lseek, fseeko.
21726         * modules/fseeko (Depends-on): Likewise.
21727         * modules/ftello (Depends-on): Likewise.
21728         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
21729         broken.
21730         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
21731         broken.
21732         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
21733         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
21734         * lib/ftello.c (rpl_ftello): Likewise.
21735         * tests/test-fseeko.c (main): Test this.
21736         * tests/test-fseeko.sh: Likewise.
21737         * tests/test-ftello.c (main): Likewise.
21738         * tests/test-ftello.sh: Likewise.
21739         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
21740         implies replacing fseek.
21741         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
21742         HAVE_FTELLO.
21743         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
21744         * modules/unistd (Makefile.am): Likewise.
21745         * lib/unistd_.h (lseek): Declare a replacement.
21746         * doc/functions/lseek.texi (lseek): Document this fix.
21747         * doc/functions/fseek.texi (fseek): Likewise.
21748         * doc/functions/ftell.texi (ftell): Likewise.
21749
21750 2007-05-24  Bruno Haible  <bruno@clisp.org>
21751
21752         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
21753         in the printed representation of a NaN.
21754         * tests/test-vasprintf-posix.c (test_function): Likewise.
21755         * tests/test-snprintf-posix.h (test_function): Likewise.
21756         * tests/test-sprintf-posix.h (test_function): Likewise.
21757         Reported by Eric Blake.
21758
21759 2007-05-23  Eric Blake  <ebb9@byu.net>
21760
21761         Fix fseeko/ftello on cygwin 1.5.24.
21762         * doc/functions/fseeko.texi (fseeko): Document the fix.
21763         * doc/functions/ftello.texi (ftello): Document the fix.
21764         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
21765         * doc/functions/stdout.text (stdout): New file.
21766         * doc/functions/stderr.text (stderr): New file.
21767         * doc/gnulib.texi (Function Substitutes): Use new files.
21768         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
21769         prior to 1.7.0.
21770         * tests/test-ftello.c (main): Likewise for ftello.
21771         * tests/test-fseeko.sh: New file.
21772         * tests/test-ftello.sh: New file.
21773         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
21774         with seekable stdin.
21775         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
21776         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
21777         (gl_REPLACE_FSEEKO): New macro.
21778         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
21779         * modules/fseeko (Files): Distribute fseeko.c.
21780         * modules/ftello (Files): Distribute ftello.c.
21781         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
21782         mode.
21783         * lib/ftello.c (rpl_ftello): New file.
21784         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
21785         fseeko, ftello.
21786         (gl_STDIN_LARGE_OFFSET): New macro.
21787         * modules/stdio (Makefile.am): Perform the replacement.
21788         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
21789
21790 2007-05-23  Bruno Haible  <bruno@clisp.org>
21791
21792         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
21793         GNULIB_POSIXCHECK is defined.
21794
21795 2007-05-21  Bruno Haible  <bruno@clisp.org>
21796
21797         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
21798         Check also the output for NaN arguments. When cross-compiling, guess
21799         no on IRIX.
21800         * lib/vasnprintf.c: Update comments.
21801         * tests/test-vasnprintf-posix.c (strisnan): New function.
21802         (test_function): Use it.
21803         * tests/test-vasprintf-posix.c (strisnan): New function.
21804         (test_function): Use it.
21805         * tests/test-snprintf-posix.h (strisnan): New function.
21806         (test_function): Use it.
21807         * tests/test-sprintf-posix.h (strisnan): New function.
21808         (test_function): Use it.
21809         Reported by Eric Blake.
21810
21811 2007-05-20  Bruno Haible  <bruno@clisp.org>
21812
21813         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
21814         numbers that fails on BeOS.
21815         * doc/functions/frexpl.texi: Update.
21816
21817 2007-05-20  Jim Meyering  <jim@meyering.net>
21818
21819         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
21820         forced upon us by glibc-2.6.
21821
21822 2007-05-20  Bruno Haible  <bruno@clisp.org>
21823
21824         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
21825         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
21826         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
21827         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
21828         NEED_PRINTF_INFINITE.
21829         (is_infinitel): New function.
21830         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
21831         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
21832         gl_PREREQ_VASNPRINTF_INFINITE.
21833         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
21834         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21835         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
21836         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
21837         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
21838         gl_PREREQ_VASNPRINTF_INFINITE.
21839         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21840         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21841         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21842         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21843         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21844         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21845         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21846         * doc/functions/fprintf.texi: Update.
21847         * doc/functions/printf.texi: Update.
21848         * doc/functions/snprintf.texi: Update.
21849         * doc/functions/sprintf.texi: Update.
21850         * doc/functions/vfprintf.texi: Update.
21851         * doc/functions/vprintf.texi: Update.
21852         * doc/functions/vsnprintf.texi: Update.
21853         * doc/functions/vsprintf.texi: Update.
21854
21855 2007-05-20  Bruno Haible  <bruno@clisp.org>
21856
21857         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
21858         was not found in libc.
21859         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21860
21861 2007-05-20  Bruno Haible  <bruno@clisp.org>
21862
21863         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
21864         printed as "-nan" instead of "nan".
21865         * tests/test-vasprintf-posix.c (test_function): Likewise.
21866         * tests/test-snprintf-posix.h (test_function): Likewise.
21867         * tests/test-sprintf-posix.h (test_function): Likewise.
21868         Needed for HP-UX 11.
21869
21870 2007-05-20  Jim Meyering  <jim@meyering.net>
21871
21872         Fix buggy test for the fchownat-deref bug.
21873         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
21874         symlink required for the run-test.  Without it, this test would
21875         always declare that fchownat doesn't work, and client code would
21876         unnecessarily use the replacement function with fixed libc.
21877         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
21878         Reported by Greg Schafer.
21879
21880 2007-05-19  Bruno Haible  <bruno@clisp.org>
21881
21882         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
21883         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
21884         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
21885         Needed for IRIX 6.5 and Solaris 2.5.1.
21886
21887 2007-05-19  Bruno Haible  <bruno@clisp.org>
21888
21889         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
21890         (test_function): Skip tests involving -0.0 on platforms where
21891         -0.0 = 0.0.
21892         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
21893         (test_function): Skip tests involving -0.0 on platforms where
21894         -0.0 = 0.0.
21895         * tests/test-snprintf-posix.h (have_minus_zero): New function.
21896         (test_function): Skip tests involving -0.0 on platforms where
21897         -0.0 = 0.0.
21898         * tests/test-sprintf-posix.h (have_minus_zero): New function.
21899         (test_function): Skip tests involving -0.0 on platforms where
21900         -0.0 = 0.0.
21901         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
21902         tests.
21903         * tests/test-printf-posix.h (test_function): Likewise.
21904         * tests/test-printf-posix.output: Remove all -0.0 related results.
21905         Needed for IRIX 6.5.
21906
21907 2007-05-19  Bruno Haible  <bruno@clisp.org>
21908
21909         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
21910         printed as "nan0x7fffffff" instead of "nan".
21911         * tests/test-vasprintf-posix.c (test_function): Likewise.
21912         * tests/test-snprintf-posix.h (test_function): Likewise.
21913         * tests/test-sprintf-posix.h (test_function): Likewise.
21914         * tests/test-fprintf-posix.h (NaN): Remove macro.
21915         (test_function): Remove all NaN related tests.
21916         * tests/test-printf-posix.h (NaN): Remove macro.
21917         (test_function): Remove all NaN related tests.
21918         * tests/test-printf-posix.output: Remove all NaN related results.
21919         Needed for IRIX 6.5.
21920
21921 2007-05-19  Bruno Haible  <bruno@clisp.org>
21922
21923         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
21924         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
21925
21926 2007-05-19  Bruno Haible  <bruno@clisp.org>
21927
21928         * lib/float_.h: New file.
21929         * m4/float_h.m4: New file.
21930         * modules/float: New file.
21931         * modules/isnanl (Dependencies): Add float.
21932         * modules/isnanl-nolibm (Dependencies): Likewise.
21933         * modules/mathl (Dependencies): Likewise.
21934         * modules/printf-frexpl (Dependencies): Likewise.
21935         * modules/signbit (Dependencies): Likewise.
21936         * modules/vasnprintf (Dependencies): Likewise.
21937         * doc/headers/float.texi: Update.
21938
21939 2007-05-19  Jim Meyering  <jim@meyering.net>
21940
21941         * lib/utimens.c (gl_futimens): Rename from futimens,
21942         now that glibc-2.6 declares futimens.
21943         * lib/utimens.h: Likewise.
21944
21945 2007-05-19  Bruno Haible  <bruno@clisp.org>
21946
21947         Avoid test failures on mingw.
21948         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
21949         * tests/test-printf-posix.sh: Likewise.
21950         * tests/test-vfprintf-posix.sh: Likewise.
21951         * tests/test-vprintf-posix.sh: Likewise.
21952
21953 2007-05-19  Bruno Haible  <bruno@clisp.org>
21954
21955         Fix *printf result for NaN, Inf, -0.0 on mingw.
21956         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
21957         * lib/vasnprintf.c: Include math.h and isnan.h.
21958         (is_infinite_or_zero): New function.
21959         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
21960         values in the %f, %F, %e, %E, %g, %G directives.
21961         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
21962         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21963         gl_PRINTF_INFINITE and test its result. Invoke
21964         gl_PREREQ_VASNPRINTF_INFINITE.
21965         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21966         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21967         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21968         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21969         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21970         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21971         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21972         * doc/functions/fprintf.texi: Update.
21973         * doc/functions/printf.texi: Update.
21974         * doc/functions/snprintf.texi: Update.
21975         * doc/functions/sprintf.texi: Update.
21976         * doc/functions/vfprintf.texi: Update.
21977         * doc/functions/vprintf.texi: Update.
21978         * doc/functions/vsnprintf.texi: Update.
21979         * doc/functions/vsprintf.texi: Update.
21980
21981 2007-05-19  Bruno Haible  <bruno@clisp.org>
21982
21983         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
21984         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
21985         Instead of multiplying with 10^k, set extra_zeroes to k.
21986         (scale10_round_long_double): Remove function.
21987
21988 2007-05-18  Bruno Haible  <bruno@clisp.org>
21989
21990         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
21991         introduced on 2007-05-06.
21992
21993 2007-05-18  Bruno Haible  <bruno@clisp.org>
21994
21995         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
21996         %g directives.
21997         * tests/test-vasprintf-posix.c (test_function): Likewise.
21998         * tests/test-snprintf-posix.h (test_function): Likewise.
21999         * tests/test-sprintf-posix.h (test_function): Likewise.
22000
22001 2007-05-18  Bruno Haible  <bruno@clisp.org>
22002
22003         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
22004         (strmatch): New function.
22005         (test_function): Test the %f directive on numbers of various exponents.
22006         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
22007         (strmatch): New function.
22008         (test_function): Test the %f directive on numbers of various exponents.
22009         * tests/test-snprintf-posix.h (strmatch): New function.
22010         (test_function): Test the %f directive on numbers of various exponents.
22011         * tests/test-sprintf-posix.h (strmatch): New function.
22012         (test_function): Test the %f directive on numbers of various exponents.
22013         * tests/test-snprintf-posix.c (SIZEOF): New macro.
22014         * tests/test-sprintf-posix.c (SIZEOF): New macro.
22015         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
22016         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
22017
22018 2007-05-18  Bruno Haible  <bruno@clisp.org>
22019
22020         Add support for 'long double' number output.
22021         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
22022         * lib/vasnprintf.c: Include math.h and float+.h.
22023         (mp_limb_t): New type.
22024         (GMP_LIMB_BITS): New macro.
22025         (mp_twolimb_t): New type.
22026         (GMP_TWOLIMB_BITS): New macro.
22027         (mpn_t): New type.
22028         (multiply, divide, convert_to_decimal, decode_long_double,
22029         scale10_round_long_double, scale10_round_decimal_long_double,
22030         floorlog10l): New functions.
22031         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
22032         for the %f, %F, %e, %E, %g, %G directives.
22033         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
22034         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
22035         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
22036         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
22037         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
22038         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22039         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22040         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22041         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22042         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22043         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22044         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
22045         * modules/snprintf-posix (Depends-on): Likewise.
22046         * modules/sprintf-posix (Depends-on): Likewise.
22047         * modules/vasnprintf-posix (Depends-on): Likewise.
22048         * modules/vasprintf-posix (Depends-on): Likewise.
22049         * modules/vfprintf-posix (Depends-on): Likewise.
22050         * modules/vsnprintf-posix (Depends-on): Likewise.
22051         * modules/vsprintf-posix (Depends-on): Likewise.
22052         * modules/vasnprintf (Files): Add lib/float+.h.
22053         * doc/functions/fprintf.texi: Update.
22054         * doc/functions/printf.texi: Update.
22055         * doc/functions/snprintf.texi: Update.
22056         * doc/functions/sprintf.texi: Update.
22057         * doc/functions/vfprintf.texi: Update.
22058         * doc/functions/vprintf.texi: Update.
22059         * doc/functions/vsnprintf.texi: Update.
22060         * doc/functions/vsprintf.texi: Update.
22061
22062 2007-05-18  Bruno Haible  <bruno@clisp.org>
22063
22064         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
22065
22066 2007-05-18  Bruno Haible  <bruno@clisp.org>
22067
22068         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
22069         for printing 64-bit integers. Needed for mingw.
22070
22071 2007-05-18  Bruno Haible  <bruno@clisp.org>
22072
22073         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
22074         gl_FUNC_FREXPL_WORKS.
22075         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
22076
22077 2007-05-18  Bruno Haible  <bruno@clisp.org>
22078
22079         * modules/frexpl-nolibm-tests: New file.
22080
22081         * modules/frexpl-nolibm: New file.
22082         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
22083
22084 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22085
22086         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
22087         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
22088         GCC 4.2, which otherwise issues a lot of warnings.
22089         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
22090         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
22091         Likewise.
22092         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
22093         * modules/iconv_open (iconv.h): Likewise.
22094         * modules/locale (locale.h): Likewise.
22095         * modules/netinet_in (netinet/in.h): Likewise.
22096         * modules/sys_select (sys_select.h): Likewise.
22097         * modules/sys_socket (sys/socket.h): Likewise.
22098         * modules/sys_stat (sys/stat.h): Likewise.
22099         * modules/sysexits (sysexits.h): Likewise.
22100         * modules/unistd (unistd.h): Likewise.
22101
22102 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22103
22104         * modules/closein-tests (Makefile.am): Distribute
22105         `test-closein.sh'.
22106
22107 2007-05-17  Bruno Haible  <bruno@clisp.org>
22108
22109         * tests/test-printf-posix.output: Renamed from
22110         tests/test-fprintf-posix.out.
22111         * modules/fprintf-posix-tests: Update.
22112         * modules/printf-posix-tests: Update.
22113         * modules/vfprintf-posix-tests: Update.
22114         * modules/vprintf-posix-tests: Update.
22115         * tests/test-fprintf-posix.sh: Update.
22116         * tests/test-printf-posix.sh: Update.
22117         * tests/test-vfprintf-posix.sh: Update.
22118         * tests/test-vprintf-posix.sh: Update.
22119         Reported by Ralf Wildenhues.
22120
22121 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22122
22123         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
22124         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
22125         GCC 4.2, which otherwise issues a lot of warnings.
22126         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
22127         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
22128         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
22129         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
22130         it should no longer be needed.
22131         * lib/string_.h: Likewise.
22132         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
22133         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
22134         * modules/inttypes (inttypes.h): Likewise.
22135         * modules/math (math.h): Likewise.
22136         * modules/search (search.h): Likewise.
22137         * modules/signal (signal.h): Likewise.
22138         * modules/stdint (stdint.h): Likewise.
22139         * modules/stdio (stdio.h): Likewise.
22140         * modules/stdlib (stdlib.h): Likewise.
22141         * modules/string (string.h): Likewise.
22142         * modules/sys_time (sys/time.h): Likewise.
22143         * modules/time (time.h): Likewise.
22144         * modules/wchar (wchar.h): Likewise.
22145         * modules/wctype (wtype.h): Likewise.
22146
22147 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22148
22149         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
22150
22151 2007-05-13  Bruno Haible  <bruno@clisp.org>
22152
22153         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
22154         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22155         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
22156         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
22157         (gl_PREREQ_STRTOK_R): Don't require it here.
22158
22159 2007-05-13  Bruno Haible  <bruno@clisp.org>
22160
22161         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
22162         when used in C++ mode.
22163
22164 2007-05-12  Bruno Haible  <bruno@clisp.org>
22165
22166         * lib/linebuffer.h: Tweak doc.
22167         * lib/linebuffer.c: Likewise.
22168
22169 2007-05-12  James Youngman  <jay@gnu.org>
22170
22171         * lib/linebuffer.c (readlinebuffer_delim): New function,
22172         like readlinebuffer, but use a caller-specified delimiter.
22173         (readlinebuffer): Just call readlinebuffer_delim with '\n'
22174         as the delimiter.
22175         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
22176
22177 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
22178
22179         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
22180         * modules/openat (Files): Remove openat-die.c.
22181         (Depends-on): Add openat-die.
22182         * modules/openat-die: New module.
22183
22184 2007-05-06  Bruno Haible  <bruno@clisp.org>
22185
22186         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
22187         Update with info about Cygwin.
22188         * doc/functions/fprintf.texi: Update.
22189         * doc/functions/printf.texi: Update.
22190         * doc/functions/snprintf.texi: Update.
22191         * doc/functions/sprintf.texi: Update.
22192         * doc/functions/vfprintf.texi: Update.
22193         * doc/functions/vprintf.texi: Update.
22194         * doc/functions/vsnprintf.texi: Update.
22195         * doc/functions/vsprintf.texi: Update.
22196         Reported by Eric Blake.
22197
22198 2007-05-06  Bruno Haible  <bruno@clisp.org>
22199
22200         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
22201         padding ourselves for the floating-point directives.
22202         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
22203         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
22204         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
22205         gl_PRINTF_FLAG_ZERO and test its result. Invoke
22206         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
22207         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22208         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
22209         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22210         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22211         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22212         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22213         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22214         * tests/test-snprintf-posix.h (test_function): Also check the width
22215         and some flags in the %f directive.
22216         * tests/test-sprintf-posix.h (test_function): Likewise.
22217         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22218         * tests/test-vasprintf-posix.c (test_function): Likewise.
22219         * doc/functions/fprintf.texi: Update.
22220         * doc/functions/printf.texi: Update.
22221         * doc/functions/snprintf.texi: Update.
22222         * doc/functions/sprintf.texi: Update.
22223         * doc/functions/vfprintf.texi: Update.
22224         * doc/functions/vprintf.texi: Update.
22225         * doc/functions/vsnprintf.texi: Update.
22226         * doc/functions/vsprintf.texi: Update.
22227
22228 2007-05-06  Bruno Haible  <bruno@clisp.org>
22229
22230         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
22231         pass the ' flag character to sprintf or snprintf.
22232         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
22233         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
22234         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
22235         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
22236         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
22237         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22238         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
22239         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22240         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22241         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22242         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22243         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22244         * tests/test-snprintf-posix.h (test_function): Also check the grouping
22245         flag.
22246         * tests/test-sprintf-posix.h (test_function): Likewise.
22247         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22248         * tests/test-vasprintf-posix.c (test_function): Likewise.
22249         * doc/functions/fprintf.texi: Update.
22250         * doc/functions/printf.texi: Update.
22251         * doc/functions/snprintf.texi: Update.
22252         * doc/functions/sprintf.texi: Update.
22253         * doc/functions/vfprintf.texi: Update.
22254         * doc/functions/vprintf.texi: Update.
22255         * doc/functions/vsnprintf.texi: Update.
22256         * doc/functions/vsprintf.texi: Update.
22257
22258 2007-05-01  Bruno Haible  <bruno@clisp.org>
22259
22260         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
22261
22262 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
22263
22264         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
22265         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
22266
22267 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
22268
22269         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
22270         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
22271         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
22272
22273 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
22274
22275         * lib/argp-help.c (struct hol_entry): New member `ord'.
22276         (HOL_ENTRY_PTRCMP): Use ord for comparison
22277         (hol_sort): Initialize ord.
22278
22279 2007-05-01  Bruno Haible  <bruno@clisp.org>
22280
22281         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
22282         Reported by Eric Blake.
22283         * doc/gnulib.texi (Function Substitutes): Update.
22284
22285 2007-05-01  Bruno Haible  <bruno@clisp.org>
22286
22287         * doc/functions.texi: Remove file, now redundant through
22288         doc/functions/*.texi.
22289
22290 2007-05-01  Bruno Haible  <bruno@clisp.org>
22291
22292         * modules/argp (Depends-on): Add sleep.
22293
22294 2007-05-01  Bruno Haible  <bruno@clisp.org>
22295
22296         * modules/sleep-tests: New file.
22297         * tests/test-sleep.c: New file.
22298
22299         * modules/sleep: New file.
22300         * lib/sleep.c: New file.
22301         * m4/sleep.m4: New file.
22302         * lib/unistd_.h (sleep): New declaration.
22303         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
22304         HAVE_SLEEP.
22305         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
22306         * doc/functions/sleep.texi: Document the sleep module.
22307
22308 2007-05-01  Bruno Haible  <bruno@clisp.org>
22309
22310         * lib/sigprocmask.h: Remove file.
22311         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
22312         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
22313         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
22314         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
22315         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
22316         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
22317         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
22318         HAVE_SIGSET_T as a shell variable.
22319         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
22320         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
22321         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
22322         (Depends-on): Add signal. Remove verify.
22323         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
22324         (Include): Mention <signal.h> instead of sigprocmask.h.
22325         * NEWS: Mention the change.
22326         * lib/fatal-signal.c: Don't include sigprocmask.h.
22327
22328 2007-05-01  Bruno Haible  <bruno@clisp.org>
22329
22330         * modules/signal: New file.
22331         * lib/signal_.h: New file.
22332         * m4/signal_h.m4: New file.
22333
22334 2007-05-01  Bruno Haible  <bruno@clisp.org>
22335
22336         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
22337         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
22338         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
22339         HAVE_WCTYPE_CTMP_BUG into wctype.h.
22340
22341 2007-05-01  Bruno Haible  <bruno@clisp.org>
22342
22343         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
22344         configure time.
22345         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
22346         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
22347         * modules/sys_stat (Makefile.am): Substitute their values into
22348         sys/stat.h.
22349
22350 2007-05-01  Bruno Haible  <bruno@clisp.org>
22351
22352         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
22353         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
22354         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
22355
22356 2007-05-01  Bruno Haible  <bruno@clisp.org>
22357
22358         * doc/header/assert.texi: Undo last change: don't mention the gnulib
22359         'assert' module here.
22360
22361 2007-05-01  Bruno Haible  <bruno@clisp.org>
22362
22363         * doc/functions/*.texi: New files.
22364         * doc/functions/google-ranking.txt: New file.
22365         * doc/gnulib.texi (Function Substitutes): New chapter.
22366         (ctime, inet_ntoa): Remove sections.
22367         * doc/ctime.texi: Remove file.
22368         * doc/inet_ntoa.texi: Remove file.
22369         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
22370         dependencies.
22371         (%.info): New rule, specifying a --reference-limit.
22372
22373 2007-05-01  Bruno Haible  <bruno@clisp.org>
22374
22375         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
22376
22377 2007-05-01  Bruno Haible  <bruno@clisp.org>
22378
22379         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
22380         the portability of 'mkdir' to mingw systems.
22381
22382 2007-05-01  Bruno Haible  <bruno@clisp.org>
22383
22384         * doc/headers/google-ranking.txt: New file.
22385
22386 2007-04-30  Eric Blake  <ebb9@byu.net>
22387
22388         Prefer fseeko to fseek.
22389         * modules/getpass (Depends-on): Add fseeko.
22390         * lib/getpass.c (getpass): Use fseeko, not fseek.
22391
22392 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
22393
22394         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
22395         assumes the sorting is stable, while most qsort implementations
22396         are not.  Use argument addresses to ensure they never compare as
22397         equal.
22398
22399         * tests/test-argp-2.sh (usage-indent test): Fix output
22400         (func_compare): Restore diff options
22401         * tests/test-argp.c: Restore #include "progname.h"
22402
22403 2007-04-29  Bruno Haible  <bruno@clisp.org>
22404
22405         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
22406         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
22407         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
22408         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22409         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
22410         (configure.ac): Define CHECK_SNPRINTF_POSIX.
22411         (TESTS, check_PROGRAMS): Add test-snprintf.
22412         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
22413         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
22414         (TESTS, check_PROGRAMS): Add test-vsnprintf.
22415         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
22416         assertions that fail on HP-UX, OSF/1, or IRIX.
22417         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
22418
22419 2007-04-29  Bruno Haible  <bruno@clisp.org>
22420
22421         * MODULES.html.sh (posix_functions): Remove 'contents'.
22422
22423 2007-04-29  Karl Berry  <karl@gnu.org>
22424
22425         * config/srclist.txt (gendocs_template_min): new entry.
22426
22427 2007-04-29  Bruno Haible  <bruno@clisp.org>
22428
22429         Work around fpurge bug on BSD systems.
22430         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
22431         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
22432         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
22433         fpurge to rpl_fpurge if the system already has this function.
22434         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
22435         the case where the system already has this function. Correct invariants
22436         on BSD systems.
22437         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
22438         BSD systems.
22439
22440 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
22441
22442         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
22443         proposed by Sven Verdoolaege.
22444
22445         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
22446         options.
22447         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
22448         (usage and help tests): Update
22449
22450 2007-04-29  Bruno Haible  <bruno@clisp.org>
22451
22452         * tests/test-fflush.c (main): Use a file of size 17, not 10.
22453         Print more information in case of failure. Disable a test on BeOS.
22454
22455 2007-04-29  Bruno Haible  <bruno@clisp.org>
22456
22457         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
22458         This helps debugging on systems on which no gdb is available.
22459
22460 2007-04-29  Bruno Haible  <bruno@clisp.org>
22461
22462         * lib/freading.h: Improve comments.
22463         * lib/fwriting.h: Likewise.
22464         * tests/test-freading.c (main): Don't check freading immediately after
22465         repositioning. Needed for glibc.
22466
22467 2007-04-29  Bruno Haible  <bruno@clisp.org>
22468
22469         * lib/freading.c (freading): Trivial simplification.
22470
22471 2007-04-28  Bruno Haible  <bruno@clisp.org>
22472
22473         * tests/test-fwriting.c (main): Also test the interaction between
22474         fflush and fwriting.
22475         * modules/fwriting-tests (Depends-on): Add fflush.
22476
22477         * tests/test-freading.c (main): Also test the interaction between
22478         fflush and freading.
22479         * modules/freading-tests (Depends-on): Add fflush.
22480
22481 2007-04-28  Bruno Haible  <bruno@clisp.org>
22482
22483         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
22484         fseeko and ftello.
22485         Suggested by Eric Blake.
22486
22487 2007-04-28  Jim Meyering  <jim@meyering.net>
22488
22489         Avoid false-negative in gl_STDINT_H's C99 conformance test.
22490         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
22491         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
22492
22493 2007-04-27  Eric Blake  <ebb9@byu.net>
22494
22495         * doc/headers/assert.texi (assert.h): Document assert module use.
22496
22497 2007-04-27  Bruno Haible  <bruno@clisp.org>
22498
22499         * doc/headers/*.texi: New files.
22500         * doc/gnulib.texi (Header File Substitutes): New chapter.
22501         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
22502         dependencies.
22503         (standards.info ,standards.html, standards.dvi): Update dependencies.
22504         (mostlyclean, clean): New targets.
22505
22506 2007-04-27  Bruno Haible  <bruno@clisp.org>
22507
22508         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
22509         * modules/sysexits (Files, Makefile.am): Update.
22510
22511         * lib/sys_socket_.h: Renamed from lib/socket_.h.
22512         * modules/sys_socket (Files, Makefile.am): Update.
22513
22514         * lib/sys_stat_.h: Renamed from lib/stat_.h.
22515         * modules/sys_stat (Files, Makefile.am): Update.
22516
22517 2007-04-27  Eric Blake  <ebb9@byu.net>
22518
22519         * lib/freading.h: Improve comments.
22520         * lib/fwriting.h: Likewise.
22521         * lib/fflush.c: Likewise.
22522
22523         Fix closein for mingw.
22524         * modules/closein-tests: Add tests for closein.
22525         * tests/test-closein.c: New file.
22526         * tests/test-closein.sh: Likewise.
22527         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
22528         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
22529
22530 2007-04-27  Bruno Haible  <bruno@clisp.org>
22531
22532         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
22533         version is < 6.
22534         * lib/math_.h [__DECC]: Likewise.
22535         * lib/stdio_.h [__DECC]: Likewise.
22536         * lib/stdlib_.h [__DECC]: Likewise.
22537         * lib/string_.h [__DECC]: Likewise.
22538         * lib/time_.h [__DECC]: Likewise.
22539         * lib/wchar_.h [__DECC]: Likewise.
22540         * lib/wctype_.h [__DECC]: Likewise.
22541
22542 2007-04-27  Bruno Haible  <bruno@clisp.org>
22543
22544         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
22545
22546 2007-04-27  Bruno Haible  <bruno@clisp.org>
22547
22548         * lib/fflush.c: Add comments.
22549         * modules/fpurge-tests (Depends-on): Add fflush.
22550         * modules/freadable-tests (Depends-on): Likewise.
22551         * modules/fwritable-tests (Depends-on): Likewise.
22552
22553 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
22554
22555         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
22556         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
22557         Report by Bruno Haible <bruno@clisp.org>.
22558
22559 2007-04-26  Eric Blake  <ebb9@byu.net>
22560
22561         Fix fflush on mingw.
22562         * modules/fflush (Depends-on): Add freading.
22563         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
22564         but unread data.
22565
22566 2007-04-26  Eric Blake  <ebb9@byu.net>
22567         and Bruno Haible  <bruno@clisp.org>
22568
22569         Implement freading and fwriting.
22570         * lib/freading.c: New file.
22571         * lib/freading.h: Likewise.
22572         * m4/freading.m4: Likewise.
22573         * modules/freading: Likewise.
22574         * modules/freading-tests: Likewise.
22575         * tests/test-freading.c: Likewise.
22576         * lib/fwriting.c: New file.
22577         * lib/fwriting.h: Likewise.
22578         * m4/fwriting.m4: Likewise.
22579         * modules/fwriting: Likewise.
22580         * modules/fwriting-tests: Likewise.
22581         * tests/test-fwriting.c: Likewise.
22582         * MODULES.html.sh (File stream based Input/Output): Mention them.
22583
22584 2007-04-26  Bruno Haible  <bruno@clisp.org>
22585
22586         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
22587         'long' when we assume it.
22588         Suggested by Eric Blake.
22589
22590 2007-04-26  Bruno Haible  <bruno@clisp.org>
22591
22592         Ensure fseeko, ftello are declared on glibc systems.
22593         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
22594         * modules/fseeko (configure.ac-early): Likewise.
22595         * modules/ftello (configure.ac-early): Likewise.
22596         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
22597         AC_FUNC_FSEEKO for this.
22598         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
22599         (gl_CHECK_FSEEKO): Remove macro.
22600
22601 2007-04-26  Bruno Haible  <bruno@clisp.org>
22602
22603         * tests/test-fflush.c (main): Also check the ftell result after
22604         fflush and fseek/fseeko.
22605         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
22606         file descriptor position cache in the stream.
22607         * lib/fseeko.c (rpl_fseeko): Likewise.
22608
22609 2007-04-26  Bruno Haible  <bruno@clisp.org>
22610
22611         * modules/fflush-tests (Depends-on): Add fseeko.
22612
22613 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
22614             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22615
22616         * lib/argz_.h: ensure error_t definition is obtained in same
22617         mechanism system argz.h would have.
22618         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
22619         argz facilities are known bad.  Err on the side of caution if
22620         cross-compiling.
22621
22622 2007-04-25  Eric Blake  <ebb9@byu.net>
22623
22624         * lib/fpurge.c (includes): Use stdlib.h for free.
22625         * tests/test-fflush.c (main): Also test fflush-fseeko.
22626
22627 2007-04-25  Bruno Haible  <bruno@clisp.org>
22628
22629         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
22630         * lib/fseeko.c: New file.
22631         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
22632         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
22633         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
22634         gl_FUNC_FSEEKO.
22635         (gl_FUNC_FSEEKO): Invoke it.
22636         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
22637         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
22638         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
22639
22640 2007-04-25  Bruno Haible  <bruno@clisp.org>
22641
22642         * modules/fflush (Depends-on): Add ftello.
22643
22644 2007-04-25  Bruno Haible  <bruno@clisp.org>
22645
22646         * modules/ftello-tests: New file.
22647         * tests/test-ftello.c: New file.
22648
22649         * modules/ftello: New file.
22650         * m4/ftello.m4: New file.
22651         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
22652         HAVE_FTELLO.
22653         * lib/stdio_.h (ftello): New declaration.
22654         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
22655         HAVE_FTELLO.
22656
22657 2007-04-25  Bruno Haible  <bruno@clisp.org>
22658
22659         * modules/fseeko-tests: New file.
22660         * tests/test-fseeko.c: New file.
22661
22662         * modules/fseeko: New file.
22663         * m4/fseeko.m4: New file.
22664         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
22665         HAVE_FSEEKO.
22666         * lib/stdio_.h (fseeko): New declaration.
22667         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
22668         HAVE_FSEEKO.
22669
22670 2007-04-25  Bruno Haible  <bruno@clisp.org>
22671
22672         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
22673
22674 2007-04-25  Bruno Haible  <bruno@clisp.org>
22675
22676         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
22677         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
22678         * tests/test-unistd.c: Likewise.
22679         * tests/test-fcntl.c: Likewise.
22680
22681 2007-04-23  Eric Blake  <ebb9@byu.net>
22682
22683         * lib/fflush.c: Fix missing include.
22684         Reported by Bruno Haible.
22685
22686 2007-04-23  Bruno Haible  <bruno@clisp.org>
22687
22688         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
22689         Reported by Eric Blake.
22690
22691 2007-04-23  Bruno Haible  <bruno@clisp.org>
22692
22693         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
22694
22695 2007-04-23  Bruno Haible  <bruno@clisp.org>
22696
22697         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
22698
22699 2007-04-23  Bruno Haible  <bruno@clisp.org>
22700
22701         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
22702         Needed on HP-UX 11.
22703
22704 2007-04-16  Eric Blake  <ebb9@byu.net>
22705
22706         Make fflush rely on fpurge.
22707         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
22708         open coding all variants.
22709         * modules/fflush (Depends-on): Add fpurge and unistd.
22710         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
22711         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
22712
22713         Fix --with-tests compilation on cygwin.
22714         * modules/argmatch-tests (Makefile.am): List gnulib library first
22715         in LDADD.
22716         * modules/argp-tests (Makefile.am): Likewise.
22717         * modules/array-list-tests (Makefile.am): Likewise.
22718         * modules/array-oset-tests (Makefile.am): Likewise.
22719         * modules/avltree-list-tests (Makefile.am): Likewise.
22720         * modules/avltree-oset-tests (Makefile.am): Likewise.
22721         * modules/avltreehash-list-tests (Makefile.am): Likewise.
22722         * modules/carray-list-tests (Makefile.am): Likewise.
22723         * modules/dirname-tests (Makefile.am): Likewise.
22724         * modules/frexp-tests (Makefile.am): Likewise.
22725         * modules/isnanl-tests (Makefile.am): Likewise.
22726         * modules/linked-list-tests (Makefile.am): Likewise.
22727         * modules/linkedhash-list-tests (Makefile.am): Likewise.
22728         * modules/lock-tests (Makefile.am): Likewise.
22729         * modules/rbtree-list-tests (Makefile.am): Likewise.
22730         * modules/rbtree-oset-tests (Makefile.am): Likewise.
22731         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
22732         * modules/tls-tests (Makefile.am): Likewise.
22733         * modules/tsearch-tests (Makefile.am): Likewise.
22734         * modules/xvasprintf-tests (Makefile.am): Likewise.
22735
22736         Fix fpurge for cygwin.
22737         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
22738         value.
22739         * modules/fpurge-tests (Depends-on): Clean up trash.
22740
22741 2007-04-16  Simon Josefsson  <simon@josefsson.org>
22742
22743         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
22744
22745         * m4/autobuild.m4: Re-indent.
22746
22747 2007-04-13  Bruno Haible  <bruno@clisp.org>
22748
22749         * modules/fpurge-tests: New file.
22750         * tests/test-fpurge.c: New file.
22751
22752         * modules/fpurge: New file.
22753         * lib/fpurge.h: New file.
22754         * lib/fpurge.c: New file.
22755         * m4/fpurge.m4: New file.
22756
22757 2007-04-13  Bruno Haible  <bruno@clisp.org>
22758
22759         * modules/fbufmode-tests: New file.
22760         * tests/test-fbufmode.c: New file.
22761
22762         * modules/fbufmode: New file.
22763         * lib/fbufmode.h: New file.
22764         * lib/fbufmode.c: New file.
22765         * m4/fbufmode.m4: New file.
22766
22767 2007-04-13  Bruno Haible  <bruno@clisp.org>
22768
22769         * modules/fwritable-tests: New file.
22770         * tests/test-fwritable.c: New file.
22771
22772         * modules/fwritable: New file.
22773         * lib/fwritable.h: New file.
22774         * lib/fwritable.c: New file.
22775         * m4/fwritable.m4: New file.
22776
22777 2007-04-13  Bruno Haible  <bruno@clisp.org>
22778
22779         * modules/freadable-tests: New file.
22780         * tests/test-freadable.c: New file.
22781
22782         * modules/freadable: New file.
22783         * lib/freadable.h: New file.
22784         * lib/freadable.c: New file.
22785         * m4/freadable.m4: New file.
22786
22787 2007-04-13  Bruno Haible  <bruno@clisp.org>
22788
22789         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
22790         MOSTLYCLEANFILES.
22791
22792 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
22793
22794         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
22795         gzip bootstrap.conf to avoid dragging in i18n machinery.
22796         (gnulib_tool_option): Use it.
22797
22798 2007-04-13  Bruno Haible  <bruno@clisp.org>
22799
22800         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
22801         %F directives.
22802         * tests/test-vasprintf-posix.c (test_function): Likewise.
22803         * tests/test-snprintf-posix.h (test_function): Likewise.
22804         * tests/test-sprintf-posix.h (test_function): Likewise.
22805         * tests/test-fprintf-posix.h (test_function): Likewise.
22806         * tests/test-printf-posix.h (test_function): Likewise.
22807         * tests/test-fprintf-posix.out: Likewise.
22808
22809 2007-04-13  Bruno Haible  <bruno@clisp.org>
22810
22811         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
22812         * modules/tls-tests (configure.ac): Likewise.
22813         Reported by Arto C. Nirkko <anirkko@insel.ch>.
22814
22815 2007-04-13  Bruno Haible  <bruno@clisp.org>
22816
22817         * lib/tls.c (glthread_tls_get): Fix return type.
22818         Patch by Arto C. Nirkko <anirkko@insel.ch>.
22819
22820 2007-04-12  Eric Blake  <ebb9@byu.net>
22821
22822         * modules/gettime (Depends-on): Remove gettime.
22823         Reported by Dmitry V. Levin.
22824
22825 2007-04-12  Bruno Haible  <bruno@clisp.org>
22826
22827         * modules/fflush (Include): Mention <stdio.h>.
22828         * modules/strtoimax (Include): Mention <inttypes.h>.
22829         * modules/strtoumax (Include): Likewise.
22830
22831 2007-04-12  Eric Blake  <ebb9@byu.net>
22832
22833         * .cvsignore: New file.
22834         * .gitignore: Likewise.
22835
22836 2007-04-12  Bruno Haible  <bruno@clisp.org>
22837
22838         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
22839         not before, since $(LDADD) often contains libgnu.a.
22840         * modules/striconv-tests (test_striconv_LDADD): Likewise.
22841         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
22842         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
22843         Needed on Cygwin.
22844
22845 2007-04-12  Eric Blake  <ebb9@byu.net>
22846
22847         Work around glibc's failure to flush stdin on fclose.
22848         * lib/closein.c (close_stdin): Flush stdin before closing.
22849
22850         Work around glibc's failure to reset seekable stdin on exit.
22851         * modules/closein: New module.
22852         * lib/closein.c: New file.
22853         * lib/closein.h: Likewise.
22854         * m4/closein.m4: Likewise.
22855         * MODULES.html.sh (File stream based Input/Output): Document it.
22856
22857 2007-04-12  Simon Josefsson  <simon@josefsson.org>
22858
22859         * gnulib-tool: Rename generated 'autobuild' script to
22860         'do-autobuild' in --create-megatestdir output.
22861
22862         * doc/gnulib.texi (Build robot for gnulib): Fix.
22863
22864 2007-04-12  Simon Josefsson  <simon@josefsson.org>
22865
22866         * modules/sysexits (Depends-on): Add absolute-header.
22867
22868 2007-04-12  Eric Blake  <ebb9@byu.net>
22869
22870         No need to preserve errno on success.
22871         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
22872         Reported by Bruno Haible.
22873
22874 2007-04-12  Simon Josefsson  <simon@josefsson.org>
22875
22876         * MODULES.html.sh (Support for maintaining and releasing
22877         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
22878
22879 2007-04-12  Simon Josefsson  <simon@josefsson.org>
22880
22881         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
22882
22883 2007-04-12  Simon Josefsson  <simon@josefsson.org>
22884
22885         * modules/autobuild: New module.
22886
22887         * m4/autobuild.m4: New file.
22888
22889 2007-04-11  Bruno Haible  <bruno@clisp.org>
22890
22891         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
22892         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
22893         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
22894         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
22895         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
22896         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
22897         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
22898         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
22899         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
22900         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
22901         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
22902         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
22903         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
22904         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
22905         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
22906         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
22907         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
22908         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
22909         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
22910         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
22911         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
22912         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
22913         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
22914         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
22915         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
22916         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
22917         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
22918         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
22919         Reported by Eric Blake.
22920
22921 2007-04-11  Bruno Haible  <bruno@clisp.org>
22922
22923         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
22924
22925 2007-04-10  Bruno Haible  <bruno@clisp.org>
22926
22927         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
22928         for NaN and Infinity. Needed on FreeBSD 6.1.
22929         * tests/test-vasnprintf-posix.c (test_function): Undo last change
22930         regarding results for "%010a" of Infinity and NaN.
22931         * tests/test-vasprintf-posix.c (test_function): Likewise.
22932         * tests/test-snprintf-posix.h (test_function): Likewise.
22933         * tests/test-sprintf-posix.h (test_function): Likewise.
22934         * tests/test-fprintf-posix.h (test_function): Likewise.
22935         * tests/test-printf-posix.h (test_function): Likewise.
22936         * tests/test-fprintf-posix.out: Likewise.
22937
22938 2007-04-10  Bruno Haible  <bruno@clisp.org>
22939
22940         * modules/locale-tests: New file.
22941         * tests/test-locale.c: New file.
22942
22943         * modules/locale: New file.
22944         * lib/locale_.h: New file.
22945         * m4/locale_h.m4: New file.
22946
22947 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
22948             Bruno Haible  <bruno@clisp.org>
22949
22950         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
22951         be determined, test for availability of the copysignf, copysign,
22952         copysignl functions.
22953         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
22954         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
22955         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
22956
22957 2007-04-09  Eric Blake  <ebb9@byu.net>
22958
22959         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
22960         * modules/stdio (Makefile.am): Support fflush.
22961         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
22962         * modules/fflush: New file.
22963         * lib/fflush.c: Likewise.
22964         * m4/fflush.m4: Likewise.
22965         * modules/fflush-tests: New test.
22966         * tests/test-fflush.c: Likewise.
22967         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
22968
22969 2007-04-06  Bruno Haible  <bruno@clisp.org>
22970
22971         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
22972         (VASNPRINTF): Use signbit for faster determination whether to print a
22973         minus sign.
22974         * modules/vasnprintf (Files): Remove lib/float+.h.
22975         * modules/fprintf-posix (Depends-on): Add signbit.
22976         * modules/snprintf-posix (Depends-on): Likewise.
22977         * modules/sprintf-posix (Depends-on): Likewise.
22978         * modules/vasnprintf-posix (Depends-on): Likewise.
22979         * modules/vasprintf-posix (Depends-on): Likewise.
22980         * modules/vfprintf-posix (Depends-on): Likewise.
22981         * modules/vsnprintf-posix (Depends-on): Likewise.
22982         * modules/vsprintf-posix (Depends-on): Likewise.
22983
22984 2007-04-06  Bruno Haible  <bruno@clisp.org>
22985
22986         * tests/test-frexp.c (main): Test also the sign bit of zero results.
22987         * tests/test-frexpl.c (main): Likewise.
22988         * tests/test-ldexpl.c (main): Likewise.
22989         * modules/frexp-tests (Depends-on): Add signbit.
22990         * modules/frexpl-tests (Depdends-on): Likewise.
22991         * modules/ldexpl-tests (Depdends-on): Likewise.
22992
22993 2007-04-06  Bruno Haible  <bruno@clisp.org>
22994
22995         * modules/signbit-tests: New file.
22996         * tests/test-signbit.c: New file.
22997
22998         * modules/signbit: New file.
22999         * lib/signbitf.c: New file.
23000         * lib/signbitd.c: New file.
23001         * lib/signbitl.c: New file.
23002         * m4/signbit.m4: New file.
23003         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
23004         (signbit): New macro.
23005         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
23006         REPLACE_SIGNBIT.
23007         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
23008         REPLACE_FREXPL into math.h.
23009
23010 2007-04-06  Bruno Haible  <bruno@clisp.org>
23011
23012         * modules/isnanf-nolibm-tests: New file.
23013         * tests/test-isnanf.c: New file.
23014
23015         * modules/isnanf-nolibm: New file.
23016         * lib/isnanf.h: New file.
23017         * lib/isnanf.c: New file.
23018         * lib/isnan.c: Consider the USE_FLOAT macro.
23019         * m4/isnanf.m4: New file.
23020
23021 2007-04-06  Bruno Haible  <bruno@clisp.org>
23022
23023         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
23024         (Link): New section.
23025
23026         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
23027
23028 2007-04-06  Bruno Haible  <bruno@clisp.org>
23029
23030         Assume the 'long double' type.
23031         * m4/longdouble.m4: Remove file.
23032         * config/srclist.txt: Don't mention longdouble.m4.
23033         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
23034         * lib/float+.h: Likewise.
23035         * lib/frexp.c: Likewise.
23036         * lib/printf-args.h: Likewise.
23037         * lib/printf-args.c: Likewise.
23038         * lib/printf-frexp.c: Likewise.
23039         * lib/printf-parse.c: Likewise.
23040         * lib/vasnprintf.c: Likewise.
23041         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
23042         * m4/intl.m4: Likewise.
23043         * m4/isnanl.m4: Likewise.
23044         * m4/printf.m4: Likewise.
23045         * m4/printf-frexpl.m4: Likewise.
23046         * m4/vasnprintf.m4: Likewise.
23047         * modules/allocsa (Files): Remove m4/longdouble.m4.
23048         * modules/gettext (Files): Likewise.
23049         * modules/relocatable-prog-wrapper (Files): Likewise.
23050         * modules/vasnprintf (Files): Likewise.
23051         * modules/isnanl (Files): Likewise.
23052         (Include): Simplify.
23053         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
23054         (Include): Simplify.
23055         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
23056         (Include): Simplify.
23057         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
23058         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
23059         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
23060         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
23061         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
23062         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
23063         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
23064         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
23065         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
23066         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
23067         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
23068         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
23069         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
23070         * tests/test-isnanl.c: Likewise.
23071         * tests/test-snprintf-posix.h: Likewise.
23072         * tests/test-sprintf-posix.h: Likewise.
23073         * tests/test-vasnprintf-posix.c: Likewise.
23074         * tests/test-vasnprintf-posix2.c: Likewise.
23075         * tests/test-vasprintf-posix.c: Likewise.
23076
23077 2007-04-06  Bruno Haible  <bruno@clisp.org>
23078
23079         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
23080         * lib/math_.h [__DECC]: Include the overridden include file through
23081         #include_next, outside the double-inclusion guard.
23082         * lib/stdio_.h [__DECC]: Likewise.
23083         * lib/stdlib_.h [__DECC]: Likewise.
23084         * lib/string_.h [__DECC]: Likewise.
23085         * lib/time_.h [__DECC]: Likewise.
23086         * lib/wchar_.h [__DECC]: Likewise.
23087         * lib/wctype_.h [__DECC]: Likewise.
23088         * lib/inttypes_.h [__DECC]: Likewise.
23089         Reported by Albert Chin <china@thewrittenword.com> in
23090         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
23091
23092 2007-04-04  Eric Blake  <ebb9@byu.net>
23093
23094         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
23095         1.5.x.
23096
23097 2007-04-04  Bruno Haible  <bruno@clisp.org>
23098
23099         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
23100         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
23101
23102 2007-04-04  Bruno Haible  <bruno@clisp.org>
23103
23104         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
23105         results for "%010a" of Infinity and NaN.
23106         * tests/test-vasprintf-posix.c (test_function): Likewise.
23107         * tests/test-snprintf-posix.h (test_function): Likewise.
23108         * tests/test-sprintf-posix.h (test_function): Likewise.
23109         * tests/test-fprintf-posix.h (test_function): Remove these tests.
23110         * tests/test-printf-posix.h (test_function): Likewise.
23111         * tests/test-fprintf-posix.out: Update.
23112         Needed for FreeBSD 6.1.
23113
23114 2007-04-04  Bruno Haible  <bruno@clisp.org>
23115
23116         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
23117         directly used by the gnulib modules nor by gnulib-tool.
23118
23119 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
23120
23121         * DEPENDENCIES: Give overall description of version dependency
23122         desirability.  Use more-typical names for apps.
23123         Add shell, coreutils, diffutils, grep, tar, gzip.
23124
23125 2007-04-04  Simon Josefsson  <simon@josefsson.org>
23126
23127         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
23128
23129 2007-04-04  Karl Berry  <karl@gnu.org>
23130
23131         * MODULES.html.sh (func_module): missing '.
23132
23133 2007-04-03  Bruno Haible  <bruno@clisp.org>
23134
23135         * modules/argmatch-tests (Makefile.am): New variable
23136         test_argmatch_LDADD.
23137         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
23138         * modules/array-list-tests (Makefile.am): New variable
23139         test_array_list_LDADD.
23140         * modules/array-oset-tests (Makefile.am): New variable
23141         test_array_oset_LDADD.
23142         * modules/avltree-list-tests (Makefile.am): New variable
23143         test_avltree_list_LDADD.
23144         * modules/avltree-oset-tests (Makefile.am): New variable
23145         test_avltree_oset_LDADD.
23146         * modules/avltreehash-list-tests (Makefile.am): New variable
23147         test_avltreehash_list_LDADD.
23148         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
23149         test_canonicalize_lgpl_LDADD.
23150         * modules/carray-list-tests (Makefile.am): New variable
23151         test_carray_list_LDADD.
23152         * modules/dirname-tests (Makefile.am): New variable
23153         test_dirname_LDADD.
23154         * modules/linked-list-tests (Makefile.am): New variable
23155         test_linked_list_LDADD.
23156         * modules/linkedhash-list-tests (Makefile.am): New variable
23157         test_linkedhash_list_LDADD.
23158         * modules/rbtree-list-tests (Makefile.am): New variable
23159         test_rbtree_list_LDADD.
23160         * modules/rbtree-oset-tests (Makefile.am): New variable
23161         test_rbtree_oset_LDADD.
23162         * modules/rbtreehash-list-tests (Makefile.am): New variable
23163         test_rbtreehash_list_LDADD.
23164         * modules/xvasprintf-tests (Makefile.am): New variable
23165         test_xvasprintf_LDADD.
23166         Reported by Eric Blake.
23167
23168 2007-04-03  Eric Blake  <ebb9@byu.net>
23169
23170         * DEPENDENCIES: Weaken m4 requirements.
23171
23172 2007-04-03  Bruno Haible  <bruno@clisp.org>
23173
23174         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
23175         * modules/isnanl-tests (configure.ac): Likewise.
23176
23177 2007-04-03  Ben Pfaff  <blp@gnu.org>
23178
23179         * modules/iconv_open: Add $(srcdir)/ to source directory
23180         references in Makefile fragments that call gperf, to fix VPATH
23181         builds.
23182
23183 2007-04-03  Bruno Haible  <bruno@clisp.org>
23184
23185         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
23186         * lib/ldexpl.c: Undo last change.
23187
23188 2007-04-03  Bruno Haible  <bruno@clisp.org>
23189
23190         * modules/printf-frexpl (Depends-on): Undo last change.
23191         (Files): Add m4/ldexpl.m4.
23192
23193 2007-04-03  Bruno Haible  <bruno@clisp.org>
23194
23195         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
23196         * modules/isnanl (Link): New section.
23197
23198         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
23199         * modules/frexp (Link): New section.
23200
23201         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
23202         * modules/frexpl (Link): New section.
23203
23204         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
23205         * modules/ldexpl (Link): New section.
23206
23207 2007-04-03  Bruno Haible  <bruno@clisp.org>
23208
23209         * modules/TEMPLATE-EXTENDED: New file.
23210         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
23211
23212 2007-04-03  Bruno Haible  <bruno@clisp.org>
23213
23214         * DEPENDENCIES: New file.
23215         Suggested by Simon Josefsson.
23216
23217 2007-04-03  Bruno Haible  <bruno@clisp.org>
23218
23219         * doc/gnulib.texi: Escape @.
23220
23221 2007-04-03  James Youngman  <jay@gnu.org>
23222         and Paul Eggert  <eggert@cs.ucla.edu>
23223
23224         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
23225         birthtime on all systems that have birthtime, not just those which
23226         use st_birthtimensec rather than st_birthtim.  Putting zero in
23227         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
23228         that the birth time is not available for files on an NFS mount.
23229
23230 2007-04-03  Simon Josefsson  <simon@josefsson.org>
23231
23232         * modules/memxor: Move back from crypto/, suggested by Bruno.
23233         * modules/crypto/hmac-sha1: Fix memxor dependency.
23234
23235         * modules/crypto/gc: Moved from ../.
23236
23237 2007-04-02  Eric Blake  <ebb9@byu.net>
23238
23239         * lib/ldexpl.c (includes): Avoid libm.
23240
23241         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
23242
23243 2007-04-02  Bruno Haible  <bruno@clisp.org>
23244
23245         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
23246         on IRIX.
23247
23248 2007-04-02  Bruno Haible  <bruno@clisp.org>
23249
23250         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
23251         x86 or x86_64 platforms running MacOS X.
23252         Reported by Ryan Schmidt <@ryandesign.com>.
23253
23254 2007-04-02  Bruno Haible  <bruno@clisp.org>
23255
23256         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
23257         i386.
23258
23259 2007-04-01  Simon Josefsson  <simon@josefsson.org>
23260
23261         * modules/crypto/arcfour: Moved from ../.
23262         * modules/crypto/arcfour-tests: Moved from ../.
23263         * modules/crypto/arctwo: Moved from ../.
23264         * modules/crypto/arctwo-tests: Moved from ../.
23265         * modules/crypto/des: Moved from ../.
23266         * modules/crypto/des-tests: Moved from ../.
23267         * modules/crypto/gc-arcfour: Moved from ../.
23268         * modules/crypto/gc-arcfour-tests: Moved from ../.
23269         * modules/crypto/gc-arctwo: Moved from ../.
23270         * modules/crypto/gc-arctwo-tests: Moved from ../.
23271         * modules/crypto/gc-des: Moved from ../.
23272         * modules/crypto/gc-des-tests: Moved from ../.
23273         * modules/crypto/gc-hmac-md5: Moved from ../.
23274         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
23275         * modules/crypto/gc-hmac-sha1: Moved from ../.
23276         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
23277         * modules/crypto/gc-md2: Moved from ../.
23278         * modules/crypto/gc-md2-tests: Moved from ../.
23279         * modules/crypto/gc-md4: Moved from ../.
23280         * modules/crypto/gc-md4-tests: Moved from ../.
23281         * modules/crypto/gc-md5: Moved from ../.
23282         * modules/crypto/gc-md5-tests: Moved from ../.
23283         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
23284         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
23285         * modules/crypto/gc-random: Moved from ../.
23286         * modules/crypto/gc-rijndael: Moved from ../.
23287         * modules/crypto/gc-rijndael-tests: Moved from ../.
23288         * modules/crypto/gc-sha1: Moved from ../.
23289         * modules/crypto/gc-sha1-tests: Moved from ../.
23290         * modules/crypto/gc-tests: Moved from ../.
23291         * modules/crypto/hmac-md5: Moved from ../.
23292         * modules/crypto/hmac-md5-tests: Moved from ../.
23293         * modules/crypto/hmac-sha1: Moved from ../.
23294         * modules/crypto/hmac-sha1-tests: Moved from ../.
23295         * modules/crypto/md2: Moved from ../.
23296         * modules/crypto/md2-tests: Moved from ../.
23297         * modules/crypto/md4: Moved from ../.
23298         * modules/crypto/md4-tests: Moved from ../.
23299         * modules/crypto/md5: Moved from ../.
23300         * modules/crypto/md5-tests: Moved from ../.
23301         * modules/crypto/memxor: Moved from ../.
23302         * modules/crypto/rijndael: Moved from ../.
23303         * modules/crypto/rijndael-tests: Moved from ../.
23304         * modules/crypto/sha1: Moved from ../.
23305
23306 2007-03-30  James Youngman  <jay@gnu.org>
23307
23308         * tests/test-stat-time.c (prepare_test): use chmod() rather than
23309         rename() to change the ctime of a file (because ctime is unaffected
23310         by rename on jfs2 on AIX 5.1).
23311         (main): Start by doing cleanup, in case a previous run failed leaving
23312         test files behind.
23313
23314 2007-03-31  Bruno Haible  <bruno@clisp.org>
23315
23316         Support old proprietary implementations of iconv.
23317         * modules/iconv_open: New file.
23318         * lib/iconv_.h: New file.
23319         * m4/iconv_h.m4: New file.
23320         * lib/iconv_open.c: New file.
23321         * lib/iconv_open-aix.gperf: New file.
23322         * lib/iconv_open-hpux.gperf: New file.
23323         * lib/iconv_open-irix.gperf: New file.
23324         * lib/iconv_open-osf.gperf: New file.
23325         * m4/iconv_open.m4: New file.
23326         * modules/linebreak (Depends-on): Add iconv_open.
23327         * modules/striconv (Depends-on): Likewise.
23328         * modules/striconveh (Depends-on): Likewise.
23329         * modules/unicodeio (Depends-on): Likewise.
23330         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
23331         (iconv_t)(-1).
23332         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
23333         conversion if cd is (iconv_t)(-1).
23334         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
23335         is not possible.
23336
23337 2007-03-31  Bruno Haible  <bruno@clisp.org>
23338
23339         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
23340         work on Solaris either. Protect also second use of "autodetect_jp".
23341
23342 2007-03-31  Bruno Haible  <bruno@clisp.org>
23343
23344         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
23345         the function is not present.
23346
23347 2007-03-31  Bruno Haible  <bruno@clisp.org>
23348
23349         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
23350         the function is not present.
23351
23352 2007-03-31  Bruno Haible  <bruno@clisp.org>
23353
23354         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
23355         a bug in HP-UX iconv_open().
23356
23357 2007-03-31  Bruno Haible  <bruno@clisp.org>
23358
23359         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
23360         (Mathematics <math.h>): New section, add fpieee.
23361         (Input/output <stdio.h>): Add fseterr.
23362         (Mathematics <math.h>): New section, add printf-frexp.
23363         (Container data structures): Add sublist.
23364         (Core language properties): Add fpucw, inline.
23365         (Functions for greatest-width integer types <inttypes.h>): Add
23366         imaxabs, imaxdiv, inttypes.
23367         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
23368         isnanl-nolibm, ldexp.
23369         (Mathematics <math.h>): New section, add printf-frexpl.
23370         (Support for systems lacking POSIX:2001): Add fprintf-posix,
23371         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
23372         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
23373         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
23374         (Unicode string functions): Add unistr/u*-mbtoucr.
23375         (Java): Add javacomp-script, javaexec-script.
23376         (C#): Add csharpcomp-script, csharpexec-script.
23377         (Support for building libraries and executables): Add havelib,
23378         relocatable-*.
23379         (Support for maintaining and releasing projects): Renamed from
23380         'Support for maintaining and release projects'. Add announce-gen.
23381
23382 2007-03-31  Bruno Haible  <bruno@clisp.org>
23383
23384         * README: Talk primarily about git.
23385         (git and CVS): Renamed from CVS.
23386         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
23387         gnulib is available through git.
23388         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
23389
23390 2007-03-30  Bruno Haible  <bruno@clisp.org>
23391
23392         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
23393         * lib/poll_.h: Likewise.
23394         * lib/stat_.h: Likewise.
23395         * lib/sys_time_.h: Likewise.
23396         * lib/sysexit_.h: Likewise.
23397         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
23398         * lib/stdbool_.h: Likewise.
23399         * lib/byteswap_.h: Add double-inclusion guard.
23400
23401 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
23402
23403         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
23404
23405 2007-03-30  Karl Berry  <karl@gnu.org>
23406
23407         * config/srclist-update: double space after USA in the license
23408         substitution, since that's how it's usually (?) written.
23409
23410 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23411
23412         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
23413         reported by Bruno Haible.
23414
23415 2007-03-29  Bruno Haible  <bruno@clisp.org>
23416
23417         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
23418         a bug in AIX iconv().
23419
23420 2007-03-29  Bruno Haible  <bruno@clisp.org>
23421
23422         * modules/ldexpl-tests: New file.
23423         * tests/test-ldexpl.c: New file.
23424
23425 2007-03-29  Bruno Haible  <bruno@clisp.org>
23426
23427         * lib/ldexpl.c: Include fpucw.h.
23428         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
23429         multiplication.
23430         * modules/ldexpl (Depends-on): Add fpucw.
23431
23432 2007-03-29  Bruno Haible  <bruno@clisp.org>
23433
23434         * modules/ldexpl: New file.
23435         * m4/ldexpl.m4: New file.
23436         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
23437         set.
23438         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
23439         REPLACE_LDEXPL.
23440         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
23441         REPLACE_LDEXPL.
23442         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
23443         gl_FUNC_LDEXPL_WORKS.
23444         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
23445         * modules/mathl (Files): Remove lib/ldexpl.c.
23446         (Depends-on): Add ldexpl.
23447
23448 2007-03-29  Bruno Haible  <bruno@clisp.org>
23449
23450         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
23451
23452 2007-03-29  Bruno Haible  <bruno@clisp.org>
23453
23454         * tests/test-striconveh.c (main): Don't assume that a direct conversion
23455         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
23456         and possibly also HP-UX.
23457         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
23458         work on AIX, IRIX, HP-UX, OSF/1.
23459         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
23460         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
23461         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
23462         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
23463         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
23464         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
23465
23466 2007-03-29  Bruno Haible  <bruno@clisp.org>
23467
23468         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
23469
23470 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
23471
23472         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
23473         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
23474
23475 2007-03-29  Eric Blake  <ebb9@byu.net>
23476
23477         * lib/acl-internal.h: Remove redundant include.
23478         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
23479         Cygwin when a file is locked.
23480
23481 2007-03-29  Bruno Haible  <bruno@clisp.org>
23482
23483         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
23484         file.
23485         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
23486
23487 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
23488
23489         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
23490         try to remove a parent directory if the child couldn't be removed
23491         (except for the first rmdir, which could fail because the child
23492         doesn't exist).  Problem reported by Jeff Blaine in
23493         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
23494
23495 2007-03-28  Bruno Haible  <bruno@clisp.org>
23496
23497         * lib/striconveh.c (utf8conv_carefully): New function.
23498         (mem_cd_iconveh_internal): Invoke it.
23499
23500 2007-03-28  Bruno Haible  <bruno@clisp.org>
23501
23502         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
23503         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
23504         input.
23505         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
23506         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
23507         unistr/u8-uctomb.
23508
23509 2007-03-28  Bruno Haible  <bruno@clisp.org>
23510
23511         * modules/unistr/u8-mbtoucr: New file.
23512         * lib/unistr/u8-mbtoucr.c: New file.
23513         * modules/unistr/u16-mbtoucr: New file.
23514         * lib/unistr/u16-mbtoucr.c: New file.
23515         * modules/unistr/u16-mbtoucr: New file.
23516         * lib/unistr/u16-mbtoucr.c: New file.
23517         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
23518
23519 2007-03-27  Simon Josefsson  <simon@josefsson.org>
23520             Bruno Haible  <bruno@clisp.org>
23521
23522         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
23523         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
23524         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
23525
23526         * m4/stdio_h.m4: Add stubs for vasprintf too.
23527
23528         * modules/stdio: Support vasprintf in sed command.
23529
23530         * modules/vasprintf: Depend on stdio for prototypes.  Remove
23531         vasprintf.h.  Add stdio module indicator.
23532
23533         * lib/stdio_.h: Declare asprintf and vasprintf, based on
23534         vasprintf.h.
23535
23536         * lib/vasprintf.h: File removed.
23537
23538         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
23539         * lib/vasprintf.c: Ditto.
23540         * lib/xvasprintf.c: Ditto.
23541         * tests/test-vasprintf-posix.c: Ditto.
23542         * tests/test-vasprintf.c: Ditto.
23543
23544 2007-03-27  Bruno Haible  <bruno@clisp.org>
23545
23546         Make vasnprintf multithread-safe.
23547         * lib/vasnprintf.c (decimal_point_char): New function.
23548         (VASNPRINTF): Use it.
23549         Suggested by Simon Josefsson.
23550
23551 2007-03-27  Eric Blake  <ebb9@byu.net>
23552
23553         Support sub-second birthtime on cygwin.
23554         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
23555         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
23556         (get_stat_birthtime): Also work with st_birthtim.
23557
23558 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
23559
23560         * lib/stat-time.h (USE_BIRTHTIME): Remove.
23561         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
23562         (get_stat_birthtime_ns): Do not try to use "spare" fields.
23563         (get_stat_birthtime_ns): Simplify compile-time tests.
23564         (get_stat_birthtime): Change the API to look like
23565         get_stat_mtime etc., except return a negative tv_nsec on error.
23566         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
23567         Don't check for "spare" fields.
23568         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
23569         or for struct stat.st_birthtime, as these tests aren't used.
23570         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
23571
23572 2007-03-27  Bruno Haible  <bruno@clisp.org>
23573
23574         * lib/stat-time.h: Include <sys/stat.h>.
23575
23576 2007-03-27  James Youngman  <jay@gnu.org>
23577
23578         * lib/stat-time.h (get_stat_birthtime): New function for
23579           retrieving st_birthtime as provided by UFS2 (hence *BSD).
23580         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
23581           and its variants.
23582         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
23583         * modules/stat-time-test: New file.
23584         * tests/test-stat-time.c: New test, devised by Bruno Haible.
23585
23586 2007-03-26  Bruno Haible  <bruno@clisp.org>
23587
23588         Better support of signalling NaNs.
23589         * lib/atanl.c: Include isnanl.h.
23590         (atanl): Perform test for NaN at the beginning of the function and
23591         through a call to isnanl.
23592         * lib/cosl.c: Include isnanl.h.
23593         (cosl): Perform test for NaN at the beginning of the function and
23594         through a call to isnanl.
23595         * lib/ldexpl.c: Include isnanl.h.
23596         (ldexpl): Perform test for NaN through a call to isnanl.
23597         * lib/logl.c: Include isnanl.h.
23598         (logl): Perform test for NaN at the beginning of the function and
23599         through a call to isnanl.
23600         * lib/sinl.c: Include isnanl.h.
23601         (sinl): Perform test for NaN at the beginning of the function and
23602         through a call to isnanl.
23603         * lib/sqrtl.c: Include isnanl.h.
23604         (sqrtl): Perform test for NaN at the beginning of the function and
23605         through a call to isnanl.
23606         * lib/tanl.c: Include isnanl.h.
23607         (tanl): Perform test for NaN at the beginning of the function and
23608         through a call to isnanl.
23609         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
23610         * modules/mathl (Depends-on): Add isnanl.
23611
23612 2007-03-26  Eric Blake  <ebb9@byu.net>
23613
23614         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
23615         regression in logic sense of previous patch.
23616
23617 2007-03-26  Bruno Haible  <bruno@clisp.org>
23618
23619         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
23620         unportable shell command "if ! ...".
23621         Reported by Ralf Wildenhues.
23622
23623 2007-03-25  Bruno Haible  <bruno@clisp.org>
23624
23625         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
23626         <sysexits.h> file, and only add EX_CONFIG.
23627         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
23628         absolute file name and whether it is sufficient. Substitute also
23629         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
23630         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
23631         ABSOLUTE_SYSEXITS_H into sysexits.h.
23632
23633 2007-03-25  Bruno Haible  <bruno@clisp.org>
23634
23635         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
23636         hints is NULL.
23637
23638 2007-03-25  Bruno Haible  <bruno@clisp.org>
23639
23640         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
23641         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
23642
23643 2007-03-25  Bruno Haible  <bruno@clisp.org>
23644
23645         * lib/vasnprintf.c: Include langinfo.h.
23646         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
23647         multithread-safe.
23648         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
23649         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
23650         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
23651         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23652         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23653         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23654         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
23655         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
23656         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23657         Reported by Simon Josefsson.
23658
23659 2007-03-25  Bruno Haible  <bruno@clisp.org>
23660
23661         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
23662         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
23663         * modules/vasnprintf (Depends-on): Add stdint.
23664
23665 2007-03-25  Bruno Haible  <bruno@clisp.org>
23666
23667         * modules/fpieee: New file.
23668         * m4/fpieee.m4: New file.
23669         * modules/isnan-nolibm (Depends-on): Add fpieee.
23670         * modules/isnanl-nolibm (Depends-on): Add fpieee.
23671         * modules/isnanl (Depends-on): Add fpieee.
23672
23673 2007-03-25  Bruno Haible  <bruno@clisp.org>
23674
23675         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
23676
23677 2007-03-25  Bruno Haible  <bruno@clisp.org>
23678
23679         Avoid test failures on IRIX 6.5.
23680         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
23681         (main): Use it.
23682         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
23683         macros.
23684         (main): Use them.
23685
23686 2007-03-25  Bruno Haible  <bruno@clisp.org>
23687
23688         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
23689         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
23690         exists but doesn't work.
23691         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
23692         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
23693         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
23694         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
23695
23696 2007-03-25  Bruno Haible  <bruno@clisp.org>
23697
23698         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
23699         returns inf. Needed on IRIX 6.5.
23700
23701 2007-03-25  Bruno Haible  <bruno@clisp.org>
23702
23703         * tests/test-frexpl.c: Include isnanl-nolibm.h.
23704         (main): Use isnanl instead of x != x idiom.
23705         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
23706
23707         * tests/test-frexp.c: Include isnan.h.
23708         (main): Use isnan instead of x != x idiom.
23709         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
23710
23711 2007-03-25  Bruno Haible  <bruno@clisp.org>
23712
23713         * tests/test-frexp.c (NaN): New function/macro.
23714         (main): Use it instead of 0.0 / 0.0.
23715         * tests/test-isnan.c (NaN): New function/macro.
23716         (main): Use it instead of 0.0 / 0.0.
23717         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
23718         (test_function): Use it instead of 0.0 / 0.0.
23719         * tests/test-vasprintf-posix.c (NaN): New function/macro.
23720         (test_function): Use it instead of 0.0 / 0.0.
23721         * tests/test-snprintf-posix.h (NaN): New function/macro.
23722         (test_function): Use it instead of 0.0 / 0.0.
23723         * tests/test-sprintf-posix.h (NaN): New function/macro.
23724         (test_function): Use it instead of 0.0 / 0.0.
23725         * tests/test-fprintf-posix.h (NaN): New function/macro.
23726         (test_function): Use it instead of 0.0 / 0.0.
23727         * tests/test-printf-posix.h (NaN): New function/macro.
23728         (test_function): Use it instead of 0.0 / 0.0.
23729
23730         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
23731
23732 2007-03-25  Bruno Haible  <bruno@clisp.org>
23733
23734         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
23735
23736 2007-03-25  Bruno Haible  <bruno@clisp.org>
23737
23738         * lib/regexec.c (merge_state_with_log): Make static.
23739
23740 2007-03-25  Bruno Haible  <bruno@clisp.org>
23741
23742         * lib/trigl.c (kernel_rem_pio2): Make static.
23743
23744 2007-03-25  Bruno Haible  <bruno@clisp.org>
23745
23746         * lib/sincosl.c (sincosl_table): Make static.
23747
23748 2007-03-25  Bruno Haible  <bruno@clisp.org>
23749
23750         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
23751         if the compiler does not support C99.
23752
23753 2007-03-25  Bruno Haible  <bruno@clisp.org>
23754
23755         * modules/time (Makefile.am): Ensure all rule action lines start with a
23756         tab.
23757
23758 2007-03-24  Bruno Haible  <bruno@clisp.org>
23759
23760         * modules/tsearch-tests: New file.
23761         * tests/test-tsearch.sh: New file.
23762         * tests/test-tsearch.c: New file, mostly copied from glibc.
23763
23764         * modules/search-tests: New file.
23765         * tests/test-search.c: New file.
23766
23767         * modules/search: New file.
23768         * lib/search_.h: New file, incorporating lib/tsearch.h.
23769         * m4/search_h.m4: New file.
23770         * lib/tsearch.h: Remove file.
23771         * lib/tsearch.c: Include search.h instead of tsearch.h.
23772         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
23773         HAVE_TSEARCH.
23774         * modules/tsearch (Files): Remove lib/tsearch.h.
23775         (Depends-on): Add search.
23776         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
23777         (Include): Change tsearch.h into search.h.
23778
23779 2007-03-24  Bruno Haible  <bruno@clisp.org>
23780
23781         * modules/fpucw: New file.
23782         * lib/fpucw.h: New file.
23783         * lib/frexp.c: Include fpucw.h.
23784         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
23785         (FUNC): Use them.
23786         * lib/printf-frexp.c: Include fpucw.h.
23787         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
23788         (FUNC): Use them.
23789         * lib/vasnprintf.c: Include fpucw.h.
23790         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
23791         'long double' calculations.
23792         * tests/test-frexpl.c: Include fpucw.h.
23793         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
23794         * tests/test-printf-frexpl.c: Include fpucw.h.
23795         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
23796         * modules/frexpl (Depends-on): Add fpucw.
23797         * modules/printf-frexpl (Depends-on): Likewise.
23798         * modules/fprintf-posix (Depends-on): Likewise.
23799         * modules/snprintf-posix (Depends-on): Likewise.
23800         * modules/sprintf-posix (Depends-on): Likewise.
23801         * modules/vasnprintf-posix (Depends-on): Likewise.
23802         * modules/vasprintf-posix (Depends-on): Likewise.
23803         * modules/vfprintf-posix (Depends-on): Likewise.
23804         * modules/vsnprintf-posix (Depends-on): Likewise.
23805         * modules/vsprintf-posix (Depends-on): Likewise.
23806         * modules/frexpl-tests (Depends-on): Likewise.
23807         * modules/printf-frexpl-tests (Depends-on): Likewise.
23808
23809 2007-03-24  Bruno Haible  <bruno@clisp.org>
23810
23811         * lib/float+.h: New file.
23812         * lib/isnan.c: Include float+.h.
23813         (SIZE): New macro.
23814         (FUNC): Compare only SIZE bytes of the value.
23815         * lib/vasnprintf.c: Include float+.h.
23816         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
23817         SIZEOF_LDBL or SIZEOF_DBL bytes.
23818         * modules/isnan-nolibm (Files): Add lib/float+.h.
23819         * modules/isnanl-nolibm (Files): Add lib/float+.h.
23820         * modules/isnanl (Files): Add lib/float+.h.
23821         * modules/vasnprintf (Files): Add lib/float+.h.
23822
23823 2007-03-24  Bruno Haible  <bruno@clisp.org>
23824
23825         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
23826         include isnanl-nolibm.h.
23827
23828 2007-03-24  Bruno Haible  <bruno@clisp.org>
23829
23830         * tests/test-read-file.c (main): Don't produce spurious output for
23831         expected situations. Make the test fail if it encountered unexpected
23832         results.
23833
23834 2007-03-24  Bruno Haible  <bruno@clisp.org>
23835
23836         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
23837         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
23838
23839 2007-03-24  Bruno Haible  <bruno@clisp.org>
23840
23841         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
23842
23843 2007-03-24  Bruno Haible  <bruno@clisp.org>
23844
23845         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
23846         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
23847
23848         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
23849         * modules/utf8-ucs4: Turn into a symbolic link to module
23850         unistr/u8-mbtouc.
23851
23852         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
23853         utf8-ucs4-unsafe.
23854         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
23855         unistr/u8-mbtouc-unsafe.
23856
23857         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
23858         * modules/utf16-ucs4: Turn into a symbolic link to module
23859         unistr/u16-mbtouc.
23860
23861         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
23862         utf16-ucs4-unsafe.
23863         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
23864         unistr/u16-mbtouc-unsafe.
23865
23866         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
23867         * modules/ucs4-utf8: Turn into a symbolic link to module
23868         unistr/u8-ubtomb.
23869
23870         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
23871         * modules/ucs4-utf16: Turn into a symbolic link to module
23872         unistr/u16-ubtomb.
23873
23874 2007-03-24  Bruno Haible  <bruno@clisp.org>
23875
23876         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
23877         Enable the function only if HAVE_INLINE.
23878         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
23879         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
23880         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
23881         Enable the function only if HAVE_INLINE.
23882         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
23883         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
23884         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
23885         Enable the function only if HAVE_INLINE.
23886         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
23887         Enable the function only if HAVE_INLINE.
23888         * modules/utf8-ucs4: Update.
23889         * modules/utf8-ucs4-unsafe: Update.
23890         * modules/utf16-ucs4: Update.
23891         * modules/utf16-ucs4-unsafe: Update.
23892         * modules/ucs4-utf8: Update.
23893         * modules/ucs4-utf16: Update.
23894
23895 2007-03-24  Bruno Haible  <bruno@clisp.org>
23896
23897         * lib/utf8-ucs4.h: Remove file.
23898         * lib/utf8-ucs4-unsafe.h: Remove file.
23899         * lib/utf16-ucs4.h: Remove file.
23900         * lib/utf16-ucs4-unsafe.h: Remove file.
23901         * lib/ucs4-utf8.h: Remove file.
23902         * lib/ucs4-utf16.h: Remove file.
23903         * lib/unistr.h: Include their previous contents.
23904         * m4/utf-ucs4.m4: Remove file.
23905         * m4/ucs4-utf.m4: Remove file.
23906         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
23907         (Depends-on): Add unistr/base.
23908         (configure.ac): Remove gl_UTF_UCS4.
23909         (Makefile.am): Update.
23910         (Include): Change to unistr.h.
23911         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
23912         (Depends-on): Add unistr/base.
23913         (configure.ac): Remove gl_UTF_UCS4.
23914         (Makefile.am): Update.
23915         (Include): Change to unistr.h.
23916         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
23917         (Depends-on): Add unistr/base.
23918         (configure.ac): Remove gl_UTF_UCS4.
23919         (Makefile.am): Update.
23920         (Include): Change to unistr.h.
23921         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
23922         (Depends-on): Add unistr/base.
23923         (configure.ac): Remove gl_UTF_UCS4.
23924         (Makefile.am): Update.
23925         (Include): Change to unistr.h.
23926         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
23927         (Depends-on): Add unistr/base.
23928         (configure.ac): Remove gl_UCS4_UTF.
23929         (Makefile.am): Update.
23930         (Include): Change to unistr.h.
23931         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
23932         (Depends-on): Add unistr/base.
23933         (configure.ac): Remove gl_UCS4_UTF.
23934         (Makefile.am): Update.
23935         (Include): Change to unistr.h.
23936         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
23937         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
23938         utf8-ucs4-unsafe.h.
23939         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
23940         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
23941         utf16-ucs4-unsafe.h.
23942         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
23943         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
23944         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
23945         * lib/unistr/u8-strchr.c: Likewise.
23946         * lib/unistr/u8-strrchr.c: Likewise.
23947         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
23948         * lib/unistr/u16-strchr.c: Likewise.
23949         * lib/unistr/u16-strrchr.c: Likewise.
23950         * lib/striconveh.c: Update.
23951         * lib/linebreak.c: Update.
23952
23953 2007-03-24  Bruno Haible  <bruno@clisp.org>
23954
23955         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
23956         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
23957
23958 2007-03-22  Bruno Haible  <bruno@clisp.org>
23959
23960         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
23961
23962 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
23963
23964         * MODULES.html.sh (File system functions): New module write-any-file.
23965         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
23966         * m4/write-any-file.m4: New files.
23967
23968 2007-03-23  Eric Blake  <ebb9@byu.net>
23969
23970         * gnulib-tool: Rearrange space-tab sequences, since some editors
23971         like to eat them.
23972
23973 2007-03-23  Eric Blake  <ebb9@byu.net>
23974
23975         * lib/version-etc.c (version_etc_va): Update license wording to
23976         be more concise.  Recommended by Richard Stallman.
23977
23978 2007-03-22  Bruno Haible  <bruno@clisp.org>
23979
23980         * lib/poll.c (MSG_PEEK): New fallback definition.
23981
23982 2007-03-22  Bruno Haible  <bruno@clisp.org>
23983
23984         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
23985         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
23986         (main): Update.
23987         Fixes a compilation error on BeOS.
23988
23989 2007-03-22  Bruno Haible  <bruno@clisp.org>
23990
23991         * modules/frexpl-tests: New file.
23992         * tests/test-frexpl.c: New file.
23993
23994         * modules/frexpl: New file.
23995         * m4/frexpl.m4: New file.
23996         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
23997         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
23998         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
23999         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
24000         (Depends-on): Add frexpl. Remove isnanl-nolibm.
24001         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
24002
24003 2007-03-22  Bruno Haible  <bruno@clisp.org>
24004
24005         * lib/frexpl.c: Share code with lib/frexp.c.
24006         * modules/mathl (Files): Add lib/frexp.c.
24007         (Depends-on): Add isnanl-nolibm.
24008
24009 2007-03-22  Bruno Haible  <bruno@clisp.org>
24010
24011         * modules/printf-frexp (Files): Add m4/frexp.m4.
24012         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
24013         only if the found frexp function actually works.
24014
24015 2007-03-22  Bruno Haible  <bruno@clisp.org>
24016
24017         * lib/frexp.c: Remove older implementation that uses divisions.
24018
24019 2007-03-21  Bruno Haible  <bruno@clisp.org>
24020
24021         * modules/frexp-tests: New file.
24022         * tests/test-frexp.c: New file.
24023
24024         * modules/frexp: New file.
24025         * lib/frexp.c: New file.
24026         * m4/frexp.m4: New file.
24027         * lib/math_.h (frexp): New declaration.
24028         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
24029         REPLACE_FREXP.
24030         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
24031
24032 2007-03-21  Bruno Haible  <bruno@clisp.org>
24033
24034         * modules/isnanl-tests: New file.
24035         * tests/test-isnanl.c: New file.
24036
24037         * modules/isnanl: New file.
24038         * lib/isnanl.h: New file.
24039         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
24040         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
24041         gl_FUNC_ISNANL_WORKS.
24042         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
24043         New macros.
24044
24045 2007-03-21  Bruno Haible  <bruno@clisp.org>
24046
24047         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
24048         lib/isnanl.h.
24049         (Include): Update.
24050         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
24051         * lib/vasnprintf.c: Update.
24052         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
24053         tests/test-isnanl.h, remove tests/test-isnanl.c.
24054         (Makefile.am): Update.
24055         * tests/test-isnanl-nolibm.c: New file.
24056         * tests/test-isnanl.h: New file.
24057         * tests/test-isnanl.c: Remove file.
24058
24059 2007-03-21  Jim Meyering  <jim@meyering.net>
24060
24061         When trying to open ".", treat ESTALE like EACCES.
24062         * lib/savewd.c (savewd_save): Resort to forking not just upon
24063         failure with EACCES, but also when errno is ESTALE.
24064
24065 2007-03-20  Bruno Haible  <bruno@clisp.org>
24066
24067         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
24068         Needed on AIX 5.1. Reported by Matthew Woehlke.
24069
24070 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24071
24072         Suggestions by Bruno Haible:
24073         * lib/acl-internal.h: Include "gettext.h" rather than rolling
24074         our own.
24075         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
24076         * modules/acl (Depends-on): Add gettext.
24077
24078 2007-03-19  Bruno Haible  <bruno@clisp.org>
24079
24080         * modules/iconvme: Remove file.
24081         * lib/iconvme.h: Remove file.
24082         * lib/iconvme.c: Remove file.
24083         * m4/iconvme.m4: Remove file.
24084
24085 2007-03-19  Bruno Haible  <bruno@clisp.org>
24086
24087         * doc/relocatable-maint.texi: Break long shell script line.
24088         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
24089
24090 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24091
24092         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
24093         handle file_has_acl.
24094         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
24095         * lib/acl.c: Move header inclusions and related macro defns into
24096         lib/acl-internal.h.
24097         (S_ISLNK): Remove defn, since that's now done for us.
24098         (file_has_acl): Move to lib/file-has-acl.c.
24099         Call acl_trivial if available.  This is the crucial part of the fix.
24100         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
24101         shared within the library.  Rewrite a bit, partly to make it compatible
24102         with the GNU coding style.
24103         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
24104         Remove unnecessary double-quotes.
24105         Don't test for acl_to_text; the build will catch that.
24106         Replace acl_entries if it doesn't exist and it is needed.
24107         Check for -lsec and acl_trivial (as used on Solaris 10).
24108         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
24109         lib/file-has-acl.c.
24110         (Depends-on): Add sys_stat, for S_ISLNK.
24111
24112 2007-03-19  Ben Pfaff  <blp@gnu.org>
24113
24114         * doc/gnulib.texi: Fix typos.
24115         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
24116
24117 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24118
24119         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
24120         If size is zero here, buf must be zero.
24121
24122 2007-03-19  Simon Josefsson  <simon@josefsson.org>
24123
24124         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
24125         <bruno@clisp.org>.
24126
24127 2007-03-18  Bruno Haible  <bruno@clisp.org>
24128
24129         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
24130         Suggested by Eric Blake.
24131
24132 2007-03-18  Ben Pfaff  <blp@gnu.org>
24133
24134         * doc/relocatable.texi: Recommend using as prefix a directory
24135         that does not exist and will never be created.  Based on
24136         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
24137         and others.
24138
24139 2007-03-17  Bruno Haible  <bruno@clisp.org>
24140
24141         * lib/fchownat.c: Include lchown.h.
24142
24143 2007-03-17  Bruno Haible  <bruno@clisp.org>
24144
24145         Fix endless loop when the given allocated size was > INT_MAX.
24146         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
24147         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
24148         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
24149         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
24150         * lib/sprintf.c (sprintf): Likewise.
24151
24152 2007-03-17  Bruno Haible  <bruno@clisp.org>
24153
24154         * tests/test-argp-2.sh (func_compare): Output a context diff.
24155
24156 2007-03-17  Bruno Haible  <bruno@clisp.org>
24157
24158         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
24159         locale's decimal-point character.
24160
24161 2007-03-17  Bruno Haible  <bruno@clisp.org>
24162
24163         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
24164         before comparing it. Needed because on some platforms (e.g. x86) a
24165         'long double' occupies less bytes than sizeof (long double).
24166
24167 2007-03-17  Bruno Haible  <bruno@clisp.org>
24168
24169         * tests/test-crc.c (main): Make printf statements 64-bit clean.
24170         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
24171         * tests/test-getaddrinfo.c (simple): Likewise.
24172         * tests/test-read-file.c (main): Likewise.
24173
24174 2007-03-17  Bruno Haible  <bruno@clisp.org>
24175
24176         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
24177
24178 2007-03-17  Bruno Haible  <bruno@clisp.org>
24179
24180         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
24181         unused variable.
24182
24183 2007-03-17  Bruno Haible  <bruno@clisp.org>
24184
24185         * tests/test-c-strcasecmp.c: Include c-strcase.h.
24186         * tests/test-c-strncasecmp.c: Likewise.
24187
24188 2007-03-17  Bruno Haible  <bruno@clisp.org>
24189
24190         * modules/stdlib (Depends-on): Add unistd.
24191         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
24192         Needed for MacOS X 10.3.
24193
24194 2007-03-17  Bruno Haible  <bruno@clisp.org>
24195
24196         * lib/unistr/u-strdup.h: Include <stdlib.h>.
24197
24198 2007-03-17  Bruno Haible  <bruno@clisp.org>
24199
24200         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
24201
24202 2007-03-17  Bruno Haible  <bruno@clisp.org>
24203
24204         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
24205         to reflect files copied from gnulib (with or without modifications).
24206         Suggested by Jim Meyering.
24207
24208 2007-03-17  Eric Blake  <ebb9@byu.net>
24209
24210         * NEWS: Document stdlib change from 2007-02-18.
24211
24212 2007-03-17  Jim Meyering  <jim@meyering.net>
24213
24214         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
24215         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
24216         someone uses a name containing shell meta-characters.
24217         Reported by Alfred M. Szmidt.
24218
24219         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
24220
24221 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
24222
24223         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
24224         and copy gettext configuration files only if configure.ac contains
24225         a use of AM_GNU_GETTEXT_VERSION.
24226
24227 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
24228
24229         * build-aux/bootstrap (gnulib_name): New variable.
24230         (gnulib_tool_options): Use it.
24231
24232 2007-03-13  Simon Josefsson  <simon@josefsson.org>
24233
24234         * tests/test-des.c: Use new namespace.
24235
24236 2007-03-15  Bruno Haible  <bruno@clisp.org>
24237
24238         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
24239         Reported by James Youngman <jay@gnu.org>.
24240
24241 2007-03-15  Bruno Haible  <bruno@clisp.org>
24242
24243         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
24244         declared prototype. Needed with cc on OSF/1 5.1.
24245
24246 2007-03-15  Bruno Haible  <bruno@clisp.org>
24247
24248         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
24249         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
24250         (struct gl_list_implementation): Add dispose_fn argument to the
24251         'create_empty', 'create' methods.
24252         (struct gl_list_impl_base): Add field 'dispose_fn'.
24253         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
24254         argument.
24255         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
24256         dispose_fn argument.
24257         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
24258         dispose_fn on the dropped values.
24259         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
24260         dispose_fn argument.
24261         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
24262         dropped values.
24263         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
24264         (gl_tree_remove_node): Call dispose_fn on the dropped value.
24265         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
24266         (gl_tree_remove_node): Call dispose_fn on the dropped value.
24267         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
24268         argument.
24269         (gl_tree_list_free): Call dispose_fn on the dropped values.
24270         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
24271         the dropped values.
24272         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
24273         Add dispose_fn argument.
24274         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
24275         Call dispose_fn on the dropped values.
24276         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
24277         Add dispose_fn argument.
24278         (gl_sublist_create): Initialize the 'dispose_fn' field.
24279         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
24280         * tests/test-array_list.c (main): Update.
24281         * tests/test-carray_list.c (main): Update.
24282         * tests/test-avltree_list.c (main): Update.
24283         * tests/test-rbtree_list.c (main): Update.
24284         * tests/test-avltreehash_list.c (main): Update.
24285         * tests/test-rbtreehash_list.c (main): Update.
24286         * tests/test-linked_list.c (main): Update.
24287         * tests/test-linkedhash_list.c (main): Update.
24288         * tests/test-array_oset.c (main): Update.
24289
24290 2007-03-15  Bruno Haible  <bruno@clisp.org>
24291
24292         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
24293         (gl_oset_create_empty): Add dispose_fn argument.
24294         (struct gl_oset_implementation): Add dispose_fn argument to
24295         'create_empty' method.
24296         (struct gl_oset_impl_base): Add dispose_fn field.
24297         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
24298         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
24299         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
24300         values.
24301         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
24302         (gl_tree_oset_free): Call dispose_fn on the dropped values.
24303         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
24304         dropped value.
24305         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
24306         dropped value.
24307         * tests/test-array_oset.c (main): Update.
24308         * tests/test-avltree_oset.c (main): Update.
24309         * tests/test-rbtree_oset.c (main): Update.
24310         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
24311
24312 2007-03-13  Bruno Haible  <bruno@clisp.org>
24313
24314         * tests/test-stdbool.c (i): Update after last patch.
24315
24316 2007-03-12  Bruno Haible  <bruno@clisp.org>
24317
24318         * lib/quotearg.c: Include <wctype.h> early, before the definition of
24319         the iswprint macro. Needed on Solaris 2.5.1.
24320
24321 2007-03-12  Bruno Haible  <bruno@clisp.org>
24322
24323         * tests/test-printf-frexp.c (main): Declare x as volatile.
24324
24325 2007-03-12  Simon Josefsson  <simon@josefsson.org>
24326
24327         * doc/gnulib.texi (Build robot for gnulib): New section.
24328
24329 2007-03-12  Jim Meyering  <jim@meyering.net>
24330
24331         * build-aux/bootstrap: New file.
24332         * build-aux/bootstrap.conf: New file, from coreutils.
24333
24334 2007-03-11  Bruno Haible  <bruno@clisp.org>
24335
24336         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
24337
24338 2007-03-12  Simon Josefsson  <simon@josefsson.org>
24339
24340         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
24341         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
24342         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
24343
24344 2007-03-11  Bruno Haible  <bruno@clisp.org>
24345
24346         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
24347         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
24348
24349 2007-03-11  Bruno Haible  <bruno@clisp.org>
24350
24351         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
24352         formula. Needed for SunPRO C 5.0.
24353
24354 2007-03-11  Bruno Haible  <bruno@clisp.org>
24355
24356         * modules/long-options (Depends-on): Add getopt.
24357
24358 2007-03-11  Bruno Haible  <bruno@clisp.org>
24359
24360         * modules/modechange (Depends-on): Add stdbool.
24361
24362 2007-03-11  Bruno Haible  <bruno@clisp.org>
24363
24364         * modules/i-ring (Depends-on): Add stdbool.
24365
24366 2007-03-11  Bruno Haible  <bruno@clisp.org>
24367
24368         * modules/gc-des (Depends-on): Add stdbool.
24369
24370 2007-03-11  Bruno Haible  <bruno@clisp.org>
24371
24372         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
24373
24374 2007-03-11  Bruno Haible  <bruno@clisp.org>
24375
24376         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
24377
24378 2007-03-11  Bruno Haible  <bruno@clisp.org>
24379
24380         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
24381
24382 2007-03-11  Bruno Haible  <bruno@clisp.org>
24383
24384         * lib/vasnprintf.c (sprintf): Undefine.
24385
24386 2007-03-11  Bruno Haible  <bruno@clisp.org>
24387
24388         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
24389         initializers in SunPRO C and Compaq C compilers.
24390
24391 2007-03-11  Bruno Haible  <bruno@clisp.org>
24392
24393         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
24394         decrementing code ANSI C compliant.
24395
24396 2007-03-11  Bruno Haible  <bruno@clisp.org>
24397
24398         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
24399         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
24400
24401 2007-03-11  Bruno Haible  <bruno@clisp.org>
24402
24403         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
24404         <stdbool.h> substitute doesn't pass.
24405
24406 2007-03-11  Bruno Haible  <bruno@clisp.org>
24407
24408         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
24409
24410 2007-03-11  Bruno Haible  <bruno@clisp.org>
24411
24412         * gnulib-tool (func_create_megatestdir): Create also an autobuild
24413         script, for submission to autobuild.josefsson.org.
24414
24415 2007-03-10  Bruno Haible  <bruno@clisp.org>
24416
24417         * modules/canonicalize-lgpl-tests: New file.
24418         * tests/test-canonicalize-lgpl.sh: New file.
24419         * tests/test-canonicalize-lgpl.c: New file.
24420
24421         * modules/c-strcase-tests: New file.
24422         * tests/test-c-strcase.sh: New file.
24423         * tests/test-c-strcasecmp.c: New file.
24424         * tests/test-c-strncasecmp.c: New file.
24425
24426         * modules/atexit-tests: New file.
24427         * tests/test-atexit.sh: New file.
24428         * tests/test-atexit.c: New file.
24429
24430 2007-03-10  Bruno Haible  <bruno@clisp.org>
24431
24432         * tests/test-binary-io.sh: Use temporary filenames that are not so
24433         likely to clash with those of other tests (in a parallel make).
24434         * tests/test-binary-io.c: Likewise.
24435
24436 2007-03-10  Bruno Haible  <bruno@clisp.org>
24437
24438         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
24439         fallback; use #error instead.
24440         Suggested by Simon Josefsson.
24441
24442 2007-03-10  Bruno Haible  <bruno@clisp.org>
24443
24444         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
24445         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
24446         first and the last.
24447
24448 2007-03-10  Bruno Haible  <bruno@clisp.org>
24449
24450         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
24451
24452 2007-03-10  Bruno Haible  <bruno@clisp.org>
24453
24454         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
24455         "make distcheck".
24456         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
24457         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
24458         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
24459
24460 2007-03-10  Bruno Haible  <bruno@clisp.org>
24461
24462         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
24463         variable.
24464         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
24465         variable.
24466
24467 2007-03-09  Eric Blake  <ebb9@byu.net>
24468         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
24469
24470         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
24471         types are not being provided by gnulib.
24472         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
24473         types are supported.
24474
24475 2007-03-10  Bruno Haible  <bruno@clisp.org>
24476
24477         * lib/stdio_.h (__attribute__): New macro.
24478         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
24479         vsprintf): Specify __attribute__ __format__ for GCC.
24480         Suggested by Eric Blake.
24481
24482 2007-03-09  Bruno Haible  <bruno@clisp.org>
24483
24484         * modules/printf-posix-tests: New file.
24485         * tests/test-printf-posix.sh: New file.
24486         * tests/test-printf-posix.c: New file.
24487
24488         * modules/printf-posix: New file.
24489         * lib/printf.c: New file.
24490         * m4/printf-posix-rpl.m4: New file.
24491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
24492         REPLACE_PRINTF.
24493         * lib/stdio_.h (printf): New declaration.
24494         (format, __format__, ____printf____, ____scanf____, ____strftime____,
24495         ____strfmon____): New macros.
24496         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
24497         REPLACE_PRINTF.
24498
24499 2007-03-09  Bruno Haible  <bruno@clisp.org>
24500
24501         * tests/test-vasnprintf-posix2.sh: New file.
24502         * tests/test-vasnprintf-posix2.c: New file.
24503         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
24504         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
24505         (Makefile.am): Activate test-vasnprintf-posix2.sh.
24506
24507         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
24508         a locale dependent decimal point, rather than always '.'.
24509
24510 2007-03-09  Eric Blake  <ebb9@byu.net>
24511
24512         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
24513         spite of platforms like Tandem/NSK that define it to -1.
24514
24515 2007-03-08  Bruno Haible  <bruno@clisp.org>
24516
24517         * modules/vprintf-posix-tests: New file.
24518         * tests/test-vprintf-posix.sh: New file.
24519         * tests/test-vprintf-posix.c: New file.
24520         * tests/test-printf-posix.h: New file.
24521
24522         * modules/vprintf-posix: New file.
24523         * lib/vprintf.c: New file.
24524         * m4/vprintf-posix.m4: New file.
24525         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
24526         REPLACE_VPRINTF.
24527         * lib/stdio_.h (vprintf): New declaration.
24528         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
24529         REPLACE_VPRINTF.
24530
24531 2007-03-08  Bruno Haible  <bruno@clisp.org>
24532
24533         * modules/fprintf-posix-tests: New file.
24534         * tests/test-fprintf-posix.sh: New file.
24535         * tests/test-fprintf-posix.c: New file.
24536
24537         * modules/fprintf-posix: New file.
24538         * lib/fprintf.c: New file.
24539         * m4/fprintf-posix.m4: New file.
24540         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
24541         REPLACE_FPRINTF.
24542         * lib/stdio_.h (fprintf): New declaration.
24543         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
24544         REPLACE_FPRINTF.
24545
24546 2007-03-08  Bruno Haible  <bruno@clisp.org>
24547
24548         * modules/vfprintf-posix-tests: New file.
24549         * tests/test-vfprintf-posix.sh: New file.
24550         * tests/test-vfprintf-posix.c: New file.
24551         * tests/test-fprintf-posix.h: New file.
24552         * tests/test-fprintf-posix.out: New file.
24553
24554         * modules/vfprintf-posix: New file.
24555         * lib/vfprintf.c: New file.
24556         * m4/vfprintf-posix.m4: New file.
24557         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
24558         REPLACE_VFPRINTF.
24559         * lib/stdio_.h (vfprintf): New declaration.
24560         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
24561         REPLACE_VFPRINTF.
24562
24563 2007-03-08  Bruno Haible  <bruno@clisp.org>
24564
24565         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
24566
24567 2007-03-08  Bruno Haible  <bruno@clisp.org>
24568
24569         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
24570         instead of 'expr' invocations.
24571         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24572         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24573         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24574         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24575         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24576         Suggested by Paul Eggert.
24577
24578 2007-03-08  Bruno Haible  <bruno@clisp.org>
24579
24580         * modules/fseterr-tests: New file.
24581         * tests/test-fseterr.c: New file.
24582
24583         * modules/fseterr: New file.
24584         * lib/fseterr.h: New file.
24585         * lib/fseterr.c: New file.
24586
24587 2007-03-08  Bruno Haible  <bruno@clisp.org>
24588
24589         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
24590         * lib/getopt_.h: Likewise.
24591         * lib/mbswidth.h: Likewise.
24592         * lib/setenv.h: Likewise.
24593         * lib/vasnprintf.h: Likewise.
24594         * lib/vasprintf.h: Likewise.
24595         * lib/verror.h: Likewise.
24596         * lib/xsetenv.h: Likewise.
24597         * lib/xvasprintf.h: Likewise.
24598
24599 2007-03-08  Jim Meyering  <jim@meyering.net>
24600
24601         * users.txt: Add parted.
24602
24603         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
24604
24605 2007-03-07  Bruno Haible  <bruno@clisp.org>
24606
24607         * m4/printf.m4: Make the shell script snippets copy&pastable.
24608
24609 2007-03-02  Bruno Haible  <bruno@clisp.org>
24610
24611         * lib/netinet_in_.h: New file.
24612         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
24613         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
24614         * modules/netinet_in (Files): Add lib/netinet_in_.h.
24615         (Depends-on): Add absolute-header.
24616         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
24617         into netinet/in.h.
24618
24619 2007-03-03  Bruno Haible  <bruno@clisp.org>
24620
24621         * lib/sys_select_.h: New file.
24622         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
24623         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
24624         * modules/sys_select (Files): Add lib/sys_select_.h.
24625         (Depends-on): Add absolute-header.
24626         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
24627         into sys/select.h.
24628
24629 2007-03-02  Bruno Haible  <bruno@clisp.org>
24630
24631         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
24632         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
24633         values.
24634         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
24635         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
24636         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
24637         * modules/sys_socket (Depends-on): Add absolute-header.
24638         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
24639         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
24640         (Include): Remove requirement of inclusion of <sys/types.h>.
24641
24642 2007-03-02  Bruno Haible  <bruno@clisp.org>
24643
24644         * lib/byteswap_.h (bswap_32): Fix formula.
24645
24646 2007-03-06  Bruno Haible  <bruno@clisp.org>
24647
24648         * modules/sprintf-posix-tests: New file.
24649         * tests/test-sprintf-posix.c: New file.
24650
24651         * modules/sprintf-posix: New file.
24652         * lib/sprintf.c: New file.
24653         * m4/sprintf-posix.m4: New file.
24654         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
24655         REPLACE_SPRINTF.
24656         * lib/stdio_.h (sprintf): New declaration.
24657         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
24658         REPLACE_SPRINTF.
24659
24660 2007-03-06  Bruno Haible  <bruno@clisp.org>
24661
24662         * modules/vsprintf-posix-tests: New file.
24663         * tests/test-vsprintf-posix.c: New file.
24664         * tests/test-sprintf-posix.h: New file.
24665
24666         * modules/vsprintf-posix: New file.
24667         * lib/vsprintf.c: New file.
24668         * m4/vsprintf-posix.m4: New file.
24669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
24670         REPLACE_VSPRINTF.
24671         * lib/stdio_.h (vsprintf): New declaration.
24672         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
24673         REPLACE_VSPRINTF.
24674
24675 2007-03-06  Bruno Haible  <bruno@clisp.org>
24676
24677         * modules/vsnprintf (Depend-on): Remove minmax.
24678
24679 2007-03-06  Bruno Haible  <bruno@clisp.org>
24680
24681         * modules/snprintf-posix-tests: New file.
24682         * tests/test-snprintf-posix.c: New file.
24683
24684         * modules/snprintf-posix: New file.
24685         * m4/snprintf-posix.m4: New file.
24686         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
24687         gl_FUNC_SNPRINTF.
24688         (gl_FUNC_SNPRINTF): Invoke it.
24689         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
24690         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
24691         is set.
24692         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
24693
24694 2007-03-06  Bruno Haible  <bruno@clisp.org>
24695
24696         * modules/vsnprintf-posix-tests: New file.
24697         * tests/test-vsnprintf-posix.c: New file.
24698         * tests/test-snprintf-posix.h: New file.
24699
24700         * modules/vsnprintf-posix: New file.
24701         * m4/vsnprintf-posix.m4: New file.
24702         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
24703         gl_FUNC_VSNPRINTF.
24704         (gl_FUNC_VSNPRINTF): Invoke it.
24705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
24706         * lib/stdio_.h (vsnprintf): Define as a replacement if
24707         REPLACE_VSNPRINTF is set.
24708         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
24709
24710 2007-03-06  Bruno Haible  <bruno@clisp.org>
24711
24712         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
24713         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
24714
24715 2007-03-06  Bruno Haible  <bruno@clisp.org>
24716
24717         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
24718         (asinl): Declare also if HAVE_DECL_ASINL is set.
24719         (atanl): Declare also if HAVE_DECL_ATANL is set.
24720         (ceill): Declare also if HAVE_DECL_CEILL is set.
24721         (cosl): Declare also if HAVE_DECL_COSL is set.
24722         (expl): Declare also if HAVE_DECL_EXPL is set.
24723         (floorl): Declare also if HAVE_DECL_FLOORL is set.
24724         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
24725         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
24726         (logl): Declare also if HAVE_DECL_LOGL is set.
24727         (sinl): Declare also if HAVE_DECL_SINL is set.
24728         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
24729         (tanl): Declare also if HAVE_DECL_TANL is set.
24730         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
24731         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
24732         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
24733         declaration of frexpl, ldexpl.
24734         * modules/printf-frexpl (Depends-on): Add math.
24735         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
24736
24737 2007-03-05  Bruno Haible  <bruno@clisp.org>
24738
24739         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
24740         frexpl and ldexpl are declared.
24741         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
24742
24743 2007-03-05  Bruno Haible  <bruno@clisp.org>
24744
24745         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
24746         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
24747
24748 2007-03-05  Bruno Haible  <bruno@clisp.org>
24749
24750         * lib/stdio_.h: Include <stddef.h>.
24751
24752 2007-03-05  Bruno Haible  <bruno@clisp.org>
24753
24754         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
24755
24756 2007-03-05  Bruno Haible  <bruno@clisp.org>
24757
24758         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
24759         NetBSD 4, from Ralf Wildenhues.
24760
24761 2007-03-04  Bruno Haible  <bruno@clisp.org>
24762
24763         * lib/vasprintf.h: Update #if logic for the case when the functions
24764         exist but are overridden.
24765
24766 2007-03-04  Bruno Haible  <bruno@clisp.org>
24767
24768         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
24769         implementations: glibc-2.4 and MacOS X 10.3.
24770         * tests/test-vasnprintf-posix.c (test_function): Test also the case
24771         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
24772         * tests/test-vasprintf-posix.c (test_function): Likewise.
24773
24774 2007-03-04  Bruno Haible  <bruno@clisp.org>
24775
24776         * modules/vasprintf-posix-tests: New file.
24777         * tests/test-vasprintf-posix.c: New file.
24778
24779         * modules/vasprintf-posix: New file.
24780         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
24781         defined.
24782         * m4/vasprintf-posix.m4: New file.
24783         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
24784         gl_FUNC_VASPRINTF.
24785         (gl_FUNC_VASPRINTF): Invoke it.
24786         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
24787         here.
24788         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
24789
24790 2007-03-04  Bruno Haible  <bruno@clisp.org>
24791
24792         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
24793         REPLACE_GETTIMEOFDAY.
24794         * modules/sys_time (Makefile.am): Likewise.
24795         * m4/sys_time_h.m4: Likewise.
24796         * m4/gettimeofday.m4: Likewise.
24797
24798 2007-03-04  Bruno Haible  <bruno@clisp.org>
24799
24800         * modules/vasnprintf-posix-tests: New file.
24801         * tests/test-vasnprintf-posix.c: New file.
24802
24803         * modules/vasnprintf-posix: New file.
24804         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
24805         printf-frexpl.h.
24806         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
24807         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
24808         REPLACE_VASNPRINTF is defined.
24809         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
24810         gl_FUNC_VASNPRINTF.
24811         (gl_FUNC_VASNPRINTF): Invoke it.
24812         * m4/vasnprintf-posix.m4: New file.
24813         * m4/printf.m4: New file.
24814
24815 2007-03-04  Bruno Haible  <bruno@clisp.org>
24816
24817         Compile progreloc.c only if --enable-relocatable is specified.
24818         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
24819         if --enable-relocatable was specified.
24820         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
24821         lib_SOURCES.
24822
24823 2007-03-04  Jim Meyering  <jim@meyering.net>
24824
24825         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
24826         Use it consistently, rather than enumerating errno constants.
24827
24828 2007-03-04  Bruno Haible  <bruno@clisp.org>
24829
24830         * modules/xvasprintf-tests: New file.
24831         * tests/test-xvasprintf.c: New file.
24832
24833         * modules/vasprintf-tests: New file.
24834         * tests/test-vasprintf.c: New file.
24835
24836         * modules/vasnprintf-tests: New file.
24837         * tests/test-vasnprintf.c: New file.
24838
24839         * modules/vsnprintf-tests: New file.
24840         * tests/test-vsnprintf.c: New file.
24841
24842         * modules/snprintf-tests: New file.
24843         * tests/test-snprintf.c: New file.
24844
24845 2007-03-04  Bruno Haible  <bruno@clisp.org>
24846
24847         Compile relocatable.c only if --enable-relocatable is specified.
24848         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
24849         gl_RELOCATABLE_LIBRARY.
24850         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
24851         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
24852         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
24853         gl_RELOCATABLE_LIBRARY.
24854         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
24855         (Makefile.am): Remove lib_SOURCES.
24856         * modules/relocatable-lib-lgpl (configure.ac): Invoke
24857         gl_RELOCATABLE_LIBRARY.
24858         (Makefile.am): Remove lib_SOURCES.
24859         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
24860         always.
24861         * modules/relocatable-prog-wrapper (configure.ac): Invoke
24862         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
24863
24864 2007-03-04  Bruno Haible  <bruno@clisp.org>
24865
24866         * modules/argmatch-tests: New file.
24867         * tests/test-argmatch.c: New file.
24868
24869         * tests/test-allocsa.c (main): Halve the number of loop runs.
24870
24871         * modules/alloca-opt-tests: New file.
24872         * tests/test-alloca-opt.c: New file.
24873
24874 2007-03-04  Jim Meyering  <jim@meyering.net>
24875
24876         Work around difference between Linux ACLs and Solaris 10 ZFS.
24877         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
24878         for EINVAL.
24879
24880 2007-03-03  Bruno Haible  <bruno@clisp.org>
24881
24882         * modules/relocatable-prog (Depends-on): Add back progreloc's
24883         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
24884
24885 2007-03-03  Bruno Haible  <bruno@clisp.org>
24886
24887         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
24888         * modules/relocatable-lib: New file.
24889
24890 2007-03-03  Bruno Haible  <bruno@clisp.org>
24891
24892         * modules/relocatable-prog: Renamed from modules/relocatable.
24893         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
24894
24895 2007-03-03  Bruno Haible  <bruno@clisp.org>
24896
24897         * modules/relocatable-script (Files): Add doc/relocatable.texi,
24898         m4/relocatable-lib.m4.
24899         (Depends-on): Remove 'relocatable'.
24900         (configure.ac): Add gl_RELOCATABLE_NOP.
24901
24902 2007-03-03  Bruno Haible  <bruno@clisp.org>
24903
24904         * modules/relocatable-prog-wrapper: New file.
24905         * modules/relocatable (Depends-on): Add it. Remove all other
24906         dependencies except progname.
24907         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
24908
24909         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
24910         (gl_FUNC_STRERROR): Nop.
24911         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
24912
24913         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
24914         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
24915
24916         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
24917         (gl_FUNC_READLINK): Update.
24918
24919         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
24920
24921 2007-03-03  Bruno Haible  <bruno@clisp.org>
24922
24923         * lib/xreadlink.c: Include <unistd.h> unconditionally.
24924         * modules/xreadlink (Depends-on): Add unistd.
24925         * modules/xreadlink-with-size (Depends-on): Likewise.
24926
24927 2007-03-03  Bruno Haible  <bruno@clisp.org>
24928
24929         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
24930         extracted from gt_FUNC_SETENV.
24931         (gt_FUNC_SETENV): Remove macro.
24932         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
24933         remove gt_FUNC_SETENV.
24934
24935 2007-03-03  Bruno Haible  <bruno@clisp.org>
24936
24937         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
24938         ENABLE_RELOCATABLE here.
24939         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
24940
24941 2007-03-03  Bruno Haible  <bruno@clisp.org>
24942
24943         * modules/rbtreehash-list-tests (Depends-on): Add progname.
24944         * tests/test-rbtreehash_list.c: Include progname.h.
24945         (main): Call set_program_name.
24946
24947         * modules/rbtree-oset-tests (Depends-on): Add progname.
24948         * tests/test-rbtree_oset.c: Include progname.h.
24949         (main): Call set_program_name.
24950
24951         * modules/rbtree-list-tests (Depends-on): Add progname.
24952         * tests/test-rbtree_list.c: Include progname.h.
24953         (main): Call set_program_name.
24954
24955         * modules/linked-list-tests (Depends-on): Add progname.
24956         * tests/test-linked_list.c: Include progname.h.
24957         (main): Call set_program_name.
24958
24959 2007-03-03  Bruno Haible  <bruno@clisp.org>
24960
24961         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
24962         All uses of __restrict changed to _Restrict_.
24963         * lib/glob_.h (__restrict): Remove macro.
24964
24965 2007-03-02  Bruno Haible  <bruno@clisp.org>
24966
24967         * modules/gettext (configure.ac): Require gettext infrastructure
24968         from version 0.16.1.
24969
24970 2007-03-02  Bruno Haible  <bruno@clisp.org>
24971
24972         * modules/linkedhash-list-tests (Depends-on): Add progname.
24973         * tests/test-linkedhash_list.c: Include progname.h.
24974         (main): Call set_program_name.
24975
24976         * modules/carray-list-tests (Depends-on): Add progname.
24977         * tests/test-carray_list.c: Include progname.h.
24978         (main): Call set_program_name.
24979
24980         * modules/avltreehash-list-tests (Depends-on): Add progname.
24981         * tests/test-avltreehash_list.c: Include progname.h.
24982         (main): Call set_program_name.
24983
24984         * modules/avltree-oset-tests (Depends-on): Add progname.
24985         * tests/test-avltree_oset.c: Include progname.h.
24986         (main): Call set_program_name.
24987
24988         * modules/avltree-list-tests (Depends-on): Add progname.
24989         * tests/test-avltree_list.c: Include progname.h.
24990         (main): Call set_program_name.
24991
24992         * modules/array-oset-tests (Depends-on): Add progname.
24993         * tests/test-array_oset.c: Include progname.h.
24994         (main): Call set_program_name.
24995
24996         * modules/array-list-tests (Depends-on): Add progname.
24997         * tests/test-array_list.c: Include progname.h.
24998         (main): Call set_program_name.
24999
25000         * modules/argp-tests (Depends-on): Add progname.
25001         * tests/test-argp.c: Include argp.h first. Include progname.h.
25002         (main): Call set_program_name.
25003
25004 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
25005
25006         * doc/gnulib-tool.texi (Initial import): Reword description of
25007         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
25008         limited effect even if defined after the first system include.
25009
25010 2007-03-01  Bruno Haible  <bruno@clisp.org>
25011
25012         * build-aux/config.libpath: Update to libtool-1.5.22.
25013         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25014
25015 2007-03-01  Bruno Haible  <bruno@clisp.org>
25016
25017         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
25018         foo_CFLAGS.
25019         Reported by Ralf Wildenhues.
25020
25021 2007-03-01  Bruno Haible  <bruno@clisp.org>
25022
25023         * build-aux/install-reloc: Remove object files left over by some
25024         compilers.
25025         Reported by Ralf Wildenhues.
25026
25027 2007-03-01  Bruno Haible  <bruno@clisp.org>
25028
25029         * build-aux/install-reloc: Break long lines.
25030
25031 2007-03-01  Bruno Haible  <bruno@clisp.org>
25032
25033         * doc/relocatable.texi: Document that it may not work on OpenBSD.
25034         Reported by Ralf Wildenhues.
25035
25036 2007-03-01  Bruno Haible  <bruno@clisp.org>
25037
25038         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
25039         include ordering constraints.
25040
25041 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25042
25043         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
25044         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
25045         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
25046         as another example.
25047         * lib/time_.h: Fix misspelling.
25048         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
25049         Require gl_HEADER_TIME_H_DEFAULTS.
25050         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
25051         * m4/time_r.m4 (gl_TIME_R): Likewise.
25052         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
25053
25054 2007-03-01  Bruno Haible  <bruno@clisp.org>
25055
25056         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
25057         * m4/utimens.m4 (gl_UTIMENS): Likewise.
25058
25059 2007-03-01  Jim Meyering  <jim@meyering.net>
25060
25061         * modules/xreadlink (Maintainer): Add my name.
25062         * modules/xreadlink-with-size (Depends-on): Alphabetize.
25063
25064 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
25065             Bruno Haible  <bruno@clisp.org>
25066
25067         * build-aux/install-reloc: Compile also c-ctype.c.
25068         * build-aux/relocatable.sh.in: New file.
25069         * doc/relocatable.texi: New file.
25070         * doc/relocatable-maint.texi: New file.
25071         * doc/gnulib.texi: Include relocatable-maint.texi.
25072         * lib/progreloc.c: Include unistd.h unconditionally.
25073         * lib/relocwrapper.c: Include unistd.h unconditionally.
25074         Include c-ctype.h.
25075         (add_dotbin): Use c_tolower.
25076         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
25077         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
25078         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
25079         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
25080         to m4/relocatable-lib.m4.
25081         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
25082         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
25083         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
25084         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
25085         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
25086         * modules/relocatable: New file.
25087         * modules/relocatable-lib: New file.
25088         * modules/relocatable-script: New file.
25089
25090 2007-02-28  Bruno Haible  <bruno@clisp.org>
25091
25092         Import --enable-relocatable infrastructure.
25093         * build-aux/config.libpath: New file, from GNU gettext.
25094         * build-aux/install-reloc: New file, from GNU gettext.
25095         * build-aux/reloc-ldflags: New file, from GNU gettext.
25096         * lib/relocatable.h: New file, from GNU gettext.
25097         * lib/relocatable.c: New file, from GNU gettext.
25098         * lib/relocwrapper.c: New file, from GNU gettext.
25099         * m4/relocatable.m4: New file, from GNU gettext.
25100
25101 2007-02-28  Bruno Haible  <bruno@clisp.org>
25102
25103         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
25104
25105         * modules/xreadlink: New file, from GNU gettext with modifications.
25106         * lib/xreadlink.c: New file, from GNU gettext.
25107         * lib/xreadlink.h: Add comments.
25108         (xreadlink): New declaration.
25109
25110         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
25111         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
25112         lib/xreadlink-with-size.c.
25113         (configure.ac): Remove gl_XREADLINK invocation.
25114         (Makefile.am): Augment lib_SOURCES.
25115         * m4/xreadlink.m4: Remove file.
25116         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
25117         (xreadlink_with_size): Renamed from xreadink.
25118         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
25119         * modules/canonicalize (Depends-on): Replace xreadlink with
25120         xreadlink-with-size.
25121         * lib/canonicalize.c (canonicalize_filename_mode): Update.
25122
25123 2007-02-25  Jim Meyering  <jim@meyering.net>
25124
25125         * build-aux/announce-gen: When complaining about excess arguments,
25126         list them.
25127
25128 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
25129
25130         * README: Document signed integer overflow situation more
25131         accurately.
25132
25133 2007-02-25  Bruno Haible  <bruno@clisp.org>
25134
25135         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
25136         'a' or 'A' conversion.
25137
25138 2007-02-25  Bruno Haible  <bruno@clisp.org>
25139
25140         * modules/filename: Renamed from modules/pathname.
25141         (Files): Replace lib/pathname.h with lib/filename.h. Replace
25142         lib/concatpath.c with lib/concat-filename.c.
25143         (Makefile.am): Update.
25144         (Include): Replace pathname.h with filename.h.
25145         * lib/filename.h: Renamed from lib/pathname.h.
25146         (concatenated_filename): Renamed from concatenated_pathname.
25147         * lib/concat-filename.c: Renamed from lib/concatpath.c.
25148         (concatenated_filename): Renamed from concatenated_pathname.
25149         * lib/findprog.c: Include filename.h instead of pathname.h.
25150         (find_in_path): Update.
25151         * lib/javacomp.c: Include filename.h instead of pathname.h.
25152         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
25153         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
25154         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
25155         is_oldgcj_14_13_usable, is_javac_usable): Update.
25156         * lib/javaexec.c: Include filename.h instead of pathname.h.
25157         (execute_java_class): Update.
25158         * modules/findprog: Update.
25159         * modules/javacomp: Update.
25160         * modules/javaexec: Update.
25161         * MODULES.html.sh (File system functions): Add 'filename', remove
25162         'pathname'.
25163
25164 2007-02-25  Bruno Haible  <bruno@clisp.org>
25165
25166         * modules/printf-frexpl-tests: New file.
25167         * tests/test-printf-frexpl.c: New file.
25168
25169         * modules/printf-frexpl: New file.
25170         * lib/printf-frexpl.h: New file.
25171         * lib/printf-frexpl.c: New file.
25172         * m4/printf-frexpl.m4: New file.
25173
25174 2007-02-25  Bruno Haible  <bruno@clisp.org>
25175
25176         * modules/printf-frexp-tests: New file.
25177         * tests/test-printf-frexp.c: New file.
25178
25179         * modules/printf-frexp: New file.
25180         * lib/printf-frexp.h: New file.
25181         * lib/printf-frexp.c: New file.
25182         * m4/printf-frexp.m4: New file.
25183
25184 2007-02-25  Bruno Haible  <bruno@clisp.org>
25185
25186         Assume automake >= 1.10 for the tests.
25187         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
25188         * modules/arctwo-tests: Likewise.
25189         * modules/argp-tests: Likewise.
25190         * modules/avltree-list-tests: Likewise.
25191         * modules/avltree-oset-tests: Likewise.
25192         * modules/avltreehash-list-tests: Likewise.
25193         * modules/carray-list-tests: Likewise.
25194         * modules/crc-tests: Likewise.
25195         * modules/des-tests: Likewise.
25196         * modules/gc-arcfour-tests: Likewise.
25197         * modules/gc-arctwo-tests: Likewise.
25198         * modules/gc-des-tests: Likewise.
25199         * modules/gc-hmac-md5-tests: Likewise.
25200         * modules/gc-hmac-sha1-tests: Likewise.
25201         * modules/gc-md2-tests: Likewise.
25202         * modules/gc-md4-tests: Likewise.
25203         * modules/gc-md5-tests: Likewise.
25204         * modules/gc-pbkdf2-sha1-tests: Likewise.
25205         * modules/gc-rijndael-tests: Likewise.
25206         * modules/gc-sha1-tests: Likewise.
25207         * modules/gc-tests: Likewise.
25208         * modules/getaddrinfo-tests: Likewise.
25209         * modules/hmac-md5-tests: Likewise.
25210         * modules/hmac-sha1-tests: Likewise.
25211         * modules/linked-list-tests: Likewise.
25212         * modules/linkedhash-list-tests: Likewise.
25213         * modules/lock-tests: Likewise.
25214         * modules/md2-tests: Likewise.
25215         * modules/md4-tests: Likewise.
25216         * modules/md5-tests: Likewise.
25217         * modules/rbtree-list-tests: Likewise.
25218         * modules/rbtree-oset-tests: Likewise.
25219         * modules/rbtreehash-list-tests: Likewise.
25220         * modules/read-file-tests: Likewise.
25221         * modules/rijndael-tests: Likewise.
25222         * modules/stdint-tests: Likewise.
25223         * modules/tls-tests: Likewise.
25224
25225 2007-02-24  Bruno Haible  <bruno@clisp.org>
25226
25227         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
25228         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
25229         function; instead check whether isnan with a double argument links.
25230         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
25231         function; instead check whether isnan with a 'long double' argument
25232         links.
25233         Reported by Eric Blake <ebb9@byu.net>.
25234
25235 2007-02-24  Bruno Haible  <bruno@clisp.org>
25236
25237         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
25238         defined.
25239         * lib/isnanl.c: Remove all code. Just include isnan.c.
25240         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
25241
25242 2007-02-25  Jim Meyering  <jim@meyering.net>
25243
25244         Avoid conflicting types for 'unsetenv' on FreeBSD.
25245         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
25246         conflicting with FreeBSD's (5.0 and 6.1) function declaration
25247         in stdlib.h.
25248
25249 2007-02-24  Bruno Haible  <bruno@clisp.org>
25250
25251         * modules/isnanl-nolibm-tests: New file.
25252         * tests/test-isnanl.c: New file.
25253
25254         * modules/isnanl-nolibm: New file.
25255         * lib/isnanl.h: New file.
25256         * lib/isnanl.c: New file.
25257         * m4/isnanl.m4: New file.
25258
25259 2007-02-24  Bruno Haible  <bruno@clisp.org>
25260
25261         * modules/isnan-nolibm-tests: New file.
25262         * tests/test-isnan.c: New file.
25263
25264         * modules/isnan-nolibm: New file.
25265         * lib/isnan.h: New file.
25266         * lib/isnan.c: New file.
25267         * m4/isnan.m4: New file.
25268
25269 2007-02-24  Bruno Haible  <bruno@clisp.org>
25270
25271         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
25272         assume that an exponent fits in 20 bits.
25273
25274 2007-02-24  Jim Meyering  <jim@meyering.net>
25275
25276         * m4/regex.m4: Update the description of the configure-time option,
25277         --without-included-regex, to state accurately what the defaults are,
25278         and perhaps to give people an idea why using this option is risky.
25279
25280 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
25281
25282         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
25283         loops on small arguments.  This attempts to avoid the problem
25284         Bruno Haible reported for AIX 4.3.2 in
25285         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
25286
25287 2007-02-23  Bruno Haible  <bruno@clisp.org>
25288
25289         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
25290         Needed for help2man.
25291
25292 2007-02-23  Karl Berry  <karl@gnu.org>
25293
25294         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
25295         exists, foo.h should be cvs-ignored, not committed.
25296
25297 2007-02-23  Eric Blake  <ebb9@byu.net>
25298
25299         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
25300         * lib/stat-time.h (includes): Likewise.
25301         * lib/utimecmp.c (includes): Likewise.
25302         * lib/utimens.h (includes): Likewise.
25303         * lib/getdate.y (includes): Also include "timespec.h" for use
25304         internal to the module.
25305         * modules/utimens (Depends-on): Revert yesterday's patch.
25306         * modules/nanosleep (Depends-on): Add missing dependency.
25307
25308 2007-02-22  Bruno Haible  <bruno@clisp.org>
25309
25310         * lib/glob.c: Don't include getlogin_r.h.
25311
25312 2007-02-22  Jim Meyering  <jim@meyering.net>
25313
25314         * modules/utimens (Depends-on): Add timespec, required for
25315         utimens.h's inclusion of timespec.h.
25316
25317 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
25318
25319         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
25320         long unreadable paths in GNU/Linux.  Problem reported by Andreas
25321         Schwab in
25322         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
25323         I'll try to think of a better way to fix the Solaris problem.
25324
25325         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
25326         like glibc; on Solaris 10, it fails with errno == EINVAL.
25327         POSIX says the behavior is unspecified if the first argument is NULL,
25328         so play it safe and never pass NULL to the system getcwd.
25329
25330 2007-02-21  Jim Meyering  <jim@meyering.net>
25331
25332         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
25333         of gettimeofday.  It would conflict with the one now always
25334         provided via sys_time_.h.  Reported by Matthew Woehlke, as
25335         an IRIX 6.5 build failure.
25336
25337 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
25338
25339         Minor fixups to port to Solaris 10 with Sun C 5.8.
25340         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
25341         * modules/getcwd (Depends-on): Add dirfd.
25342         * lib/putenv.c (putenv): #undef it.
25343         (rpl_putenv): New decl.
25344         (malloc, free): Include <stdlib.h> rather than prototyping separately.
25345
25346 2007-02-20  Bruno Haible  <bruno@clisp.org>
25347
25348         * modules/stdio-tests: New file.
25349         * tests/test-stdio.c: New file.
25350
25351         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
25352         (Depends-on): Add stdio.
25353         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
25354         (Include): Use <stdio.h> instead of vsnprintf.h.
25355         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
25356         HAVE_DECL_VSNPRINTF.
25357         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
25358
25359         * modules/snprintf (Files): Remove lib/snprintf.h.
25360         (Depends-on): Add stdio.
25361         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
25362         (Include): Use <stdio.h> instead of snprintf.h.
25363         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
25364         HAVE_DECL_SNPRINTF.
25365         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
25366         * lib/getaddrinfo.c: Likewise.
25367
25368         * modules/stdio: New file.
25369         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
25370         * lib/snprintf.h: Remove file.
25371         * lib/vsnprintf.h: Remove file.
25372         * lib/.cppi-disable: Remove snprintf.h.
25373         * m4/stdio_h.m4: New file.
25374         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
25375
25376 2007-02-20  Jim Meyering  <jim@meyering.net>
25377
25378         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
25379         used by e.g., mingw.  From Bruno Haible.
25380
25381 2007-02-19  Bruno Haible  <bruno@clisp.org>
25382
25383         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
25384         warnings.
25385         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25386
25387 2007-02-19  Bruno Haible  <bruno@clisp.org>
25388
25389         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
25390         from mingw users.
25391
25392 2007-02-19  Bruno Haible  <bruno@clisp.org>
25393
25394         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
25395         warnings.
25396         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
25397
25398 2007-02-19  Jim Meyering  <jim@meyering.net>
25399
25400         Don't use FD after a successful "fdopendir (fd)".
25401         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
25402         Reset it by calling dirfd on the just-obtained DIR*.
25403
25404         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
25405         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
25406
25407 2007-02-18  Bruno Haible  <bruno@clisp.org>
25408
25409         * lib/readlink.c: Include <unistd.h>.
25410         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
25411         HAVE_READLINK.
25412         * modules/readlink (Depends-on): Add unistd.
25413         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25414         (Include): Add <unistd.h>.
25415
25416         * lib/getlogin_r.h: Remove file.
25417         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
25418         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
25419         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
25420         HAVE_DECL_GETLOGIN_R.
25421         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
25422         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25423         (Include): Use <unistd.h> instead of getlogin_r.h.
25424
25425         * lib/getcwd.h: Remove file.
25426         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
25427         * lib/xgetcwd.c: Likewise.
25428         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
25429         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
25430         * modules/getcwd (Files): Remove lib/getcwd.h.
25431         (Depends-on): Add unistd.
25432         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25433         (Include): Use <unistd.h> instad of getcwd.h.
25434
25435         * lib/ftruncate.c: Include <unistd.h> first.
25436         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
25437         Set HAVE_FTRUNCATE.
25438         * modules/ftruncate (Depends-on): Add unistd.
25439         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25440
25441         * lib/fchdir.c: Include <unistd.h> first.
25442         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
25443         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
25444         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
25445         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25446         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
25447
25448         * lib/dup2.c: Include <unistd.h> first.
25449         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
25450         HAVE_DUP2.
25451         * modules/dup2 (Depends-on): Add unistd.
25452         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25453
25454         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
25455         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
25456         REPLACE_CHOWN. Don't define chown as a macro here.
25457         * modules/chown (Depends-on): Add unistd.
25458         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25459
25460         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
25461         Add definition for GL_LINK_WARNING.
25462         (chown, dup2): New declarations.
25463         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
25464         link warning.
25465         (ftruncate): New declaration.
25466         (getcwd): New declaration, taken from old getcwd.h.
25467         (getlogin_r): New declaration, taken from old getlogin_r.h.
25468         (readlink): New declaration.
25469         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
25470         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
25471         (gl_PREREQ_UNISTD): Remove macro.
25472         (gl_UNISTD_MODULE_INDICATOR): New macro.
25473         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
25474         many new variables. Don't set UNISTD_H.
25475         * modules/unistd (Description): Change.
25476         (Depends-on): Add link-warning.
25477         (configure.ac): Update.
25478         (Makefile.am): Create unistd.h always. Substitute many new variables
25479         into it.
25480
25481 2007-02-18  Bruno Haible  <bruno@clisp.org>
25482
25483         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
25484         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
25485         HAVE_GETSUBOPT.
25486         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
25487         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
25488         * lib/getsubopt.h: Remove file.
25489         * modules/getsubopt (Files): Remove lib/getsubopt.h.
25490         (Depends-on): Add stdlib.
25491         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
25492         (Includes): Use <stdlib.h> instead of getsubopt.h.
25493         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
25494         Set HAVE_GETSUBOPT.
25495         * lib/getsubopt.c: Don't include getsubopt.h.
25496
25497 2007-02-18  Bruno Haible  <bruno@clisp.org>
25498
25499         * modules/fchdir (Depends-on): Add dup2.
25500
25501 2007-02-18  Bruno Haible  <bruno@clisp.org>
25502
25503         * lib/stdlib_.h: Handle glibc's special invocation convention
25504         specially.
25505
25506 2007-02-18  Bruno Haible  <bruno@clisp.org>
25507
25508         * modules/stdlib-tests: New file.
25509         * tests/test-stdlib.c: New file.
25510
25511         * modules/mkstemp (Files): Remove lib/mkstemp.h.
25512         (Depends-on): Add stdlib.
25513         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
25514         (Includes): Use <stdlib.h> instead of mkstemp.h.
25515         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
25516         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
25517         * lib/mkstemp.c: Don't include mkstemp.h.
25518         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
25519         * lib/stdlib--.h: Don't include mkstemp.h.
25520
25521         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
25522         (Depends-on): Add stdlib.
25523         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
25524         (Includes): Use <stdlib.h> instead of mkdtemp.h.
25525         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
25526         HAVE_MKDTEMP.
25527         * lib/mkdtemp.c: Don't include mkdtemp.h.
25528         * lib/clean-temp.c: Don't include mkdtemp.h.
25529
25530         * modules/exit (Files): Remove lib/exit.h.
25531         (Depends-on): Add stdlib.
25532         (Makefile.am): Remove lib_SOURCES.
25533         (Include): Use <stdlib.h> instead of exit.h.
25534         * lib/argmatch.c: Don't include exit.h.
25535         * lib/execute.c: Likewise.
25536         * lib/pagealign_alloc.c: Likewise.
25537         * lib/pipe.c: Likewise.
25538         * lib/wait-process.c: Likewise.
25539         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
25540         * lib/exitfail.c: Likewise.
25541         * lib/savewd.c: Likewise.
25542         * lib/xsetenv.c: Likewise.
25543
25544         * modules/stdlib: New file.
25545         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
25546         and extra comments about mkstemp().
25547         * lib/exit.h: Remove file.
25548         * lib/mkdtemp.h: Remove file.
25549         * lib/mkstemp.h: Remove file.
25550         * m4/stdlib_h.m4: New file.
25551         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
25552
25553 2007-02-18  Bruno Haible  <bruno@clisp.org>
25554
25555         * modules/math-tests: New file.
25556         * tests/test-math.c: New file.
25557
25558         * modules/math: New file.
25559         * modules/mathl (Files): Remove lib/mathl.h.
25560         (Depends-on): Add math.
25561         (Makefile.am): Don't mention mathl.h.
25562         (Include): Use <math.h> instead of mathl.h.
25563         * lib/math_.h: New file.
25564         * lib/mathl.h: Remove file.
25565         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
25566         mathl.h.
25567         * lib/asinl.c: Likewise.
25568         * lib/atanl.c: Likewise.
25569         * lib/ceill.c: Likewise.
25570         * lib/cosl.c: Likewise.
25571         * lib/expl.c: Likewise.
25572         * lib/floorl.c: Likewise.
25573         * lib/frexpl.c: Likewise.
25574         * lib/ldexpl.c: Likewise.
25575         * lib/logl.c: Likewise.
25576         * lib/sincosl.c: Likewise.
25577         * lib/sinl.c: Likewise.
25578         * lib/sqrtl.c: Likewise.
25579         * lib/tanl.c: Likewise.
25580         * lib/trigl.c: Likewise.
25581         * m4/math_h.m4: New file.
25582         * MODULES.html.sh (Mathematics): Add math.
25583
25584 2007-02-17  Bruno Haible  <bruno@clisp.org>
25585
25586         * modules/wctype-tests: New file.
25587         * tests/test-wctype.c: New file.
25588
25589         * modules/wchar-tests: New file.
25590         * tests/test-wchar.c: New file.
25591
25592         * modules/unistd-tests: New file.
25593         * tests/test-unistd.c: New file.
25594
25595         * modules/time-tests: New file.
25596         * tests/test-time.c: New file.
25597
25598         * modules/sysexits-tests: New file.
25599         * tests/test-sysexits.c: New file.
25600
25601         * modules/sys_time-tests: New file.
25602         * tests/test-sys_time.c: New file.
25603
25604         * modules/sys_stat-tests: New file.
25605         * tests/test-sys_stat.c: New file.
25606
25607         * modules/sys_socket-tests: New file.
25608         * tests/test-sys_socket.c: New file.
25609
25610         * modules/sys_select-tests: New file.
25611         * tests/test-sys_select.c: New file.
25612
25613         * modules/string-tests: New file.
25614         * tests/test-string.c: New file.
25615
25616         * modules/stdbool-tests: New file.
25617         * tests/test-stdbool.c: New file.
25618
25619         * modules/netinet_in-tests: New file.
25620         * tests/test-netinet_in.c: New file.
25621
25622         * modules/inttypes-tests: New file.
25623         * tests/test-inttypes.c: New file.
25624
25625         * modules/fcntl-tests: New file.
25626         * tests/test-fcntl.c: New file.
25627
25628         * modules/byteswap-tests: New file.
25629         * tests/test-byteswap.c: New file.
25630
25631         * modules/arpa_inet-tests: New file.
25632         * tests/test-arpa_inet.c: New file.
25633
25634 2007-02-17  Bruno Haible  <bruno@clisp.org>
25635
25636         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
25637         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
25638         if the corresponding module is not enabled. Emit link warnings if
25639         the function is used nevertheless.
25640         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
25641         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
25642         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
25643         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
25644         * modules/inttypes (Depends-on): Add link-warning.
25645         (Makefile.am): Copy the contents of build-aux/link-warning.h into
25646         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
25647         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
25648         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
25649         * modules/imaxdiv (configure.ac): Likewise.
25650         * modules/strtoimax (configure.ac): Likewise.
25651         * modules/strtoumax (configure.ac): Likewise.
25652
25653 2007-02-17  Bruno Haible  <bruno@clisp.org>
25654
25655         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
25656         gl_STRING_MODULE_INDICATOR_DEFAULTS.
25657         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
25658         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
25659
25660 2007-02-17  Bruno Haible  <bruno@clisp.org>
25661
25662         * modules/link-warning: New file.
25663         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
25664         * lib/string_.h (GL_LINK_WARNING): Remove definition.
25665         * modules/string (Depends-on): Add link-warning.
25666         (Makefile.am): Copy the contents of build-aux/link-warning.h into
25667         string.h.
25668         * MODULES.html.sh (Support for building libraries and executables): Add
25669         link-warning.
25670
25671 2007-02-17  Bruno Haible  <bruno@clisp.org>
25672
25673         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
25674         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
25675         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
25676         long lines.
25677
25678 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
25679             Bruno Haible  <bruno@clisp.org>
25680
25681         * modules/tmpfile: New file.
25682         * lib/tmpfile.c: New file.
25683         * m4/tmpfile.m4: New file.
25684         * MODULES.html.sh (func_all_modules): New section "Input/output".
25685
25686 2007-02-15  Bruno Haible  <bruno@clisp.org>
25687
25688         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
25689         (supports_delete_on_close): New function.
25690         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
25691
25692 2007-02-14  Bruno Haible  <bruno@clisp.org>
25693
25694         * modules/mbspcasecmp-tests: New file.
25695         * tests/test-mbspcasecmp.sh: New file.
25696         * tests/test-mbspcasecmp.c: New file.
25697
25698         New module mbspcasecmp.
25699         * modules/mbspcasecmp: New file.
25700         * lib/mbspcasecmp.c: New file.
25701         * lib/string_.h (strncasecmp): Change warning message.
25702         (mbspcasecmp): New declaration.
25703         * m4/mbspcasecmp.m4: New file.
25704         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
25705         GNULIB_MBSPCASECMP.
25706         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
25707         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
25708
25709 2007-02-14  Bruno Haible  <bruno@clisp.org>
25710
25711         * modules/mbsncasecmp-tests: New file.
25712         * tests/test-mbsncasecmp.sh: New file.
25713         * tests/test-mbsncasecmp.c: New file.
25714
25715         New module mbsncasecmp.
25716         * modules/mbsncasecmp: New file.
25717         * lib/mbsncasecmp.c: New file.
25718         * lib/string_.h (mbsncasecmp): New declaration.
25719         * m4/mbsncasecmp.m4: New file.
25720         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
25721         GNULIB_MBSNCASECMP.
25722         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
25723         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
25724
25725 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
25726
25727         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
25728         Verify that it doesn't overlap with our flags.
25729         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
25730         do not have the desired effect in multibyte locales; instead, use
25731         mbscasecmp.
25732         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
25733         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
25734         we don't require GNU fnmatch ourselves (if our users require it, they
25735         should do so explicitly).
25736
25737         Fix regex code so it doesn't rely on strcasecmp.
25738         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
25739         Otherwise, include gnulib's langinfo.h.
25740         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
25741         undesirable behavior in non-C locales.  Instead, rely on localecharset.
25742         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
25743         * modules/regex (FILES): Remove m4/codeset.m4.
25744         (Depends-on): Add localcharset.  Remove strcase.
25745
25746 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25747
25748         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
25749         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
25750
25751 2007-02-13  Bruno Haible  <bruno@clisp.org>
25752
25753         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
25754         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25755
25756 2007-02-12  Bruno Haible  <bruno@clisp.org>
25757
25758         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
25759         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
25760         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
25761         time warning rather than a link error.
25762
25763 2007-02-12  Bruno Haible  <bruno@clisp.org>
25764
25765         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
25766         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25767         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25768
25769 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
25770
25771         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
25772         args, not 2.
25773
25774 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
25775
25776         New module 'time', so that apps can include <time.h> as per
25777         POSIX and GNU instead of separate include files like time_r.h
25778         and timegm.h.  This implementation tries out a simpler approach
25779         for replacing decls in standard include files (as compared to
25780         the string module), somewhat as an experiment.
25781
25782         * config/srclist.txt: Comment out mktime.c for now.
25783         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
25784         since it doesn't apply any more.  Use generic wording instead.
25785         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
25786         'time'.
25787         * lib/time_.h, m4/time_h.m4, modules/time: New files.
25788         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
25789         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
25790         Don't include <sys/types.h>; no longer needed since we assume C89.
25791         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
25792         * lib/strftime.c: Likewise.
25793         * lib/time_r.c: Likewise.
25794         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
25795         * lib/nanosleep.c: Include <time.h> first, to check interface.
25796         * lib/strptime.c: Likewise.
25797         * lib/time_r.c: Likewise.
25798         * lib/timegm.c: Likewise.
25799         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
25800         needed.
25801         * lib/timegm.c: Don't include timegm.h; no longer needed.
25802         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
25803         time.h now handles any problems in that area.
25804         (struct timespec, nanosleep): Remove; time.h now arranges for these.
25805         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
25806         that time.h defines struct timespec.
25807         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
25808         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
25809         handles that.
25810         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
25811         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
25812         needed.  Set REPLACE_LOCALTIME.
25813         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
25814         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
25815         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
25816         nanosleep; time_h.m4 now does that.  Don't require
25817         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
25818         module handles this now.
25819         * modules/getdate (Depends-on): Remove timespec.  Add time.
25820         * modules/nanosleep (Depends-on): Likewise.
25821         * modules/stat-time (Depends-on): Likewise.
25822         * modules/nanosleep (Include): Include time.h, not timespec.h.
25823         * modules/strptime (Files): Remove lib/strptime.h.
25824         (Depends-on): Add extensions, time.
25825         (Include): Include time.h, not strptime.h.
25826         * modules/time_r (Files): Remove lib/time_r.h.
25827         (Depends-on): Add time.
25828         (Include): Include time.h, not time_r.h.
25829         * modules/timegm: Likewise.
25830         * modules/timespec (Description): Now does timespec-related decls
25831         of our own, instead of struct timespec itself.
25832         (Depends-on): Add time; remove extensions.
25833         (Maintainer): Add self.
25834         * modules/utimecmp (Depends-on): Add time; remove timespec.
25835         * modules/utimens (Depends-on): Likewise.
25836         * modules/xnanosleep (Depends-on): Likewise.
25837
25838 2007-02-11  Bruno Haible  <bruno@clisp.org>
25839
25840         * lib/c-strstr.c: Include allocsa.h.
25841         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
25842         * lib/c-strcasestr.c: Include allocsa.h.
25843         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
25844         * lib/strcasestr.c: Include allocsa.h.
25845         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
25846         * lib/mbsstr.c: Include allocsa.h.
25847         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
25848         allocsa/freesa instead of malloc/free.
25849         * lib/mbscasestr.c: Include allocsa.h.
25850         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
25851         allocsa/freesa instead of malloc/free.
25852         * modules/c-strstr (Depends-on): Add allocsa.
25853         * modules/c-strcasestr (Depends-on): Likewise.
25854         * modules/strcasestr (Depends-on): Likewise.
25855         * modules/mbsstr (Depends-on): Likewise.
25856         * modules/mbscasestr (Depends-on): Likewise.
25857
25858 2007-02-11  Bruno Haible  <bruno@clisp.org>
25859
25860         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
25861
25862         * modules/mbsspn-tests: New file.
25863         * tests/test-mbsspn.sh: New file.
25864         * tests/test-mbsspn.c: New file.
25865
25866 2007-02-11  Bruno Haible  <bruno@clisp.org>
25867
25868         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
25869
25870         * modules/mbspbrk-tests: New file.
25871         * tests/test-mbspbrk.sh: New file.
25872         * tests/test-mbspbrk.c: New file.
25873
25874 2007-02-11  Bruno Haible  <bruno@clisp.org>
25875
25876         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
25877         unneeded cast.
25878
25879         * modules/mbscspn-tests: New file.
25880         * tests/test-mbscspn.sh: New file.
25881         * tests/test-mbscspn.c: New file.
25882
25883 2007-02-11  Bruno Haible  <bruno@clisp.org>
25884
25885         * modules/mbscasecmp-tests: New file.
25886         * tests/test-mbscasecmp.sh: New file.
25887         * tests/test-mbscasecmp.c: New file.
25888
25889 2007-02-11  Bruno Haible  <bruno@clisp.org>
25890
25891         Ensure O(n) worst-case complexity of mbscasestr.
25892         * lib/mbscasestr.c: Include stdbool.h.
25893         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
25894         functions.
25895         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
25896         the bookkeeping indicates that it's worth it.
25897         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
25898
25899         * modules/mbscasestr-tests: New file.
25900         * tests/test-mbscasestr1.c: New file.
25901         * tests/test-mbscasestr2.sh: New file.
25902         * tests/test-mbscasestr2.c: New file.
25903         * tests/test-mbscasestr3.sh: New file.
25904         * tests/test-mbscasestr3.c: New file.
25905         * tests/test-mbscasestr4.sh: New file.
25906         * tests/test-mbscasestr4.c: New file.
25907         * m4/locale-tr.m4: New file.
25908
25909 2007-02-11  Bruno Haible  <bruno@clisp.org>
25910
25911         Ensure O(n) worst-case complexity of mbsstr.
25912         * lib/mbsstr.c: Include stdbool.h.
25913         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
25914         functions.
25915         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
25916         bookkeeping indicates that it's worth it.
25917         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
25918
25919         * modules/mbsstr-tests: New file.
25920         * tests/test-mbsstr1.c: New file.
25921         * tests/test-mbsstr2.sh: New file.
25922         * tests/test-mbsstr2.c: New file.
25923         * tests/test-mbsstr3.sh: New file.
25924         * tests/test-mbsstr3.c: New file.
25925         * m4/locale-fr.m4: New file.
25926
25927 2007-02-11  Bruno Haible  <bruno@clisp.org>
25928
25929         * lib/mbsrchr.c (mbsrchr): Fix bug.
25930
25931         * modules/mbsrchr-tests: New file.
25932         * tests/test-mbsrchr.sh: New file.
25933         * tests/test-mbsrchr.c: New file.
25934
25935 2007-02-11  Bruno Haible  <bruno@clisp.org>
25936
25937         * lib/mbschr.c (mbschr): Fix bug.
25938
25939         * modules/mbschr-tests: New file.
25940         * tests/test-mbschr.sh: New file.
25941         * tests/test-mbschr.c: New file.
25942         * m4/locale-zh.m4: New file.
25943
25944 2007-02-11  Bruno Haible  <bruno@clisp.org>
25945
25946         Support for copying multibyte string iterators.
25947         * lib/mbiter.h: Include <string.h>.
25948         (mbiter_multi_copy): New function.
25949         (mbi_copy): New macro.
25950         * lib/mbuiter.h: Include <string.h>.
25951         (mbuiter_multi_copy): New function.
25952         (mbui_copy): New macro.
25953
25954 2007-02-11  Bruno Haible  <bruno@clisp.org>
25955
25956         New module mbslen.
25957         * modules/mbslen: New file.
25958         * lib/mbslen.c: New file.
25959         * lib/string_.h (mbslen): New declaration.
25960         * m4/mbslen.m4: New file.
25961         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
25962         GNULIB_MBSLEN.
25963         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
25964         * MODULES.html.sh (Internationalization functions): Add mbslen.
25965
25966 2007-02-11  Bruno Haible  <bruno@clisp.org>
25967
25968         Ensure O(n) worst-case complexity of strcasestr substitute.
25969         * lib/strcasestr.c: Include stdbool.h.
25970         (knuth_morris_pratt): New function.
25971         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
25972         bookkeeping indicates that it's worth it.
25973         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
25974
25975         * modules/strcasestr-tests: New file.
25976         * tests/test-strcasestr.c: New file.
25977
25978 2007-02-11  Bruno Haible  <bruno@clisp.org>
25979
25980         Ensure O(n) worst-case complexity of c_strcasestr.
25981         * lib/c-strcasestr.c: Include stdbool.h, string.h.
25982         (knuth_morris_pratt): New function.
25983         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
25984         the bookkeeping indicates that it's worth it.
25985         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
25986
25987         * modules/c-strcasestr-tests: New file.
25988         * tests/test-c-strcasestr.c: New file.
25989
25990 2007-02-11  Bruno Haible  <bruno@clisp.org>
25991
25992         Ensure O(n) worst-case complexity of c_strstr.
25993         * lib/c-strstr.c: Include stdbool.h, string.h.
25994         (knuth_morris_pratt): New function.
25995         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
25996         bookkeeping indicates that it's worth it.
25997         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
25998
25999         * lib/c-strstr.c: Complete rewrite for maintainability.
26000
26001         * modules/c-strstr-tests: New file.
26002         * tests/test-c-strstr.c: New file.
26003
26004 2007-02-11  Bruno Haible  <bruno@clisp.org>
26005
26006         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
26007         5.2.1 and earlier, whereby \055 was treated just like the range
26008         delimiter '-'.
26009         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
26010
26011 2007-02-08  Bruno Haible  <bruno@clisp.org>
26012
26013         * modules/regex (Depends-on): Add stdbool.
26014         Reported by Dalibor Topic <robilad@kaffe.org>.
26015
26016 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
26017
26018         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
26019         Prefer returning from main to exiting from it.
26020         Remove unnecessary parens after sizeof.
26021
26022 2007-02-05  Bruno Haible  <bruno@clisp.org>
26023
26024         New module mbssep.
26025         * modules/mbssep: New file.
26026         * lib/mbssep.c: New file.
26027         * lib/string_.h (strsep): Add a conditional link warning.
26028         (mbssep): New declaration.
26029         * m4/mbssep.m4: New file.
26030         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26031         GNULIB_MBSSEP.
26032         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
26033         * MODULES.html.sh (Internationalization functions): Add mbssep.
26034
26035 2007-02-05  Bruno Haible  <bruno@clisp.org>
26036
26037         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
26038         Optimize search in case of 1 delimiter.
26039
26040 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
26041
26042         * lib/acl.h: Include sys/types.h before sys/acl.h.
26043
26044 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
26045
26046         Merge upstream fix for glibc bugzilla #3957:
26047
26048         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
26049
26050         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
26051         bit for RE_HAT_LISTS_NOT_NEWLINE.
26052         (build_charclass_op): Remove bogus comment.
26053
26054 2007-02-05  Simon Josefsson  <simon@josefsson.org>
26055
26056         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
26057
26058 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
26059
26060         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
26061         * lib/memmem.c [!defined _LIBC]: Include config.h.
26062
26063 2007-02-04  Bruno Haible  <bruno@clisp.org>
26064
26065         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
26066         warning message.
26067
26068 2007-02-04  Bruno Haible  <bruno@clisp.org>
26069
26070         New module mbstok_r.
26071         * modules/mbstok_r: New file.
26072         * lib/mbstok_r.c: New file.
26073         * lib/string_.h (strtok_r): Change argument names to match the
26074         comments. Add a conditional link warning.
26075         (mbstok_r): New declaration.
26076         * m4/mbstok_r.m4: New file.
26077         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26078         GNULIB_MBSTOK_R.
26079         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
26080         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
26081
26082 2007-02-04  Bruno Haible  <bruno@clisp.org>
26083
26084         New module mbsspn.
26085         * modules/mbsspn: New file.
26086         * lib/mbsspn.c: New file.
26087         * lib/string_.h (strspn): Add a conditional link warning.
26088         (mbsspn): New declaration.
26089         * m4/mbsspn.m4: New file.
26090         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26091         GNULIB_MBSSPN.
26092         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
26093         * MODULES.html.sh (Internationalization functions): Add mbsspn.
26094
26095 2007-02-04  Bruno Haible  <bruno@clisp.org>
26096
26097         New module mbspbrk.
26098         * modules/mbspbrk: New file.
26099         * lib/mbspbrk.c: New file.
26100         * lib/string_.h (strpbrk): Add a conditional link warning.
26101         (mbspbrk): New declaration.
26102         * m4/mbspbrk.m4: New file.
26103         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26104         GNULIB_MBSPBRK.
26105         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
26106         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
26107
26108 2007-02-04  Bruno Haible  <bruno@clisp.org>
26109
26110         New module mbscspn.
26111         * modules/mbscspn: New file.
26112         * lib/mbscspn.c: New file.
26113         * lib/string_.h (strcspn): Add a conditional link warning.
26114         (mbscspn): New declaration.
26115         * m4/mbscspn.m4: New file.
26116         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26117         GNULIB_MBSCSPN.
26118         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
26119         * MODULES.html.sh (Internationalization functions): Add mbscspn.
26120
26121 2007-02-04  Bruno Haible  <bruno@clisp.org>
26122
26123         New module mbscasestr, reduced goal of strcasestr.
26124         * modules/mbscasestr: New file.
26125         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
26126         (mbscasestr): Renamed from strcasestr.
26127         * lib/strcasestr.c: Don't include mbuiter.h.
26128         (strcasestr): Remove support for multibyte locales.
26129         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
26130         Change the conditional link warning.
26131         (mbscasestr): New declaration.
26132         * m4/mbscasestr.m4: New file.
26133         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
26134         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
26135         REPLACE_STRCASESTR.
26136         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
26137         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26138         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
26139         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
26140         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
26141         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
26142         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
26143         (Depends-on): Remove mbuiter.
26144         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
26145
26146 2007-02-04  Bruno Haible  <bruno@clisp.org>
26147
26148         Simplify handling of strncasecmp.
26149         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
26150         the conditional link warning.
26151         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26152         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
26153         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
26154         * modules/strcase (configure.ac): Don't invoke
26155         gl_STRING_MODULE_INDICATOR.
26156         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
26157
26158 2007-02-04  Bruno Haible  <bruno@clisp.org>
26159
26160         New module mbscasecmp, reduced goal of strcasecmp.
26161         * modules/mbscasecmp: New file.
26162         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
26163         (mbscasecmp): Renamed from strcasecmp.
26164         * lib/strcasecmp.c: Don't include mbuiter.h.
26165         (strcasecmp): Remove support for multibyte locales.
26166         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
26167         Change the conditional link warning.
26168         (mbscasecmp): New declaration.
26169         * m4/mbscasecmp.m4: New file.
26170         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
26171         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
26172         REPLACE_STRCASECMP.
26173         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
26174         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26175         GNULIB_MBSCASECMP.
26176         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
26177         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
26178         * modules/strcase (Files): Remove m4/mbrtowc.m4.
26179         (Depends-on): Remove mbuiter.
26180         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
26181
26182 2007-02-04  Bruno Haible  <bruno@clisp.org>
26183
26184         New module mbsstr. Remove module strstr.
26185         * modules/mbsstr: New file.
26186         * modules/strstr: Remove file.
26187         * lib/mbsstr.c: Renamed from lib/strstr.c.
26188         (mbsstr): Renamed from strstr.
26189         * lib/string_.h (strstr): Remove declaration. Change the conditional
26190         link warning.
26191         (mbsstr): New declaration.
26192         * m4/mbsstr.m4: New file.
26193         * m4/strstr.m4: Remove file.
26194         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
26195         REPLACE_STRSTR.
26196         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
26197         Don't initialize GNULIB_STRSTR.
26198         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
26199         substitute GNULIB_STRSTR and REPLACE_STRSTR.
26200         * MODULES.html.sh (Internationalization functions): Add mbsstr.
26201         (Support for systems lacking ANSI C 89): Remove strstr.
26202
26203 2007-02-04  Bruno Haible  <bruno@clisp.org>
26204
26205         New module mbsrchr.
26206         * modules/mbsrchr: New file.
26207         * lib/mbsrchr.c: New file.
26208         * lib/string_.h (strrchr): Add a conditional link warning.
26209         (mbsrchr): New declaration.
26210         * m4/mbsrchr.m4: New file.
26211         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26212         GNULIB_MBSRCHR.
26213         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
26214         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
26215
26216 2007-02-04  Bruno Haible  <bruno@clisp.org>
26217
26218         New module mbschr.
26219         * modules/mbschr: New file.
26220         * lib/mbschr.c: New file.
26221         * lib/string_.h (strchr): Add a conditional link warning.
26222         (mbschr): New declaration.
26223         * m4/mbschr.m4: New file.
26224         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26225         GNULIB_MBSCHR.
26226         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
26227         * MODULES.html.sh (Internationalization functions): Add mbschr.
26228
26229 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
26230
26231         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
26232
26233         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
26234
26235 2007-02-04  Bruno Haible  <bruno@clisp.org>
26236
26237         New module description section 'configure.ac-early'.
26238         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
26239         (func_get_autoconf_early_snippet): New function.
26240         (func_import, func_create_testdir): Use it. Remove special cases for
26241         modules 'extensions' and 'lock'.
26242         * modules/extensions (configure.ac-early): Require
26243         gl_USE_SYSTEM_EXTENSIONS.
26244         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
26245
26246 2007-02-04  Bruno Haible  <bruno@clisp.org>
26247
26248         Make use of gcj-4.3's -fsource and -ftarget option.
26249         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
26250         and if so try the options -fsource and -ftarget.
26251         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
26252         source_version, ftarget_option, target_version arguments.
26253         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
26254         (is_envjavac_oldgcj_14_14_usable): Renamed from
26255         is_envjavac_gcj_14_14_usable.
26256         (is_envjavac_oldgcj_14_13_usable): Renamed from
26257         is_envjavac_gcj_14_13_usable.
26258         (is_gcj_present): Update.
26259         (is_gcj_43, is_gcj43_usable): New functions.
26260         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
26261         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
26262         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
26263         try the options -fsource and -ftarget.
26264
26265 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
26266
26267         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
26268         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
26269         larger value.
26270
26271 2007-02-03  Jim Meyering  <jim@meyering.net>
26272
26273         Give tools a better chance to allocate space for very large buffers.
26274         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
26275
26276         Make pwd and readlink work also when run with an unreadable parent dir
26277         on systems with openat support.
26278         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
26279         provided getcwd function, even when we have openat support.
26280         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
26281
26282 2007-02-02  Bruno Haible  <bruno@clisp.org>
26283
26284         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
26285         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
26286         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
26287         portability problems if one of these functions is only used on specific
26288         platforms.
26289         Reported by Paul Eggert.
26290
26291 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
26292
26293         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
26294         is causing more trouble than it's curing.
26295         * lib/regex_internal.h (__mempcpy): Remove.
26296         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
26297         (and make the code a tad smaller to boot).
26298         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
26299
26300 2007-02-02  Jim Meyering  <jim@meyering.net>
26301
26302         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
26303         section, not in the Makefile.am: one.
26304
26305 2007-02-02  Eric Blake  <ebb9@byu.net>
26306
26307         * lib/strchrnul.c: Always include config.h first.
26308
26309         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
26310         gnulib strstr is not necessary here.
26311
26312 2007-02-02  Simon Josefsson  <simon@josefsson.org>
26313
26314         * m4/socklen.m4: Fix typo.
26315
26316 2007-02-02  Eric Blake  <ebb9@byu.net>
26317
26318         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
26319         * modules/netinet_in (Makefile.am): Likewise.
26320
26321 2007-02-01  Bruno Haible  <bruno@clisp.org>
26322
26323         * lib/string_.h (GL_LINK_WARNING): New macro.
26324         (strcasecmp, strstr, strcasestr): If provided by the system,
26325         conditionally define as a macro that leads to a warning instead of to
26326         an error.
26327         (strncasecmp): Conditionally define as a macro that leads to a warning.
26328
26329 2007-02-01  Karl Berry  <karl@gnu.org>
26330
26331         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
26332
26333 2007-02-01  Bruno Haible  <bruno@clisp.org>
26334
26335         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
26336         renamings.
26337
26338 2007-02-01  Eric Blake  <ebb9@byu.net>
26339
26340         * modules/regex (Depends-on): Revert dependence on mempcpy.
26341         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
26342         module's definition of mempcpy.
26343         Reported by Paul Eggert.
26344
26345 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
26346
26347         * lib/string_.h: If the gnulib module XYZ is not present, undefine
26348         the symbol XYZ before redefining it.  This fixes a problem with
26349         programs that don't use XYZ, when compiled on systems that define
26350         XYZ to something else.
26351
26352 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
26353
26354         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
26355         occurs when "mkdir -m foo" creates a setgid directory that is (1)
26356         writeable to group or other and (2) is intended to have a special
26357         mode bit that is set or cleared.  In such a case, the directory
26358         should be neither group- nor other-writeable until the special
26359         mode bits are right.
26360
26361 2007-01-31  Eric Blake  <ebb9@byu.net>
26362
26363         * modules/mountlist (Depends-on): Add strstr.
26364
26365         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
26366         bug.
26367         * modules/string (Makefile.am): Remove redundant replacement.
26368         * modules/regex (Depends-on): Add mempcpy.
26369
26370 2007-01-31  Bruno Haible  <bruno@clisp.org>
26371
26372         New module description field 'Link'.
26373         * gnulib-tool (func_usage): Document --extract-link-directive.
26374         (sed_extract_prog): Recognize 'Link' directive.
26375         (func_get_link_directive): New function.
26376         (func_import): Show summary of link directives.
26377         Handle --extract-link-directive option.
26378         * modules/acl (Link): New section.
26379         * modules/clock-time (Link): New section.
26380         * modules/euidaccess (Link): New section.
26381         * modules/gettext (Link): New section.
26382         * modules/iconv (Link): New section.
26383         * modules/lock (Link): New section.
26384         * modules/nanosleep (Link): New section.
26385         * modules/readline (Link): New section.
26386
26387 2007-01-27  Bruno Haible  <bruno@clisp.org>
26388
26389         Enforce the use of gnulib modules for unportable <string.h> functions.
26390         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
26391         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
26392         (gl_HEADER_STRING_H_BODY): Require it.
26393         * lib/string_.h: If the gnulib module XYZ is not present, redefine
26394         the symbol XYZ to one that gives a link error.
26395         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
26396         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
26397         * modules/mempcpy (configure.ac): Likewise.
26398         * modules/memrchr (configure.ac): Likewise.
26399         * modules/stpcpy (configure.ac): Likewise.
26400         * modules/stpncpy (configure.ac): Likewise.
26401         * modules/strcase (configure.ac): Likewise.
26402         * modules/strcasestr (configure.ac): Likewise.
26403         * modules/strchrnul (configure.ac): Likewise.
26404         * modules/strdup (configure.ac): Likewise.
26405         * modules/strndup (configure.ac): Likewise.
26406         * modules/strnlen (configure.ac): Likewise.
26407         * modules/strpbrk (configure.ac): Likewise.
26408         * modules/strsep (configure.ac): Likewise.
26409         * modules/strstr (configure.ac): Likewise.
26410         * modules/strtok_r (configure.ac): Likewise.
26411
26412 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
26413
26414         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
26415
26416 2007-01-30  Jim Meyering  <jim@meyering.net>
26417
26418         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
26419
26420 2007-01-29  Bruno Haible  <bruno@clisp.org>
26421
26422         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
26423         * lib/execute.c: Likewise.
26424         * lib/pipe.c: Likewise.
26425         * lib/printf-args.h: Likewise.
26426         * lib/printf-args.c: Likewise.
26427         * lib/printf-parse.c: Likewise.
26428         * lib/vasnprintf.c: Likewise.
26429
26430 2007-01-29  Eric Blake  <ebb9@byu.net>
26431
26432         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
26433         declaration.
26434
26435 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
26436
26437         * lib/strptime.h (strptime): Use 'restrict' for args where
26438         POSIX requires this.
26439         * lib/strptime.c (strptime): Likewise.
26440         Change license notice from LGPL to GPL, since gnulib-tool will
26441         change this as needed.
26442         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
26443         defined.
26444         Include "strptime.h" first, to check interface.
26445         Do not #undef _LIBC and _NL_CURRENT.
26446         Do not include <stdlib.h>; no longer needed.
26447         Include "time_r.h" and declare ptime_locale_status
26448         only if _LIBC is not defined.
26449         (__P): Remove unused macro.
26450         (match_string): Bring back glibc version, but use it only if _LIBC
26451         is defined.
26452         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
26453         Remove unnecessary assertion and abort() call.
26454         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
26455         * m4/strptime.m4: Fix serial number comment.
26456         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
26457         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
26458         (Depends-on): Add time_r.
26459
26460 2007-01-29  Bruno Haible  <bruno@clisp.org>
26461
26462         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26463         strptime.
26464         * modules/strptime (Depends-on): Add stdbool.
26465         * lib/strptime.h: Include <time.h> always. Add comments.
26466
26467 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26468
26469         * modules/strptime: New file.
26470         * lib/strptime.h: New file.
26471         * lib/strptime.c: New file.
26472         * m4/strptime.m4: New file.
26473
26474 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
26475
26476         * MODULES.html.sh: New module mpsort.
26477         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
26478
26479         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
26480         a circularity problem with HP-UX ia64 reported by Bob Proulx in
26481         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
26482         All uses changed.
26483         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
26484         All uses changed.
26485         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
26486         to _Restrict_.
26487         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
26488         the parameter matches the prototype.
26489
26490 2007-01-28  Jim Meyering  <jim@meyering.net>
26491
26492         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
26493         sys/time.h here, reverting that part of the previous patch:
26494         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
26495
26496 2007-01-28  Bruno Haible  <bruno@clisp.org>
26497
26498         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
26499         value of $(SYS_TIME_H).
26500         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
26501         remove it conditionally, too. [added by Jim Meyering]
26502         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
26503         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
26504         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
26505         GETTIMEOFDAY_REPLACEMENT to 1.
26506
26507 2007-01-28  Bruno Haible  <bruno@clisp.org>
26508
26509         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
26510         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
26511         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
26512         Set UNISTD_H instead of UNISTD_H2.
26513         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
26514
26515 2007-01-28  Bruno Haible  <bruno@clisp.org>
26516
26517         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
26518         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
26519
26520 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26521
26522         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
26523         (func_create_testdir): Ensure C locale for `grep' and `tr'
26524         character ranges.
26525         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
26526         ACLOCAL_AMFLAGS parsing state machine.
26527
26528 2007-01-27  Bruno Haible  <bruno@clisp.org>
26529
26530         * modules/unistr/base: Update.
26531
26532 2007-01-27  Bruno Haible  <bruno@clisp.org>
26533
26534         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
26535         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
26536         * modules/unistr/u32-mbtouc-unsafe: Renamed from
26537         modules/unistr/u32-mbtouc.
26538         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
26539         * lib/unistr.h: Update.
26540         * lib/linebreak.c: Update.
26541         * modules/unistr/u32-mbtouc: Renamed from
26542         modules/unistr/u32-mbtouc-safe.
26543         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
26544         * lib/unistr.h: Update.
26545         * lib/unistr/u32-to-u8.c: Update.
26546         * lib/unistr/u32-to-u16.c: Update.
26547
26548 2007-01-27  Bruno Haible  <bruno@clisp.org>
26549
26550         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
26551         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
26552         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
26553         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
26554         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
26555         * modules/unistr/u16-mbtouc-unsafe: Renamed from
26556         modules/unistr/u16-mbtouc.
26557         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
26558         * lib/unistr.h: Update.
26559         * lib/linebreak.c: Update.
26560         * modules/linebreak: Update.
26561         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
26562         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
26563         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
26564         * modules/unistr/u16-mbtouc: Renamed from
26565         modules/unistr/u16-mbtouc-safe.
26566         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
26567         * lib/unistr.h: Update.
26568         * lib/unistr/u16-to-u8.c: Update.
26569         * modules/unistr/u16-to-u8: Update.
26570         * lib/unistr/u16-to-u32.c: Update.
26571         * modules/unistr/u16-to-u32: Update.
26572
26573 2007-01-27  Bruno Haible  <bruno@clisp.org>
26574
26575         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
26576         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
26577         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
26578         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
26579         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
26580         * modules/unistr/u8-mbtouc-unsafe: Renamed from
26581         modules/unistr/u8-mbtouc.
26582         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
26583         * lib/unistr.h: Update.
26584         * lib/striconveh.c: Update.
26585         * modules/striconveh: Update.
26586         * lib/linebreak.c: Update.
26587         * modules/linebreak: Update.
26588         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
26589         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
26590         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
26591         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
26592         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
26593         * lib/unistr.h: Update.
26594         * lib/striconveh.c: Update.
26595         * modules/striconveh: Update.
26596         * lib/unistr/u8-to-u16.c: Update.
26597         * modules/unistr/u8-to-u16: Update.
26598         * lib/unistr/u8-to-u32.c: Update.
26599         * modules/unistr/u8-to-u32: Update.
26600
26601 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26602
26603         Sync from Libtool.
26604         * lib/argz.c: Do not include strings.h nor memory.h, include
26605         string.h unconditionally.  Patch by Simon Josefsson.
26606
26607 2007-01-27  Bruno Haible  <bruno@clisp.org>
26608
26609         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
26610         from gl_HEADER_STRING_H_BODY.
26611         (gl_HEADER_STRING_H_BODY): Require it.
26612         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
26613         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
26614         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
26615         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
26616         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26617         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
26618         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26619         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
26620         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
26621         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
26622         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
26623         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
26624         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
26625         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26626         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
26627
26628 2007-01-27  Bruno Haible  <bruno@clisp.org>
26629
26630         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
26631         check_PROGRAMS into noinst_PROGRAMS.
26632         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
26633         check_PROGRAMS in this case.
26634         (func_import): Set for_test to false.
26635         (func_create_testdir): Set for_test to true.
26636
26637 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
26638             Bruno Haible  <bruno@clisp.org>
26639
26640         * modules/strcasestr (Files): Remove lib/strcasestr.h.
26641         (Depends-on): Add string.
26642         (Includes): Use <string.h> instead of strcasestr.h.
26643         * modules/string (Makefile.am): Also substitute the value of
26644         REPLACE_STRCASESTR.
26645         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
26646         assume strcasestr is declared in <string.h> not <strings.h>. Also
26647         set REPLACE_STRCASESTR.
26648         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
26649         REPLACE_STRCASESTR.
26650         * lib/strcasestr.h: Remove file.
26651         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
26652         * lib/string_.h (strcasestr): New declaration.
26653
26654 2007-01-27  Bruno Haible  <bruno@clisp.org>
26655
26656         * lib/string_.h: Use 'extern'.
26657
26658 2007-01-27  Jim Meyering  <jim@meyering.net>
26659
26660         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
26661         of set-but-not-used local, "q".
26662
26663         * lib/mempcpy.c: Include <config.h> before <string.h>.
26664         This fixes a compilation error on HP-UX, due to the system's
26665         "restrict"-using mempcpy prototype.
26666
26667 2007-01-26  Bruno Haible  <bruno@clisp.org>
26668
26669         Small optimization.
26670         * lib/javacomp.c: Include c-strstr.h.
26671          (is_envjavac_gcj): Use c_strstr instead of strstr.
26672         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
26673
26674 2007-01-26  Bruno Haible  <bruno@clisp.org>
26675
26676         * MODULES.html.sh (Unicode string functions): Add the new modules.
26677
26678         * modules/uniconv/u32-strconv-to-locale: New file.
26679         * lib/uniconv/u32-strconv-to-locale.c: New file.
26680
26681         * modules/uniconv/u16-strconv-to-locale: New file.
26682         * lib/uniconv/u16-strconv-to-locale.c: New file.
26683
26684         * modules/uniconv/u8-strconv-to-locale: New file.
26685         * lib/uniconv/u8-strconv-to-locale.c: New file.
26686
26687         * modules/uniconv/u32-strconv-from-locale: New file.
26688         * lib/uniconv/u32-strconv-from-locale.c: New file.
26689
26690         * modules/uniconv/u16-strconv-from-locale: New file.
26691         * lib/uniconv/u16-strconv-from-locale.c: New file.
26692
26693         * modules/uniconv/u8-strconv-from-locale: New file.
26694         * lib/uniconv/u8-strconv-from-locale.c: New file.
26695
26696         * modules/uniconv/u32-strconv-to-enc: New file.
26697         * lib/uniconv/u32-strconv-to-enc.c: New file.
26698         * modules/uniconv/u32-strconv-to-enc-tests: New file.
26699         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
26700
26701         * modules/uniconv/u16-strconv-to-enc: New file.
26702         * lib/uniconv/u16-strconv-to-enc.c: New file.
26703         * lib/uniconv/u-strconv-to-enc.h: New file.
26704         * modules/uniconv/u16-strconv-to-enc-tests: New file.
26705         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
26706
26707         * modules/uniconv/u8-strconv-to-enc: New file.
26708         * lib/uniconv/u8-strconv-to-enc.c: New file.
26709         * modules/uniconv/u8-strconv-to-enc-tests: New file.
26710         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
26711
26712         * modules/uniconv/u32-strconv-from-enc: New file.
26713         * lib/uniconv/u32-strconv-from-enc.c: New file.
26714         * modules/uniconv/u32-strconv-from-enc-tests: New file.
26715         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
26716
26717         * modules/uniconv/u16-strconv-from-enc: New file.
26718         * lib/uniconv/u16-strconv-from-enc.c: New file.
26719         * modules/uniconv/u16-strconv-from-enc-tests: New file.
26720         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
26721
26722         * modules/uniconv/u8-strconv-from-enc: New file.
26723         * lib/uniconv/u8-strconv-from-enc.c: New file.
26724         * lib/uniconv/u-strconv-from-enc.h: New file.
26725         * modules/uniconv/u8-strconv-from-enc-tests: New file.
26726         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
26727
26728         * modules/uniconv/u32-conv-from-enc: New file.
26729         * lib/uniconv/u32-conv-from-enc.c: New file.
26730         * modules/uniconv/u32-conv-from-enc-tests: New file.
26731         * tests/uniconv/test-u32-conv-from-enc.c: New file.
26732
26733         * modules/uniconv/u16-conv-from-enc: New file.
26734         * lib/uniconv/u16-conv-from-enc.c: New file.
26735         * lib/uniconv/u-conv-from-enc.h: New file.
26736         * modules/uniconv/u16-conv-from-enc-tests: New file.
26737         * tests/uniconv/test-u16-conv-from-enc.c: New file.
26738
26739         * modules/uniconv/u8-conv-from-enc: New file.
26740         * lib/uniconv/u8-conv-from-enc.c: New file.
26741         * modules/uniconv/u8-conv-from-enc-tests: New file.
26742         * tests/uniconv/test-u8-conv-from-enc.c: New file.
26743
26744         * modules/uniconv/base: New file.
26745         * lib/uniconv.h: New file.
26746
26747 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
26748
26749         * doc/gnulib-tool.texi (Initial import): Update to match current
26750         behavior with strdup module.
26751         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
26752         * lib/memmem.h: Remove; all uses removed.  This is now done
26753         by <string.h>.
26754         * lib/mempcpy.h: Likewise.
26755         * lib/memrchr.h: Likewise.
26756         * lib/stpcpy.h: Likewise.
26757         * lib/stpncpy.h: Likewise.
26758         * lib/strcase.h: Likewise.
26759         * lib/strchrnul.h: Likewise.
26760         * lib/strdup.h: Likewise.
26761         * lib/strndup.h: Likewise.
26762         * lib/strnlen.h: Likewise.
26763         * lib/strpbrk.h: Likewise.
26764         * lib/strsep.h: Likewise.
26765         * lib/strstr.h: Likewise.
26766         * lib/strtok_r.h: Likewise.
26767         * lib/string_.h: New file.
26768         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
26769         Rely on <string.h> instead.
26770         * lib/canon-host.c: Likewise.
26771         * lib/chdir-long.c: Likewise.
26772         * lib/concatpath.c: Likewise.
26773         * lib/exclude.c: Likewise.
26774         * lib/fchdir.c: Likewise.
26775         * lib/getaddrinfo.c: Likewise.
26776         * lib/getcwd.c: Likewise.
26777         * lib/getsubopt.c: Likewise.
26778         * lib/glob.c: Likewise.
26779         * lib/hard-locale.c: Likewise.
26780         * lib/iconvme.c: Likewise.
26781         * lib/javacomp.c: Likewise.
26782         * lib/mempcpy.c: Likewise.
26783         * lib/memrchr.c: Likewise.
26784         * lib/regex_internal.h: Likewise.
26785         * lib/stpncpy.c: Likewise.
26786         * lib/strcasecmp.c: Likewise.
26787         * lib/strchrnul.c: Likewise.
26788         * lib/strdup.c: Likewise.
26789         * lib/striconv.c: Likewise.
26790         * lib/striconveh.c: Likewise.
26791         * lib/striconveha.c: Likewise.
26792         * lib/strncasecmp.c: Likewise.
26793         * lib/strndup.c: Likewise.
26794         * lib/strnlen.c: Likewise.
26795         * lib/strsep.c: Likewise.
26796         * lib/strstr.c: Likewise.
26797         * lib/strtok_r.c: Likewise.
26798         * lib/userspec.c: Likewise.
26799         * lib/w32spawn.h: Likewise.
26800         * lib/xstrndup.c: Likewise.
26801         * lib/mountlist.c (strstr): Remove decl.
26802         * m4/string_h.m4: New file.
26803         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
26804         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
26805         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
26806         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
26807         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
26808         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
26809         Set REPLACE_STRCASECMP if necessary.
26810         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
26811         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
26812         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
26813         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
26814         HAVE_DECL_STRDUP if necessary.
26815         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
26816         since gl_FUNC_STRNDUP does that now.
26817         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
26818         Check for decl here...
26819         (gl_PREREQ_STRNLEN): ... not here.
26820         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
26821         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
26822         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
26823         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
26824         necessary.
26825         * modules/string: New file.
26826         * modules/memmem (Files): Remove special-purpose include file.
26827         (Depends-on): Add string.
26828         (Include): Include <string.h>, not the removed file.
26829         * modules/mempcpy: Likewise.
26830         * modules/memrchr: Likewise.
26831         * modules/stpcpy: Likewise.
26832         * modules/stpncpy: Likewise.
26833         * modules/strcase: Likewise.
26834         * modules/strchrnul: Likewise.
26835         * modules/strdup: Likewise.
26836         * modules/strndup: Likewise.
26837         * modules/strnlen: Likewise.
26838         * modules/strpbrk: Likewise.
26839         * modules/strsep: Likewise.
26840         * modules/strstr: Likewise.
26841         * modules/strtok_r: Likewise.
26842         * tests/test-dirname.c: Don't include "strdup.h", since
26843         <string.h> now suffices.
26844         * tests/test-memmem.c: Don't include "memmem.h", since
26845         <string.h> now suffices.
26846
26847 2007-01-25  Bruno Haible  <bruno@clisp.org>
26848
26849         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
26850         *resultp is 0.
26851
26852         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
26853         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
26854         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
26855         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
26856
26857         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
26858         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
26859         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
26860         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
26861         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
26862         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
26863
26864 2007-01-24  Bruno Haible  <bruno@clisp.org>
26865
26866         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
26867         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
26868         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
26869         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
26870         gl_FUNC_FTS_CORE.
26871         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
26872         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
26873         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
26874         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
26875         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
26876         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
26877         gl_FUNC_FCHOWNAT.
26878         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
26879         gl_FUNC_STRFTIME.
26880         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
26881         Reported by Ralf Wildenhues.
26882
26883 2007-01-24  Bruno Haible  <bruno@clisp.org>
26884
26885         Drop AC_REQUIRE calls that are redundant with the module dependencies.
26886         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
26887         gl_GETADDRINFO.
26888         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
26889         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
26890         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
26891
26892 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
26893
26894         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
26895         Don't use 'exit'; just return from 'main'.
26896         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
26897
26898         * lib/fnmatch_.h: Readjust white space and comments to match
26899         glibc, to avoid spurious diffs.
26900
26901 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26902
26903         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
26904         2004-12-01 change by Jakub Jelinek, since this code won't compile
26905         if !LIBC.  Problem reported by Bob Proulx.
26906
26907 2007-01-23  Bruno Haible  <bruno@clisp.org>
26908
26909         * lib/striconveh.c: Include c-strcaseeq.h.
26910         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
26911         * modules/striconveh (Depends-on): Add c-strcaseeq.
26912
26913 2007-01-23  Bruno Haible  <bruno@clisp.org>
26914
26915         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
26916
26917         * modules/c-strcaseeq: New file.
26918         * lib/c-strcaseeq.h: New file.
26919
26920         * modules/streq: New file.
26921         * lib/streq.h: New file.
26922
26923 2007-01-23  Bruno Haible  <bruno@clisp.org>
26924
26925         * modules/striconveha-tests: New file.
26926         * tests/test-striconveha.c: New file.
26927
26928         * lib/striconveha.h: Include <stdbool.h>.
26929         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
26930         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
26931         (mem_iconveha_notranslit): Renamed from mem_iconveha.
26932         (mem_iconveha): New function.
26933         (str_iconveha_notranslit): Renamed from str_iconveha.
26934         (str_iconveha): New function.
26935         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
26936         c-strcase.
26937
26938 2007-01-23  Bruno Haible  <bruno@clisp.org>
26939
26940         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
26941         encodings without forgiving before trying any encoding with handler.
26942         (str_iconveha): Try all encodings without forgiving before trying any
26943         encoding with handler.
26944
26945 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26946
26947         Import the following changes from libc.
26948
26949         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
26950
26951         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
26952
26953         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
26954
26955         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
26956         normal_bracket label.
26957
26958         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
26959
26960         [BZ #361]
26961         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
26962         to normal_bracket after fetching the next character.
26963
26964 2007-01-22  Bruno Haible  <bruno@clisp.org>
26965
26966         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
26967         argument.
26968         * lib/striconveh.c (iconv_carefully_1): New function.
26969         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
26970         argument.
26971         (str_cd_iconveh): Update.
26972         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
26973         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
26974         * tests/test-striconveh.c (MAGIC): New macro.
26975         (new_offsets): New function.
26976         (main): Test call with and without offsets.
26977
26978 2007-01-22  Bruno Haible  <bruno@clisp.org>
26979
26980         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
26981         * modules/sys_select (Makefile.am): Likewise.
26982         * modules/sys_socket (Makefile.am): Likewise.
26983         * modules/sys_time (Makefile.am): Likewise.
26984
26985 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
26986
26987         * modules/gettimeofday (License): Change from GPL to LGPL, since
26988         gettimeofday is a library function.
26989
26990 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26991
26992         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
26993
26994 2007-01-21  Bruno Haible  <bruno@clisp.org>
26995
26996         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
26997
26998 2007-01-21  Bruno Haible  <bruno@clisp.org>
26999
27000         * modules/striconveha: New file.
27001         * lib/striconveha.h: New file.
27002         * lib/striconveha.c: New file.
27003         * MODULES.html.sh (Internationalization functions): Add striconveha.
27004         * lib/striconv.c (str_iconv): Optimize the case of an empty input
27005         string.
27006         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
27007
27008 2007-01-21  Bruno Haible  <bruno@clisp.org>
27009
27010         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
27011         * lib/striconveh.c (str_iconveh): Likewise.
27012
27013 2007-01-21  Bruno Haible  <bruno@clisp.org>
27014
27015         * lib/striconveh.h (mem_iconveh): New declaration.
27016         * lib/striconveh.c (mem_iconveh): New function.
27017         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
27018
27019 2007-01-21  Bruno Haible  <bruno@clisp.org>
27020
27021         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
27022
27023         * lib/striconveh.h (mem_cd_iconveh): Change specification.
27024         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
27025         original result buffer.
27026         (str_cd_iconveh): Update.
27027         * tests/test-striconveh.c (main): Update.
27028
27029         * lib/striconv.h (mem_cd_iconv): Change specification.
27030         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
27031         result buffer.
27032         (str_cd_iconv): Update.
27033         * tests/test-striconv.c (main): Update.
27034
27035 2007-01-21  Bruno Haible  <bruno@clisp.org>
27036
27037         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
27038
27039 2007-01-20  Jim Meyering  <jim@meyering.net>
27040
27041         * lib/userspec.c (parse_with_separator): If a user or group string
27042         starts with "+", skip the corresponding name-to-ID look-up, since
27043         such a look-up must fail: user and group names may not include "+".
27044
27045 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
27046
27047         * lib/poll.c: Include sys/time.h and time.h unconditionally,
27048         since we now assume the sys_time module.
27049         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
27050         check for sys/time.h; no longer needed.
27051         * modules/poll (Depends-on): Depend on sys_time.
27052
27053 2007-01-18  Bruno Haible  <bruno@clisp.org>
27054
27055         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
27056         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
27057
27058         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
27059         gettimeofday.
27060
27061         * tests/test-gettimeofday.c: Include <time.h>.
27062         (dummy): Remove variable.
27063
27064         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
27065         gl_HEADER_SYS_TIME_H.
27066         (gl_HEADER_SYS_TIME_H): New macro.
27067
27068         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
27069         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
27070         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
27071         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
27072         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
27073         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
27074         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
27075         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
27076         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
27077         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
27078         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
27079
27080         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
27081         last change; it caused a compilation error when cross-compiling to
27082         Cygwin.
27083
27084 2007-01-18  Jim Meyering  <jim@meyering.net>
27085
27086         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
27087         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
27088         than the race-prone "test -d sys || mkdir sys".
27089         (configure.ac): Use AC_PROG_MKDIR_P.
27090         * modules/sys_select: Likewise.
27091         * modules/sys_socket: Likewise.
27092         * modules/sys_time: Likewise.
27093
27094 2007-01-18  Eric Blake  <ebb9@byu.net>
27095
27096         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
27097         replace gettimeofday.
27098         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
27099         name, to avoid infinite recursion.
27100
27101 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
27102
27103         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
27104         module sys_time.
27105         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
27106         assume timespec.h defines struct timeval.
27107         * lib/settime.c: Likewise.
27108         * lib/utimens.c: Likewise.
27109         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
27110         since we now assume the gettimeofday module.
27111         * lib/tempname.c (__gen_tempname): Likewise.
27112         * lib/gettimeofday.h: Remove.
27113         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
27114         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
27115         Include <time.h>, for 'time()'.
27116         (localtime_buffer_addr): Also use this workaround if
27117         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
27118         to simplify the uses.  All uses changed.
27119         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
27120         that #undef is inside {}, and 'const' follows type name consistently.
27121         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
27122         (gettimeofday): Do not use the maximum possible value for
27123         tv->tv_usec, since that might break usages other than ls.c.
27124         Instead, we'll leave ls.c alone.  This undoes today's patch
27125         by Bruno.  Add a compile-time warning for 1s-clock resolution;
27126         we've never observed the problem but might as well keep the
27127         canary.
27128         * lib/nanosleep.c: Include timespec.h first, for interface check.
27129         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
27130         now assume the sys_time module.
27131         * lib/tempname.c: Likewise.
27132         * lib/timespec.h: Likewise.
27133         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
27134         needed.
27135         * lib/strftime.c: Likewise.
27136         * lib/timespec.h: Likewise.
27137         * lib/posixtm.c: Include posixtm.h first, for interface check.
27138         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
27139         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
27140         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
27141         * lib/sys_time_.h: New file.
27142         * lib/timespec.h (struct timespec): Use long int, not long.
27143         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
27144         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
27145         Remove obsolescent call to AC_HEADER_TIME.
27146         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27147         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27148         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
27149         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
27150         Likewise.
27151         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
27152         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
27153         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
27154         into the sys_time module.  Check for gettimeofday just once.
27155         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
27156         for gettimeofday signature to just check the signature.  Merely
27157         compile it, since linking doesn't test signature.  Improve test for
27158         whether gettimeofday.o is actually needed.
27159         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
27160         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
27161         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
27162         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
27163         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
27164         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
27165         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
27166         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
27167         than worrying about sys/time.h.
27168         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
27169         Don't bother worrying about TIME_WITH_SYS_TIME.
27170         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
27171         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
27172         * m4/sys_time_h.m4: New file.
27173         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
27174         Don't include sys/time.h.  Return from main rather than exiting.
27175         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
27176         all uses changed.
27177         * modules/gethrxtime (Depends-on): Add sys_time.
27178         * modules/gettime (Depends-on): Likewise.
27179         * modules/gettimeofday (Depends-on): Likewise.
27180         * modules/nanosleep (Depends-on): Likewise.
27181         * modules/settime (Depends-on): Likewise.
27182         * modules/tempname (Depends-on): Likewise.
27183         * modules/utimens (Depends-on): Likewise.
27184         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
27185         (Include:) Change back to <sys/time.h>.
27186         (Maintainer:) Add self.
27187         * modules/sys_time: New file.
27188         * modules/tempname (Depends-on): Add gettimeofday.
27189         * tests/test-gettimeofday.c: Include <sys/time.h>
27190         rather than gettimeofday.h.
27191
27192 2007-01-17  Bruno Haible  <bruno@clisp.org>
27193
27194         * gnulib-tool (func_get_license): Revert last patch. Instead, let
27195         the license default to GPL.
27196         (func_create_testdir): Don't complain if a module is LGPL and its
27197         tests module depends on GPLed modules.
27198
27199 2007-01-17  Bruno Haible  <bruno@clisp.org>
27200
27201         * lib/gettimeofday.c (gettimeofday): Add code for the case
27202         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
27203         maximum possible value for tv->tv_usec, rather than the minimum one.
27204
27205 2005-10-08  Martin Lambers  <marlam@marlam.de>
27206 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
27207 2007-01-16  Bruno Haible  <bruno@clisp.org>
27208
27209         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
27210         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
27211         gl_FUNC_GETTIMEOFDAY.
27212         (Include): Add gettimeofday.h.
27213         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
27214         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
27215         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
27216         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
27217         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
27218         * lib/gettimeofday.h: New file.
27219         * lib/gettimeofday.c: Include <sys/timeb.h>.
27220         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
27221         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
27222         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
27223         fall back on time().
27224
27225         * tests/test-gettimeofday.c: New file.
27226         * modules/gettimeofday-tests: New file.
27227
27228 2007-01-16  Eric Blake  <ebb9@byu.net>
27229
27230         * modules/fnmatch (Depends-on): Depend on wchar.
27231         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
27232         * m4/fnmatch.m4: Likewise.
27233         * modules/mbchar (Makefile.am): Assume <wchar.h>.
27234         * m4/mbchar.m4: Likewise.
27235         * modules/mbswidth (Depends-on): Depend on wchar.
27236         * lib/mbswidth.c: Assume <wchar.h>.
27237         * m4/mbswidth.m4: Likewise.
27238         * modules/quotearg (Depends-on): Depend on wchar.
27239         * lib/quotearg.c: Assume <wchar.h>.
27240         * m4/quotearg.m4: Likewise.
27241         * modules/regex (Depends-on): Depend on wchar.
27242         * lib/regex_internal.h: Assume <wchar.h>.
27243         * m4/regex.m4: Likewise.
27244         * modules/stdint (Depends-on): Depend on wchar.
27245         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
27246         * m4/stdint.m4: Likewise.
27247         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
27248         * modules/strftime (Depends-on): Depend on wchar.
27249         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
27250         * modules/strtol (Depends-on): Depend on wchar.
27251         * lib/strtol.c: Assume <wchar.h>.
27252         * modules/wcwidth (Depends-on): Depend on wchar.
27253         * lib/wcwidth.h: Assume <wchar.h>.
27254         * m4/wcwidth.m4: Likewise.
27255
27256 2007-01-16  Bruno Haible  <bruno@clisp.org>
27257
27258         * modules/csharpexec-script: New, created from...
27259         * modules/csharpexec: ... this.
27260
27261 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
27262
27263         * modules/javaexec-script: New, created from...
27264         * modules/javaexec: ... this.
27265
27266 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27267
27268         * modules/poll (Dependencies): Add sys_select.
27269
27270 2007-01-15  Jim Meyering  <jim@meyering.net>
27271
27272         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
27273         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
27274         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
27275         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
27276
27277 2007-01-15  Bruno Haible  <bruno@clisp.org>
27278
27279         * modules/striconveh: New file.
27280         * lib/striconveh.h: New file.
27281         * lib/striconveh.c: New file.
27282         * MODULES.html.sh (Internationalization functions): Add striconveh.
27283
27284         * modules/striconveh-tests: New file.
27285         * tests/test-striconveh.c: New file.
27286
27287 2007-01-15  Bruno Haible  <bruno@clisp.org>
27288
27289         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
27290         not from GNU libiconv or GNU libc.
27291
27292 2007-01-15  Bruno Haible  <bruno@clisp.org>
27293
27294         * doc/gnulib-intro.texi (Copyright): Explain the different license
27295         terms for module descriptions, autoconf macros, tests, documentation.
27296
27297 2007-01-14  Bruno Haible  <bruno@clisp.org>
27298
27299         * modules/striconv-tests: New file.
27300         * tests/test-striconv.c: New file.
27301
27302 2007-01-14  Bruno Haible  <bruno@clisp.org>
27303
27304         * modules/iconv-tests: New file.
27305         * tests/test-iconv.c: New file.
27306
27307 2007-01-14  Bruno Haible  <bruno@clisp.org>
27308
27309         * gnulib-tool (func_get_license): For test modules, use the license of
27310         the main module.
27311
27312 2007-01-14  Bruno Haible  <bruno@clisp.org>
27313
27314         * modules/iconv (Include): Clarify that <iconv.h> can only be included
27315         if iconv is found to exist.
27316
27317 2007-01-14  Bruno Haible  <bruno@clisp.org>
27318
27319         * modules/c-ctype-tests: New file.
27320         * tests/test-c-ctype.c: New file.
27321
27322 2007-01-14  Bruno Haible  <bruno@clisp.org>
27323
27324         * modules/binary-io-tests: New file.
27325         * tests/test-binary-io.sh: New file.
27326         * tests/test-binary-io.c: New file.
27327
27328 2007-01-14  Bruno Haible  <bruno@clisp.org>
27329
27330         * modules/array-oset-tests: New file.
27331         * tests/test-array_oset.c: New file.
27332
27333 2007-01-14  Bruno Haible  <bruno@clisp.org>
27334
27335         * modules/array-list-tests: New file.
27336         * tests/test-array_list.c: New file.
27337
27338 2007-01-14  Bruno Haible  <bruno@clisp.org>
27339
27340         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
27341         and make.
27342         Reported by Simon Josefsson in
27343         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
27344
27345 2007-01-14  Bruno Haible  <bruno@clisp.org>
27346
27347         * modules/allocsa-tests: New file.
27348         * tests/test-allocsa.c: New file.
27349
27350 2007-01-14  Bruno Haible  <bruno@clisp.org>
27351
27352         * modules/fchdir (Depends-on): Add absolute-header.
27353         * modules/unistd (Depends-on): Likewise.
27354
27355 2006-12-30  Bruno Haible  <bruno@clisp.org>
27356
27357         * modules/fchdir: New file.
27358         * modules/unistd (Files): Add lib/unistd_.h.
27359         (Makefile.am): Generate unistd.h from unistd_.h.
27360         * lib/fchdir.c: New file.
27361         * lib/dirent_.h: New file.
27362         * lib/unistd_.h: New file.
27363         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
27364         * m4/fchdir.m4: New file.
27365         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
27366         (gl_HEADER_UNISTD): Invoke it.
27367         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
27368         function.
27369         * lib/backupfile.c (opendir, closedir): Undefine.
27370         * lib/chown.c (open, close): Undefine.
27371         * lib/clean-temp.c (open, close): Undefine.
27372         * lib/copy-file.c (open, close): Undefine.
27373         * lib/execute.c (open, close): Undefine.
27374         * lib/fsusage.c (open, close): Undefine.
27375         * lib/gc-gnulib.c (open, close): Undefine.
27376         * lib/getcwd.c (opendir, closedir): Undefine.
27377         * lib/glob.c (opendir, closedir): Undefine.
27378         * lib/javacomp.c (open, close): Undefine.
27379         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
27380         * lib/openat-proc.c (open, close): Undefine.
27381         * lib/pagealign_alloc.c (open, close): Undefine.
27382         * lib/pipe.c (open, close): Undefine.
27383         * lib/progreloc.c (open, close): Undefine.
27384         * lib/savedir.c (opendir, closedir): Undefine.
27385         * lib/utime.c (open, close): Undefine.
27386         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
27387
27388 2007-01-10  Bruno Haible  <bruno@clisp.org>
27389
27390         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
27391
27392 2007-01-12  Eric Blake  <ebb9@byu.net>
27393
27394         Provide a robust <wchar.h>.  Further simplifications are now
27395         possible in other modules, but not included here.
27396         * modules/wchar: New module.
27397         * m4/wchar.m4: New file.
27398         * lib/wchar_.h: Likewise.
27399         * modules/mbchar (Depends-on): Depend on wchar, as the first use
27400         of the new module.
27401         * MODULES.html.sh (Extended multibyte and wide character utilities):
27402         New section.
27403
27404 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
27405
27406         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
27407         to a reasonable default for memory allocation.
27408         (xreadlink): Don't allocate a huge buffer, to work around a buggy
27409         file system that reports garbage st_size values for symlinks.
27410         Problem reported by Liyang Hu.
27411
27412 2007-01-11  Simon Josefsson  <simon@josefsson.org>
27413
27414         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
27415         Emacs .#* auto-save files).
27416
27417 2007-01-11  Bruno Haible  <bruno@clisp.org>
27418
27419         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
27420         directory.
27421
27422 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
27423
27424         Use @...@ consistently in lib/wctype_.h.
27425         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
27426         on it being set to 1 or 0.
27427         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
27428         go back to AC_SUBSTing it.
27429         * modules/wctype (Makefile.am): Undo previous change.
27430
27431 2007-01-10  Eric Blake  <ebb9@byu.net>
27432
27433         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
27434         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
27435         * modules/wctype (Makefile.am): Likewise.
27436         Reported by Chris McGuire.
27437
27438 2007-01-10  Jim Meyering  <jim@meyering.net>
27439
27440         fts.c: a small readability/maintainability improvement
27441         * lib/fts.c (fts_read): Make this code slightly more readable and
27442         maintainable by hoisting the "sp->fts_cur = p" assignments to
27443         immediately follow the statements that set P.  Derived from
27444         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
27445
27446 2007-01-10  Eric Blake  <ebb9@byu.net>
27447
27448         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
27449         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
27450         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27451         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
27452         Reported by Chris McGuire.
27453
27454 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27455
27456         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
27457         in sed script.
27458
27459 2007-01-09  Bruno Haible  <bruno@clisp.org>
27460
27461         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
27462         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
27463         variables.
27464         (func_module): Use them.
27465
27466 2007-01-09  Bruno Haible  <bruno@clisp.org>
27467
27468         * modules/unistr/base: New file.
27469         * lib/unistr.h: New file.
27470
27471         * modules/unistr/u8-to-u16: New file.
27472         * lib/unistr/u8-to-u16.c: New file.
27473
27474         * modules/unistr/u8-to-u32: New file.
27475         * lib/unistr/u8-to-u32.c: New file.
27476
27477         * modules/unistr/u16-to-u8: New file.
27478         * lib/unistr/u16-to-u8.c: New file.
27479
27480         * modules/unistr/u16-to-u32: New file.
27481         * lib/unistr/u16-to-u32.c: New file.
27482
27483         * modules/unistr/u32-to-u8: New file.
27484         * lib/unistr/u32-to-u8.c: New file.
27485
27486         * modules/unistr/u32-to-u16: New file.
27487         * lib/unistr/u32-to-u16.c: New file.
27488
27489         * modules/unistr/u8-check: New file.
27490         * modules/unistr/u16-check: New file.
27491         * modules/unistr/u32-check: New file.
27492         * lib/unistr/u8-check.c: New file.
27493         * lib/unistr/u16-check.c: New file.
27494         * lib/unistr/u32-check.c: New file.
27495
27496         * modules/unistr/u8-chr: New file.
27497         * modules/unistr/u16-chr: New file.
27498         * modules/unistr/u32-chr: New file.
27499         * lib/unistr/u8-chr.c: New file.
27500         * lib/unistr/u16-chr.c: New file.
27501         * lib/unistr/u32-chr.c: New file.
27502
27503         * modules/unistr/u8-cmp: New file.
27504         * modules/unistr/u16-cmp: New file.
27505         * modules/unistr/u32-cmp: New file.
27506         * lib/unistr/u8-cmp.c: New file.
27507         * lib/unistr/u16-cmp.c: New file.
27508         * lib/unistr/u32-cmp.c: New file.
27509
27510         * modules/unistr/u8-cpy: New file.
27511         * modules/unistr/u16-cpy: New file.
27512         * modules/unistr/u32-cpy: New file.
27513         * lib/unistr/u8-cpy.c: New file.
27514         * lib/unistr/u16-cpy.c: New file.
27515         * lib/unistr/u32-cpy.c: New file.
27516         * lib/unistr/u-cpy.h: New file.
27517
27518         * modules/unistr/u8-cpy-alloc: New file.
27519         * modules/unistr/u16-cpy-alloc: New file.
27520         * modules/unistr/u32-cpy-alloc: New file.
27521         * lib/unistr/u8-cpy-alloc.c: New file.
27522         * lib/unistr/u16-cpy-alloc.c: New file.
27523         * lib/unistr/u32-cpy-alloc.c: New file.
27524         * lib/unistr/u-cpy-alloc.h: New file.
27525
27526         * modules/unistr/u8-endswith: New file.
27527         * modules/unistr/u16-endswith: New file.
27528         * modules/unistr/u32-endswith: New file.
27529         * lib/unistr/u8-endswith.c: New file.
27530         * lib/unistr/u16-endswith.c: New file.
27531         * lib/unistr/u32-endswith.c: New file.
27532         * lib/unistr/u-endswith.h: New file.
27533
27534         * modules/unistr/u8-mblen: New file.
27535         * modules/unistr/u16-mblen: New file.
27536         * modules/unistr/u32-mblen: New file.
27537         * lib/unistr/u8-mblen.c: New file.
27538         * lib/unistr/u16-mblen.c: New file.
27539         * lib/unistr/u32-mblen.c: New file.
27540
27541         * modules/unistr/u8-mbtouc: New file.
27542         * modules/unistr/u16-mbtouc: New file.
27543         * modules/unistr/u32-mbtouc: New file.
27544         * lib/unistr/u8-mbtouc.c: New file.
27545         * lib/unistr/u16-mbtouc.c: New file.
27546         * lib/unistr/u32-mbtouc.c: New file.
27547
27548         * modules/unistr/u8-mbtouc-safe: New file.
27549         * modules/unistr/u16-mbtouc-safe: New file.
27550         * modules/unistr/u32-mbtouc-safe: New file.
27551         * lib/unistr/u8-mbtouc-safe.c: New file.
27552         * lib/unistr/u16-mbtouc-safe.c: New file.
27553         * lib/unistr/u32-mbtouc-safe.c: New file.
27554
27555         * modules/unistr/u8-move: New file.
27556         * modules/unistr/u16-move: New file.
27557         * modules/unistr/u32-move: New file.
27558         * lib/unistr/u8-move.c: New file.
27559         * lib/unistr/u16-move.c: New file.
27560         * lib/unistr/u32-move.c: New file.
27561         * lib/unistr/u-move.h: New file.
27562
27563         * modules/unistr/u8-next: New file.
27564         * modules/unistr/u16-next: New file.
27565         * modules/unistr/u32-next: New file.
27566         * lib/unistr/u8-next.c: New file.
27567         * lib/unistr/u16-next.c: New file.
27568         * lib/unistr/u32-next.c: New file.
27569
27570         * modules/unistr/u8-prev: New file.
27571         * modules/unistr/u16-prev: New file.
27572         * modules/unistr/u32-prev: New file.
27573         * lib/unistr/u8-prev.c: New file.
27574         * lib/unistr/u16-prev.c: New file.
27575         * lib/unistr/u32-prev.c: New file.
27576
27577         * modules/unistr/u8-set: New file.
27578         * modules/unistr/u16-set: New file.
27579         * modules/unistr/u32-set: New file.
27580         * lib/unistr/u8-set.c: New file.
27581         * lib/unistr/u16-set.c: New file.
27582         * lib/unistr/u32-set.c: New file.
27583         * lib/unistr/u-set.h: New file.
27584
27585         * modules/unistr/u8-startswith: New file.
27586         * modules/unistr/u16-startswith: New file.
27587         * modules/unistr/u32-startswith: New file.
27588         * lib/unistr/u8-startswith.c: New file.
27589         * lib/unistr/u16-startswith.c: New file.
27590         * lib/unistr/u32-startswith.c: New file.
27591         * lib/unistr/u-startswith.h: New file.
27592
27593         * modules/unistr/u8-stpcpy: New file.
27594         * modules/unistr/u16-stpcpy: New file.
27595         * modules/unistr/u32-stpcpy: New file.
27596         * lib/unistr/u8-stpcpy.c: New file.
27597         * lib/unistr/u16-stpcpy.c: New file.
27598         * lib/unistr/u32-stpcpy.c: New file.
27599         * lib/unistr/u-stpcpy.h: New file.
27600
27601         * modules/unistr/u8-stpncpy: New file.
27602         * modules/unistr/u16-stpncpy: New file.
27603         * modules/unistr/u32-stpncpy: New file.
27604         * lib/unistr/u8-stpncpy.c: New file.
27605         * lib/unistr/u16-stpncpy.c: New file.
27606         * lib/unistr/u32-stpncpy.c: New file.
27607         * lib/unistr/u-stpncpy.h: New file.
27608
27609         * modules/unistr/u8-strcat: New file.
27610         * modules/unistr/u16-strcat: New file.
27611         * modules/unistr/u32-strcat: New file.
27612         * lib/unistr/u8-strcat.c: New file.
27613         * lib/unistr/u16-strcat.c: New file.
27614         * lib/unistr/u32-strcat.c: New file.
27615         * lib/unistr/u-strcat.h: New file.
27616
27617         * modules/unistr/u8-strchr: New file.
27618         * modules/unistr/u16-strchr: New file.
27619         * modules/unistr/u32-strchr: New file.
27620         * lib/unistr/u8-strchr.c: New file.
27621         * lib/unistr/u16-strchr.c: New file.
27622         * lib/unistr/u32-strchr.c: New file.
27623
27624         * modules/unistr/u8-strcmp: New file.
27625         * modules/unistr/u16-strcmp: New file.
27626         * modules/unistr/u32-strcmp: New file.
27627         * lib/unistr/u8-strcmp.c: New file.
27628         * lib/unistr/u16-strcmp.c: New file.
27629         * lib/unistr/u32-strcmp.c: New file.
27630
27631         * modules/unistr/u8-strcpy: New file.
27632         * modules/unistr/u16-strcpy: New file.
27633         * modules/unistr/u32-strcpy: New file.
27634         * lib/unistr/u8-strcpy.c: New file.
27635         * lib/unistr/u16-strcpy.c: New file.
27636         * lib/unistr/u32-strcpy.c: New file.
27637         * lib/unistr/u-strcpy.h: New file.
27638
27639         * modules/unistr/u8-strcspn: New file.
27640         * modules/unistr/u16-strcspn: New file.
27641         * modules/unistr/u32-strcspn: New file.
27642         * lib/unistr/u8-strcspn.c: New file.
27643         * lib/unistr/u16-strcspn.c: New file.
27644         * lib/unistr/u32-strcspn.c: New file.
27645         * lib/unistr/u-strcspn.h: New file.
27646
27647         * modules/unistr/u8-strdup: New file.
27648         * modules/unistr/u16-strdup: New file.
27649         * modules/unistr/u32-strdup: New file.
27650         * lib/unistr/u8-strdup.c: New file.
27651         * lib/unistr/u16-strdup.c: New file.
27652         * lib/unistr/u32-strdup.c: New file.
27653         * lib/unistr/u-strdup.h: New file.
27654
27655         * modules/unistr/u8-strlen: New file.
27656         * modules/unistr/u16-strlen: New file.
27657         * modules/unistr/u32-strlen: New file.
27658         * lib/unistr/u8-strlen.c: New file.
27659         * lib/unistr/u16-strlen.c: New file.
27660         * lib/unistr/u32-strlen.c: New file.
27661         * lib/unistr/u-strlen.h: New file.
27662
27663         * modules/unistr/u8-strmblen: New file.
27664         * modules/unistr/u16-strmblen: New file.
27665         * modules/unistr/u32-strmblen: New file.
27666         * lib/unistr/u8-strmblen.c: New file.
27667         * lib/unistr/u16-strmblen.c: New file.
27668         * lib/unistr/u32-strmblen.c: New file.
27669
27670         * modules/unistr/u8-strmbtouc: New file.
27671         * modules/unistr/u16-strmbtouc: New file.
27672         * modules/unistr/u32-strmbtouc: New file.
27673         * lib/unistr/u8-strmbtouc.c: New file.
27674         * lib/unistr/u16-strmbtouc.c: New file.
27675         * lib/unistr/u32-strmbtouc.c: New file.
27676
27677         * modules/unistr/u8-strncat: New file.
27678         * modules/unistr/u16-strncat: New file.
27679         * modules/unistr/u32-strncat: New file.
27680         * lib/unistr/u8-strncat.c: New file.
27681         * lib/unistr/u16-strncat.c: New file.
27682         * lib/unistr/u32-strncat.c: New file.
27683         * lib/unistr/u-strncat.h: New file.
27684
27685         * modules/unistr/u8-strncmp: New file.
27686         * modules/unistr/u16-strncmp: New file.
27687         * modules/unistr/u32-strncmp: New file.
27688         * lib/unistr/u8-strncmp.c: New file.
27689         * lib/unistr/u16-strncmp.c: New file.
27690         * lib/unistr/u32-strncmp.c: New file.
27691
27692         * modules/unistr/u8-strncpy: New file.
27693         * modules/unistr/u16-strncpy: New file.
27694         * modules/unistr/u32-strncpy: New file.
27695         * lib/unistr/u8-strncpy.c: New file.
27696         * lib/unistr/u16-strncpy.c: New file.
27697         * lib/unistr/u32-strncpy.c: New file.
27698         * lib/unistr/u-strncpy.h: New file.
27699
27700         * modules/unistr/u8-strnlen: New file.
27701         * modules/unistr/u16-strnlen: New file.
27702         * modules/unistr/u32-strnlen: New file.
27703         * lib/unistr/u8-strnlen.c: New file.
27704         * lib/unistr/u16-strnlen.c: New file.
27705         * lib/unistr/u32-strnlen.c: New file.
27706         * lib/unistr/u-strnlen.h: New file.
27707
27708         * modules/unistr/u8-strpbrk: New file.
27709         * modules/unistr/u16-strpbrk: New file.
27710         * modules/unistr/u32-strpbrk: New file.
27711         * lib/unistr/u8-strpbrk.c: New file.
27712         * lib/unistr/u16-strpbrk.c: New file.
27713         * lib/unistr/u32-strpbrk.c: New file.
27714         * lib/unistr/u-strpbrk.h: New file.
27715
27716         * modules/unistr/u8-strrchr: New file.
27717         * modules/unistr/u16-strrchr: New file.
27718         * modules/unistr/u32-strrchr: New file.
27719         * lib/unistr/u8-strrchr.c: New file.
27720         * lib/unistr/u16-strrchr.c: New file.
27721         * lib/unistr/u32-strrchr.c: New file.
27722
27723         * modules/unistr/u8-strspn: New file.
27724         * modules/unistr/u16-strspn: New file.
27725         * modules/unistr/u32-strspn: New file.
27726         * lib/unistr/u8-strspn.c: New file.
27727         * lib/unistr/u16-strspn.c: New file.
27728         * lib/unistr/u32-strspn.c: New file.
27729         * lib/unistr/u-strspn.h: New file.
27730
27731         * modules/unistr/u8-strstr: New file.
27732         * modules/unistr/u16-strstr: New file.
27733         * modules/unistr/u32-strstr: New file.
27734         * lib/unistr/u8-strstr.c: New file.
27735         * lib/unistr/u16-strstr.c: New file.
27736         * lib/unistr/u32-strstr.c: New file.
27737         * lib/unistr/u-strstr.h: New file.
27738
27739         * modules/unistr/u8-strtok: New file.
27740         * modules/unistr/u16-strtok: New file.
27741         * modules/unistr/u32-strtok: New file.
27742         * lib/unistr/u8-strtok.c: New file.
27743         * lib/unistr/u16-strtok.c: New file.
27744         * lib/unistr/u32-strtok.c: New file.
27745         * lib/unistr/u-strtok.h: New file.
27746
27747         * modules/unistr/u8-uctomb: New file.
27748         * modules/unistr/u16-uctomb: New file.
27749         * modules/unistr/u32-uctomb: New file.
27750         * lib/unistr/u8-uctomb.c: New file.
27751         * lib/unistr/u16-uctomb.c: New file.
27752         * lib/unistr/u32-uctomb.c: New file.
27753
27754         * MODULES.html.sh (Unicode string functions): Add the new modules.
27755
27756 2007-01-08  Bruno Haible  <bruno@clisp.org>
27757
27758         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
27759         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
27760         subdirectories.
27761
27762 2007-01-08  Karl Berry  <karl@gnu.org>
27763
27764         * doc/error.texi: mention that main() fns must set program_name
27765         when progname is used.
27766
27767 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
27768
27769         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
27770         WCTYPE_H is empty, for the benefit of builds from non-distclean
27771         directories.  Problem reported by Eric Blake in
27772         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
27773
27774 2007-01-08  Bruno Haible  <bruno@clisp.org>
27775
27776         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
27777         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
27778         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
27779         PROVIDE_CANONICALIZE_FILENAME_MODE.
27780         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
27781
27782 2007-01-08  Bruno Haible  <bruno@clisp.org>
27783
27784         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
27785         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
27786         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
27787         * lib/fts.c: Likewise.
27788         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
27789
27790 2006-12-25  Bruno Haible  <bruno@clisp.org>
27791
27792         * modules/utf8-ucs4-safe: New file.
27793         * lib/utf8-ucs4-safe.h: New file.
27794         * lib/unistr/utf8-ucs4-safe.c: New file.
27795
27796         * modules/utf16-ucs4-safe: New file.
27797         * lib/utf16-ucs4-safe.h: New file.
27798         * lib/unistr/utf16-ucs4-safe.c: New file.
27799
27800         * MODULES.html.sh (Unicode string functions): Add the new modules.
27801
27802 2007-01-08  Bruno Haible  <bruno@clisp.org>
27803
27804         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
27805         (Depends-on): Add unitypes.
27806         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
27807         (u8_mbtouc_aux): Move out to separate file.
27808         (u8_mbtouc): Use ucs4_t, uint8_t types.
27809         * lib/unistr/utf8-ucs4.c: New file.
27810
27811         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
27812         (Depends-on): Add unitypes.
27813         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
27814         (u16_mbtouc_aux): Move out to separate file.
27815         (u16_mbtouc): Use ucs4_t, uint16_t types.
27816         * lib/unistr/utf16-ucs4.c: New file.
27817
27818         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
27819         (Depends-on): Add unitypes.
27820         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
27821         (u8_uctomb_aux): Move out to separate file.
27822         (u8_uctomb): Use ucs4_t, uint8_t types.
27823         * lib/unistr/ucs4-utf8.c: New file.
27824
27825         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
27826         (Depends-on): Add unitypes.
27827         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
27828         (u16_uctomb_aux): Move out to separate file.
27829         (u16_uctomb): Use ucs4_t, uint16_t types.
27830         * lib/unistr/ucs4-utf16.c: New file.
27831
27832 2006-12-25  Bruno Haible  <bruno@clisp.org>
27833
27834         * modules/unitypes: New file.
27835         * lib/unitypes.h: New file.
27836         * MODULES.html.sh (func_all_modules): New section "Unicode string
27837         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
27838         this section. Add unitypes.
27839
27840 2007-01-08  Bruno Haible  <bruno@clisp.org>
27841
27842         Avoid variable names that conflict with those from libtool.
27843         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
27844         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
27845         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
27846         library_names_spec to acl_library_names_spec, hardcode_* to
27847         acl_hardcode_*.
27848         Reported by Ralf Wildenhues.
27849
27850 2007-01-08  Bruno Haible  <bruno@clisp.org>
27851
27852         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
27853         definition.
27854         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
27855         definition.
27856         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
27857         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
27858         definition.
27859         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
27860         definition.
27861         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
27862         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
27863         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
27864         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
27865         definition.
27866         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
27867         definition.
27868         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
27869         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
27870         GC_USE_<algorithm>.
27871         * lib/gc-libgcrypt.c: Likewise.
27872         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
27873         * modules/gc-arctwo (configure.ac): Likewise.
27874         * modules/gc-des (configure.ac): Likewise.
27875         * modules/gc-hmac-md5 (configure.ac): Likewise.
27876         * modules/gc-hmac-sha1 (configure.ac): Likewise.
27877         * modules/gc-md2 (configure.ac): Likewise.
27878         * modules/gc-md4 (configure.ac): Likewise.
27879         * modules/gc-md5 (configure.ac): Likewise.
27880         * modules/gc-random (configure.ac): Likewise.
27881         * modules/gc-rijndael (configure.ac): Likewise.
27882         * modules/gc-sha1 (configure.ac): Likewise.
27883
27884 2007-01-08  Bruno Haible  <bruno@clisp.org>
27885
27886         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
27887         macro definition.
27888         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
27889         definition.
27890         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
27891         definition.
27892         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
27893         * modules/fcntl-safer (configure.ac): Likewise.
27894         * modules/fopen-safer (configure.ac): Likewise.
27895         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
27896         GNULIB_FWRITEERROR macro definition.
27897
27898 2007-01-08  Bruno Haible  <bruno@clisp.org>
27899
27900         * m4/gnulib-common.m4: New file.
27901         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
27902         (func_get_filelist): Add m4/gnulib-common.m4.
27903
27904 2007-01-08  Bruno Haible  <bruno@clisp.org>
27905
27906         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
27907         command.
27908
27909 2007-01-08  Jim Meyering  <jim@meyering.net>
27910
27911         Use a more robust test for a "can't happen" condition.
27912         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
27913         narrowed the st_size value.  Presuming the "can't happen" condition
27914         is true, that narrowing could conceivably convert an invalid st_size
27915         value into a valid one.  Instead, use a change based on Matthew
27916         Woehlke's original patch.
27917
27918         Slight readability improvement: use an assert-like macro
27919         in place of literal "abort ()" uses.
27920         * lib/fts.c (fts_assert): Define.
27921         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
27922         Use this macro instead of a bare 'abort'.
27923
27924 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
27925
27926         Don't worry about using IRIX 5.3's wctype.h broken definitions;
27927         simply work around them.
27928         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
27929         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
27930         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
27931         declaring.
27932         Don't bother to define as macros, since the standard doesn't require it.
27933         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
27934         longer worry about IRIX 5.3.
27935         (HAVE_WCTYPE_CTMP_BUG): Remove.
27936
27937 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
27938
27939         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
27940         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
27941         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
27942         Problems reported by Georg Schwarz for IRIX 5.3.
27943
27944         * gnulib-tool (autoconf_minversion): Take the maximum version number
27945         found, not the minimum.  Problem reported by James Youngman.
27946
27947 2007-01-03  Karl Berry  <karl@gnu.org>
27948
27949         * doc/error.texi: new file, explaining interaction with progname.
27950         * doc/gnulib.texi: include it.  Update copyright.
27951
27952 2007-01-03  Simon Josefsson  <simon@josefsson.org>
27953
27954         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
27955         AC_CANONICAL_HOST, to improve autobuild outputs.
27956
27957 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
27958             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
27959
27960         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
27961         sockets, server sockets, and other file descriptors.  Count errors
27962         to compute the return value.  Reorder the code a bit to be easier
27963         to follow.  Don't set event bits that were not requested (except
27964         POLLERR and POLLHUP).
27965
27966 2007-01-01  Bruno Haible  <bruno@clisp.org>
27967
27968         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
27969
27970 2007-01-03  Jim Meyering  <jim@meyering.net>
27971
27972         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
27973
27974 2007-01-02  Bruno Haible  <bruno@clisp.org>
27975
27976         * modules/settime (Include): Require timespec.h.
27977         * modules/nanosleep (Include): Likewise.
27978
27979 2007-01-01  Bruno Haible  <bruno@clisp.org>
27980
27981         * gnulib-tool (func_emit_copyright_notice): Bump year.
27982         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
27983
27984 2007-01-01  Bruno Haible  <bruno@clisp.org>
27985
27986         Improve support for OpenBSD.
27987         * build-aux/config.rpath (libname_spec): Export.
27988         (library_names_spec): New variable. Export.
27989         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
27990         library_names_spec from the config.rpath output. Locate shared library
27991         through the name pattern in library_names_spec.
27992
27993 2007-01-01  Eric Blake  <ebb9@byu.net>
27994
27995         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
27996
27997 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
27998
27999         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
28000         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
28001         assume the C locale, and avoid an "eval" that could cause trouble.
28002         Problem with SORT reported by Bob Proulx.
28003
28004         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
28005         Define.  Trivial patch from Henning Nielsen Lund, originally
28006         sent to bug-grep@gnu.org today.
28007
28008 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
28009
28010         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
28011         struct stat.  Problem reported by Henning Nielsen Lund.
28012         * lib/acl.c: Include acl.h first, to check interface.  Don't
28013         bother to include sys/types.h and sys/stat.h again.
28014
28015 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
28016
28017         Import the following change from libc; problem reported by
28018         Sven Verdoolaege.
28019
28020         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
28021
28022         [BZ #1373]
28023         * lib/argp.h: Remove __NTH for __argp_usage inline function.
28024
28025 2006-12-28  Jim Meyering  <jim@meyering.net>
28026
28027         * build-aux/announce-gen: Do not assume that the package
28028         builds any of tar.gz, tar.bz2, and .xdelta files.
28029         Suggestion from Simon Josefsson.
28030
28031 2006-12-28  Simon Josefsson  <simon@josefsson.org>
28032
28033         * modules/announce-gen: New file.
28034
28035 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
28036
28037         * lib/mbchar.h: Just include <wctype.h>; the wctype module
28038         handles its gotchas now.
28039         * lib/mbswidth.c: Likewise.
28040         * lib/wcwidth.h: Likewise.
28041         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
28042         and iswcntrl; the wctype module does this stuff now.
28043         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
28044         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28045         * modules/mbchar (Depends-on): Add wctype.
28046         * modules/mbswidth (Depends-on): Likewise.
28047         * modules/wcwidth (Depends-on): Likewise.
28048
28049 2006-12-27  Eric Blake  <ebb9@byu.net>
28050
28051         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
28052         module uses more than what <wctype.h> is required to provide.
28053
28054 2006-12-26  Eric Blake  <ebb9@byu.net>
28055
28056         * gnulib-tool (sed_extract_prog): Avoid space-tab.
28057
28058 2006-12-26  Eric Blake  <ebb9@byu.net>
28059
28060         * modules/absolute-header: New module.
28061         * modules/fcntl (Depends-on): Depend on it.
28062         * modules/inttypes (Depends-on): Likewise.
28063         * modules/stdint (Depends-on): Likewise.
28064         * modules/sys_stat (Depends-on): Likewise.
28065         * modules/wctype (Depends-on): Likewise.
28066         * MODULES.html.sh (Support for building libraries and
28067         executables): Document it.
28068
28069 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
28070
28071         * gnulib-tool (SED): Remove, undoing previous change.
28072         The problem was that it broke coreutils on Solaris, because
28073         "sed --posix" leaked into a makefile.
28074         (sed): New alias, if 'alias' and GNU sed.
28075
28076 2006-12-24  Jim Meyering  <jim@meyering.net>
28077
28078         Work around an fchownat bug in glibc-2.4:
28079         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
28080         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
28081         in spite of the -P option.
28082         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
28083         New macros.
28084         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
28085         * modules/openat (Files): Add lib/fchownat.c.
28086         * lib/openat.c (fchownat): Don't define here.  Move to...
28087         * lib/fchownat.c: ...this new file.
28088
28089 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
28090
28091         Fix bug reported by Bruno Haible in
28092         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
28093         where quotearg.c didn't compile on Mac OS X 10.2 because it
28094         lacks <wchar.h> and wint_t.
28095         * lib/wctype_.h (__wctype_wint_t): New type.
28096         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
28097         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
28098         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
28099         Arg is now of type __wctype_wint_t, not wint_t.
28100         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
28101         substitute HAVE_WINT_T.
28102         * modules/wctype (Files): Add m4/wint_t.m4.
28103         (wctype.h): Substitute HAVE_WINT_T.
28104
28105 2006-12-23  Bruno Haible  <bruno@clisp.org>
28106
28107         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
28108
28109 2006-12-23  Bruno Haible  <bruno@clisp.org>
28110
28111         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
28112         S_ISLNK.
28113         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
28114         mingw.
28115
28116 2006-12-22  Bruno Haible  <bruno@clisp.org>
28117
28118         * lib/copy-file.c: Include acl.h.
28119         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
28120         Close the file descriptors only after being done with copy_acl.
28121         * modules/copy-file (Depends-on): Add acl.
28122
28123 2006-12-22  Bruno Haible  <bruno@clisp.org>
28124
28125         * gnulib-tool (SED): New variable.
28126         Use $SED instead of sed everywhere.
28127
28128 2006-12-22  Bruno Haible  <bruno@clisp.org>
28129
28130         * modules/no-c++: New file.
28131         * m4/no-c++.m4: New file.
28132         * MODULES.html.sh (Support for building libraries and executables):
28133         Add no-c++.
28134
28135 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
28136
28137         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
28138         Include <limits.h>, and use its INT_MAX to rewrite the
28139         j loop so that it does not overflow 'int'.  Problem reported by
28140         Ralf Wildenhues in
28141         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
28142         Play it safe by shifting left by 1 rather than multiplying by 2,
28143         as GCC is less likely to optimize this away when the value
28144         is signed (when it assumes overflow leads to undefined behavior).
28145         Also, don't assume time_t uses two's complement.
28146
28147 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
28148
28149         * MODULES.html.sh: New module wctype.
28150         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
28151         * lib/fnmatch.c: Don't bother to include <wchar.h> before
28152         <wctype.h>, since the new wctype module should fix this.
28153         * lib/quotearg.c: Include <wctype.h> unconditionally, since
28154         the wctype module should arrange for it.
28155         * lib/regex_internal.h: Likewise.
28156         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
28157         since the wctype module should handle this now.
28158         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
28159         * modules/fnmatch (Depends-on): Add wctype.
28160         * modules/quotearg (Depends-on): Likewise.
28161         * modules/regex (Depends-on): Likewise.
28162
28163 2006-12-19  Bruno Haible  <bruno@clisp.org>
28164
28165         * lib/strdup.h [C++]: Wrap definitions in extern "C".
28166         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
28167
28168 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28169
28170         * modules/savewd (Depends-on): Fix dependency on fcntl.
28171
28172 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28173
28174         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
28175         conforms to C99, rather than relying on the user's environment
28176         setting of STDINT_H.
28177
28178 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28179         and Eric Blake  <ebb9@byu.net>
28180
28181         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
28182         This is more consistent with the other defines here.
28183         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
28184         Port to z/OS.  Problem reported by Paul Gilmartin.
28185         Change local vars to use gl_ prefix rather than ac_.
28186         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
28187         with other defines.
28188         * modules/double-slash-root: New module.
28189         * modules/dirname (Files): Remove m4/double-slash-root.m4.
28190         (Depends-on): Add double-slash-root.
28191         * MODULES.html.sh (File system functions): Mention new module.
28192
28193 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
28194
28195         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
28196         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
28197         This is for the benefit of gzip, which doesn't do i18n.
28198
28199 2006-12-12  Jim Meyering  <jim@meyering.net>
28200
28201         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
28202         Reported by Andreas Schwab <schwab@suse.de>.
28203
28204 2006-12-12  Bruno Haible  <bruno@clisp.org>
28205
28206         Merge these changes.
28207         2006-09-05  Bruno Haible  <bruno@clisp.org>
28208         * lib/iconvme.c (iconv_string): No need to save and restore errno when
28209         iconv_alloc succeeded.
28210         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
28211         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
28212         test for " && dest " at the end - dest is always != NULL there. Call
28213         iconv with 4xNULL arguments initially, to reset the state. Call iconv
28214         with 2xNULL arguments, also to flush the state storage. Handle the
28215         IRIX iconv behaviour. Realloc the final result, to throw away unused
28216         memory.
28217
28218 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
28219
28220         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
28221         and fchmodat unconditionally, since glibc 2.4 has them.
28222         Problem reported by Arkadiusz Miskiewicz.
28223
28224 2006-12-10  Bruno Haible  <bruno@clisp.org>
28225
28226         * gnulib-tool (func_import): Show the include files only for those
28227         modules that are copied and specified.
28228         Reported by Karl Berry.
28229
28230 2006-12-08  Jim Meyering  <jim@meyering.net>
28231
28232         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
28233         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
28234
28235         * build-aux/announce-gen: Add two new options, both optional:
28236         --bootstrap-tools=TOOL_LIST
28237               a comma-separated list of tools, e.g.,
28238               autoconf,automake,bison,gnulib
28239         --gnulib-snapshot-date=DATE
28240               if gnulib is in the bootstrap tool list,
28241               then report this as the snapshot date.
28242               If not specified, use the current date/time.
28243               If you specify a date here, be sure it's UTC.
28244
28245 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28246
28247         * tests/test-argp-2.sh: Fix test to match actual output.
28248         (func_compare): Fix sed script to be portable.
28249
28250 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
28251
28252         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
28253         workaround for this case.  It is not autoconfigured now; offhand
28254         it's hard to see how to autoconfigure it.
28255
28256 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
28257
28258         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
28259         a directory that is about to be chowned.  Such a directory's
28260         initial file permissions should permit the owner only and this
28261         should not be changed until after the chown, since the group and
28262         other bits would be incorrect if they granted permission before
28263         the chown.
28264
28265         Fix porting problem for iswctype reported by Georg Schwarz in:
28266         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
28267         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
28268         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
28269         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
28270         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28271
28272 2006-12-03  Jim Meyering  <jim@meyering.net>
28273
28274         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
28275         p->fts_statp may not yet be defined.
28276         (fts_read): Instead, set it in the caller, once p->fts_statp is
28277         sure to be defined, and corresponds to a top-level directory.
28278         This bug made du -x fail.  Here's the coreutils test case:
28279         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
28280         Reported by Mike Frysinger.
28281
28282 2006-12-01  Jim Meyering  <jim@meyering.net>
28283
28284         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
28285         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
28286         Reported by Simon Josefsson.
28287
28288 2006-11-30  Jim Meyering  <jim@meyering.net>
28289
28290         * m4/warning.m4: Use the all-permissive copyright notice
28291         recommended by RMS (rather than LGPL).
28292         * m4/vararrays.m4: Likewise.
28293         * m4/flexmember.m4: Likewise.
28294
28295 2006-11-29  Bruno Haible  <bruno@clisp.org>
28296
28297         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
28298         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
28299         using +=.
28300         Reported by Simon Josefsson <simon@josefsson.org>.
28301
28302 2006-11-28  James Youngman <jay@gnu.org>
28303
28304         * README: Advise users that they might find the bug-gnulib@gnu.org
28305         and autotools-announce@gnu.org mailing lists useful.
28306
28307 2006-11-28  Bruno Haible  <bruno@clisp.org>
28308
28309         * m4/ptrdiff_max.m4: Remove file.
28310
28311 2006-11-21  Bruno Haible  <bruno@clisp.org>
28312
28313         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
28314         _AC_COMPUTE_INT.
28315         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
28316         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
28317         _AC_COMPUTE_INT.
28318         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
28319         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
28320         _AC_COMPUTE_INT.
28321         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
28322
28323 2006-11-28  Jim Meyering  <jim@meyering.net>
28324
28325         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
28326         warning from "gcc -Wshadow" about shadowing the builtin.
28327
28328 2006-11-27  Bruno Haible  <bruno@clisp.org>
28329
28330         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
28331         _AC_COMPUTE_INT.
28332         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
28333
28334 2006-11-27  Bruno Haible  <bruno@clisp.org>
28335             Paul Eggert  <eggert@cs.ucla.edu>
28336
28337         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
28338
28339 2006-11-26  Bruno Haible  <bruno@clisp.org>
28340
28341         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
28342         noinst_LTLIBRARIES.
28343
28344 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
28345             Bruno Haible  <bruno@clisp.org>
28346
28347         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
28348         if compiling with "gcc -ansi".
28349
28350 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
28351
28352         Fix some incompatibilities with gcc -ansi -pedantic.
28353         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
28354         if compiling pedantically with GCC, unless it's C99 or later.
28355         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
28356         it mishandles gcc -ansi -pedantic as well.
28357         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
28358         if gcc -pedantic.
28359         * lib/regexec.c (check_node_accept_bytes): Don't use auto
28360         initializers for struct if -pedantic, unless it's C99 or later.
28361
28362 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
28363
28364         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
28365         Don't close an fd more than once. Identical atimes indicate
28366         success, not failure.
28367
28368 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
28369
28370         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
28371
28372 2006-11-23  Jim Meyering  <jim@meyering.net>
28373
28374         * build-aux/announce-gen: New file.  From coreutils.
28375
28376 2006-11-22  Jim Meyering  <jim@meyering.net>
28377
28378         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
28379         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
28380         (fts_read): Use a temporary to narrow the overused st_size member
28381         before using it in a switch statement.  Reported by Matthew Woehlke.
28382
28383         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
28384         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
28385
28386 2006-11-20  Bruno Haible  <bruno@clisp.org>
28387
28388         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
28389         changequote instead of pairs of brackets.
28390         Reported by Andreas Schwab <schwab@suse.de>.
28391
28392 2006-11-21  Jim Meyering  <jim@meyering.net>
28393
28394         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
28395         so as to remain compatible with older compilers.
28396         Patch from Michael Deutschmann.
28397
28398 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
28399
28400         * MODULES.html.sh (File system functions): Add openat.
28401
28402         * lib/openat.h (rpl_fstatat): New macro, if
28403         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
28404         (fstatat): Define to rpl_fstatat under the same conditions,
28405         unless COMPILING_FSTATAT.
28406         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
28407         seems to have the bug.
28408         * lib/fstatat.c: New file.
28409         * modules/openat (Files): Add it.
28410
28411 2006-11-20  Bruno Haible  <bruno@clisp.org>
28412
28413         * Makefile: New file.
28414
28415 2006-11-20  Jim Meyering  <jim@meyering.net>
28416
28417         The beginnings of syntax-related checks for gnulib.
28418         * lib/Makefile: New file.
28419         * lib/t-idcache: New script.  Ensure that the two halves of
28420         idcache.c stay in sync.
28421
28422         * lib/idcache.c: Adjust comments in user- and group- portions to
28423         be more accurate, and to be consistent with one another.
28424
28425 2006-11-20  Jim Meyering  <jim@meyering.net>
28426
28427         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
28428         continue using the flexible array member (thus, this module performs
28429         half as many malloc calls), with the addition that...
28430         (getgroup, getuser): Consistently record a non-match via an empty
28431         "name" string, and map an empty string match to a NULL return value.
28432         * modules/idcache (Depends-on): Re-add flexmember.
28433
28434         * lib/idcache.c (getuser): Remove all uses of the register keyword.
28435         (getuidbyname, getgroup, getgidbyname): Likewise.
28436
28437         Use cleaner syntax: NULL rather than 0.
28438         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
28439
28440 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
28441
28442         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
28443         It mishandled the case where the group was missing.
28444         Problem reported by Greg Schafer.
28445         * modules/idcache: Likewise.
28446
28447 2006-11-18  Jim Meyering  <jim@meyering.net>
28448
28449         * check-module (%exempt_header): Add exception for some
28450         conditionally-included headers.
28451
28452         * modules/i-ring (Depends-on): Add verify.
28453         (License): Change to LGPL.
28454
28455 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
28456
28457         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
28458         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
28459         and inttostr.h.  Use snprintf rather than uinttostr, so that
28460         LGPLed code doesn't depend on GPLed.
28461
28462 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28463
28464         * modules/inline (License): Change from GPL to LGPL.
28465
28466 2006-11-17  Jim Meyering  <jim@meyering.net>
28467
28468         * modules/d-type (License): Switch to LGPL.
28469
28470 2006-11-15  Bruno Haible  <bruno@clisp.org>
28471
28472         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
28473
28474 2006-11-15  Eric Blake  <ebb9@byu.net>
28475
28476         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
28477         the module dependency.
28478
28479 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28480             Bruno Haible  <bruno@clisp.org>
28481
28482         * gnulib-tool (func_create_testdir): Add license consistency check.
28483
28484 2006-11-15  Eric Blake  <ebb9@byu.net>
28485
28486         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
28487         random "(cached)" in configure output.
28488
28489 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28490
28491         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
28492         test for conforming inttypes.h is both announced and cached.
28493
28494         * MODULES.html.sh (seen_modules, seen_files): New variables.
28495         (func_module): Rewrite to use a few less gnulib-tool and sed
28496         invocations.  Avoid a couple of quadratic algorithms for ...
28497         (missed_modules, missed_files): ... these, with ...
28498         (func_append, func_tmpdir): ... these new functions, from
28499         gnulib-tool.  Analogously, install traps for cleanup.
28500
28501         * tests/test-gc.c (main): Remove unused variables.
28502         * tests/test-read-file.c: Include stdlib.h, for 'free'.
28503
28504 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
28505
28506         * modules/inttostr (License): Change to LGPL.
28507
28508 2006-11-14  Eric Blake  <ebb9@byu.net>
28509
28510         * modules/tempname (License): Change to LGPL.
28511
28512 2006-11-14  Eric Blake  <ebb9@byu.net>
28513
28514         * doc/functions.texi (Function Portability): *printf functions on
28515         Cygwin now understand all POSIX size specifiers.
28516
28517 2006-11-14  Bruno Haible  <bruno@clisp.org>
28518
28519         * modules/c-ctype (License): Change to LGPL.
28520
28521 2006-11-12  Bruno Haible  <bruno@clisp.org>
28522
28523         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
28524         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
28525         for GNOME libraries, for which the include files are installed in
28526         subdirectories of $prefix/include.
28527
28528 2006-11-12  Bruno Haible  <bruno@clisp.org>
28529
28530         * m4/lib-link.m4: Require at least autoconf-2.54.
28531         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
28532         name to underscores for the --with option.
28533
28534 2006-11-13  Bruno Haible  <bruno@clisp.org>
28535
28536         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
28537         the tests directory.
28538         Reported by Ralf Wildenhues.
28539
28540 2006-11-13  Bruno Haible  <bruno@clisp.org>
28541
28542         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
28543         (func_emit_initmacro_end): Undo the override here.
28544         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
28545         Works around the famous automake error in coreutils.
28546
28547 2006-11-13  Eric Blake  <ebb9@byu.net>
28548
28549         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
28550         element, not its node.
28551
28552 2006-11-12  Bruno Haible  <bruno@clisp.org>
28553
28554         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
28555         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
28556
28557 2006-11-12  Bruno Haible  <bruno@clisp.org>
28558
28559         * gnulib-tool: New option --local-symlink.
28560         (func_usage): Document it.
28561         (lsymbolic): New variable.
28562         (func_import, func_create_testdir): If --symlink was not specified,
28563         test whether --local-symlink was specified and the file comes from
28564         the local_gnulib_dir.
28565
28566 2006-11-12  Bruno Haible  <bruno@clisp.org>
28567
28568         * gnulib-tool (func_ln): New function.
28569         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
28570
28571 2006-11-12  Bruno Haible  <bruno@clisp.org>
28572
28573         Finish support for source files in subdirectories.
28574         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
28575         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
28576         AUTOMAKE_OPTIONS.
28577         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
28578
28579 2006-11-12  Bruno Haible  <bruno@clisp.org>
28580
28581         * gnulib-tool (func_get_automake_snippet): Synthesize also an
28582         EXTRA_lib_SOURCES augmentation.
28583         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
28584
28585 2006-11-12  Jim Meyering  <jim@meyering.net>
28586
28587         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
28588         file descriptors.  This also averts a failure on systems with
28589         native openat support when a traversed directory lacks "x" access.
28590         * lib/fts_.h: Include "i-ring.h"
28591         (struct FTS) [fts_fd_ring]: New member.
28592         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
28593         (FCHDIR): Add parentheses.
28594         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
28595         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
28596         When descending, rather than simply closing the previous
28597         fts_cwd_fd value, push that file descriptor onto the ring.
28598         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
28599         (fts_open): Initialize the new fd_ring member.
28600         (fts_close): Clear the ring.
28601         (fts_safe_changedir): When possible, use our new fd_ring to skip
28602         the diropen and fstat and dev/ino comparison that would normally
28603         accompany a virtual `chdir ("..")'.
28604
28605         * modules/fts (Depends-on): Add i-ring.
28606         * modules/i-ring: New module.
28607         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
28608         * m4/i-ring.m4: New file.
28609
28610 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28611
28612         * gnulib-tool (func_create_testdir): Fix replacement of
28613         `build-aux' in configure.ac.  Run autotools in gltests
28614         subdirectory.
28615         (func_create_testdir, func_create_megatestdir, test): There is
28616         no need for '--force' in most autotool invocations in a new
28617         tree.  Actually fail the whole test if any of the tools, or the
28618         configure or make stages fail.
28619
28620         Sync from Automake.
28621         * build-aux/gnupload: Revert last change.  Add pointer to upload
28622         instructions of the GNU Maintenance Instructions.
28623         Suggestion by Karl Berry.
28624
28625 2006-11-10  Jim Meyering  <jim@meyering.net>
28626
28627         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
28628
28629 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
28630
28631         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
28632         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
28633         (bind_textdomain_codeset) [! ENABLE_NLS]:
28634         Evaluate all the arguments.  That way, callers get compatible behavior
28635         if the arguments have side effects.  Also, it avoids some GCC
28636         diagnostics in some cases; Joel E. Denny reported problems when Bison
28637         was configured with --enable-gcc-warnigs.
28638
28639 2006-11-10  Jim Meyering  <jim@meyering.net>
28640
28641         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
28642         relevant options in CFLAGS (like -O, -fno-inline) are taken into
28643         account.
28644
28645 2006-11-10  Jim Meyering  <jim@meyering.net>
28646
28647         * modules/inline: New file/module.
28648         * modules/xalloc (Files): Remove m4/inline.m4.
28649         (Depends-on): Add inline, instead.
28650         * modules/oset: Likewise.
28651         * modules/list: Likewise.
28652
28653 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
28654
28655         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
28656         Problem reported by Matthew Woehlke.
28657
28658 2006-11-09  Bruno Haible  <bruno@clisp.org>
28659
28660         * lib/tempname.c (gen_tempname): Remove variant that invokes
28661         __gen_tempname.
28662         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
28663         __gen_tempname.
28664
28665 2006-11-08  Bruno Haible  <bruno@clisp.org>
28666
28667         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
28668         to 'yes' instead of 'cross-compiling'.
28669
28670 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
28671
28672         * lib/quotearg.h (quotearg_free): New decl.
28673         * lib/quotearg.c (quotearg_free): New function.
28674         (slot0, nslots, slotvec0, slotvec):
28675         Now file-scope so that quotearg_free can get at them.
28676
28677 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28678
28679         Sync from Automake.
28680         * build-aux/gnupload: Add missing 'gnu' to example URL.
28681         Report by Karl Berry.
28682
28683 2006-11-08  Bruno Haible  <bruno@clisp.org>
28684
28685         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
28686         Suggested by Paul Eggert.
28687
28688 2006-11-08  Jim Meyering  <jim@meyering.net>
28689
28690         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
28691         It's already included if !_LIBC.
28692         (fts_safe_changedir): Add a comment.
28693
28694 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28695
28696         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
28697         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
28698         Matthew Woehlke.
28699
28700         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
28701         definitions up, to avoid colliding with change below.
28702         (static_inline) [HAVE_INLINE]: New macro.
28703         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
28704         Provide extern decls when !HAVE_INLINE.  Do not define unless
28705         static_inline is defined, either by us or by xmalloc.c.  Use
28706         static_inline rather than static inline.
28707         (XCALLOC): Optimize sizeof(T) = 1 case.
28708         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
28709
28710 2006-11-07  Bruno Haible  <bruno@clisp.org>
28711
28712         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
28713         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
28714         AC_C_INLINE.
28715         * modules/xalloc (Files): Add m4/inline.m4.
28716
28717 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28718
28719         * README: Fix typo.
28720         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
28721         (Miscellanous Notes): ...from this.
28722
28723 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28724
28725         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
28726         Mention that offsetof should be used instead of sizeof.
28727         From Bruno Haible.
28728
28729 2006-11-07  Bruno Haible  <bruno@clisp.org>
28730
28731         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
28732
28733 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
28734
28735         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
28736         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
28737         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
28738         (gl_tree_add_before, gl_tree_add_after):
28739         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
28740         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
28741         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
28742         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
28743         (gl_linked_add_after, gl_linked_add_at): Likewise.
28744         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
28745         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
28746         (gl_tree_add_before, gl_tree_add_after): Likewise.
28747         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
28748         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
28749         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
28750
28751 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28752
28753         * lib/gl_oset.h: Use C comment style, not C++ comment style.
28754
28755 2006-11-06  Bruno Haible  <bruno@clisp.org>
28756
28757         * m4/inline.m4: New file.
28758         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
28759         * modules/list (Files): Add m4/inline.m4.
28760         * modules/oset (Files): Likewise.
28761
28762 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
28763
28764         * lib/idcache.c: Include <stddef.h>, for offsetof.
28765         (struct userid.name): Change from char * to a flexible array member.
28766         All uses changed.
28767         * modules/idcache (Depends-on): Add flexmember.
28768
28769         * MODULES.html.sh (Core language properties): New module flexmember.
28770         * modules/flexmember, m4/flexmember.m4: New files.
28771
28772         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
28773         inline functions that are identical with the old xnmalloc_inline,
28774         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
28775         that we can avoid some unnecessary integer multiplications and
28776         divisions in the common case where the element size is known at
28777         compile time.
28778         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
28779         needed.
28780         (xnboundedmalloc): Remove.
28781         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
28782         arguments, for consistency with rest of this header.
28783         (xcharalloc): Rewrite using XNMALLOC.
28784         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
28785         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
28786         versions have been moved to lib/xalloc.h and renamed to be the
28787         non-*_inline versions.
28788         (xmalloc, xrealloc): Implement without reference to the xnmalloc
28789         and xnrealloc functions, since those functions are now inline and
28790         now call us.
28791         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
28792         renaming described above.
28793         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
28794         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
28795         captures the dependency in AC_C_INLINE.
28796
28797         New module canonicalize-lgpl, proposed by Charles Wilson in
28798         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
28799         with a few small changes afterwards.
28800         * MODULES.html.sh (File system functions): New module
28801         canonicalize-lgpl.
28802         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
28803         and canonicalize_file_name.
28804         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
28805         * modules/canonicalize-lgpl: New files.
28806
28807 2006-11-05  Bruno Haible  <bruno@clisp.org>
28808
28809         * gnulib-tool (func_import, func_create_testdir): Create directories
28810         also for files in subdirectories of lib/.
28811
28812 2006-11-05  Bruno Haible  <bruno@clisp.org>
28813
28814         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
28815         ANSI C compliant.
28816
28817 2006-11-03  Bruno Haible  <bruno@clisp.org>
28818
28819         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
28820         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
28821         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
28822         (xnboundedmalloc): New inline function.
28823         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
28824         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
28825         xmalloc.
28826         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
28827         xmalloc.
28828         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
28829         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
28830         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
28831         xmalloc.
28832         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
28833         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
28834         xmalloc.
28835         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
28836         gl_tree_add_after): Use XMALLOC instead of xmalloc.
28837         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
28838         xmalloc.
28839         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
28840         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
28841         gl_tree_add_after): Use XMALLOC instead of xmalloc.
28842         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
28843         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
28844         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
28845         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
28846
28847 2006-11-03  Bruno Haible  <bruno@clisp.org>
28848
28849         * lib/c-ctype.h [C++]: Define functions without name mangling.
28850         * lib/fwriteerror.h [C++]: Likewise.
28851         * lib/gcd.h [C++]: Likewise.
28852         * lib/linebreak.h [C++]: Likewise.
28853
28854 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
28855
28856         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
28857         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
28858         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
28859         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
28860         Check for functions and headers just once.
28861         Check for declaration of canonicalize_file_name.
28862         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
28863
28864 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
28865
28866         * gnulib-tool (func_import): Fix typo in actioncmd.
28867
28868 2006-11-02  Bruno Haible  <bruno@clisp.org>
28869
28870         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
28871         newline sequence in the Makefile.am snippet as a space, like "make"
28872         does.
28873         Reported by Roger Persson <perrog@gmail.com>.
28874
28875 2006-11-01  Bruno Haible  <bruno@clisp.org>
28876
28877         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
28878         already declared in <string.h>.
28879         * lib/strcase.h (strncasecmp): Don't declare it if yes.
28880
28881 2006-11-01  Bruno Haible  <bruno@clisp.org>
28882
28883         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
28884         * lib/strcase.h: Include <string.h>.
28885         (strcasecmp): Define to rpl_strcasecmp here.
28886
28887 2006-11-01  Bruno Haible  <bruno@clisp.org>
28888
28889         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
28890
28891 2006-11-01  Eric Blake  <ebb9@byu.net>
28892
28893         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
28894
28895         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
28896
28897 2006-10-29  Bruno Haible  <bruno@clisp.org>
28898
28899         Make it compile in C++ mode.
28900         * lib/full-write.c (full_rw): Add a cast.
28901
28902 2006-11-01  Bruno Haible  <bruno@clisp.org>
28903
28904         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
28905         be POSIX compliant.
28906         Reported by Roger Persson <perrog@gmail.com>.
28907
28908 2006-11-01  Eric Blake  <ebb9@byu.net>
28909
28910         * lib/getopt_.h: Fix comments.
28911
28912 2006-10-31  Eric Blake  <ebb9@byu.net>
28913
28914         * modules/tmpdir (Depends-on): Add sys_stat.
28915         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
28916         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
28917         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
28918         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
28919         tempname.
28920
28921 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
28922
28923         Avoid some C++ diagnostics reported by Bruno Haible.
28924         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
28925         xmalloc.
28926         (quotearg_alloc): Use xcharalloc rather than xmalloc.
28927         (struct slotvec): Move to top level.
28928         (quotearg_n_options): Rewrite to avoid xmalloc.
28929         * lib/xalloc.h (xcharalloc): New function.
28930         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
28931         [defined __cplusplus]: Add function template that provides result
28932         type propagation.  This part of the change is from Bruno Haible.
28933
28934 2006-10-29  Bruno Haible  <bruno@clisp.org>
28935
28936         Make it compile in C++ mode.
28937         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
28938         * lib/strnlen1.c (strnlen1): Cast memchr result.
28939         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
28940         * lib/clean-temp.c (string_equals, string_hash): Add casts.
28941         (create_temp_dir): Rename local variable 'template'.
28942         (compile_csharp_using_sscli): Add cast.
28943         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
28944         * lib/findprog.c (find_in_path): Likewise.
28945         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
28946         * lib/wait-process.c (register_slave_subprocess): Likewise.
28947
28948 2006-10-22  Bruno Haible  <bruno@clisp.org>
28949
28950         * modules/tsearch: New file.
28951         * lib/tsearch.h: New file.
28952         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
28953         * m4/tsearch.m4: New file.
28954         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
28955
28956 2006-10-29  Eric Blake  <ebb9@byu.net>
28957
28958         * lib/arcfour.c: Assume config.h.
28959         * lib/arctwo.c: Likewise.
28960         * lib/base64.c: Likewise.
28961         * lib/check-version.c: Likewise.
28962         * lib/crc.c: Likewise.
28963         * lib/des.c: Likewise.
28964         * lib/gc-gnulib.c: Likewise.
28965         * lib/gc-libgcrypt.c: Likewise.
28966         * lib/gc-pbkdf2-sha1.c: Likewise.
28967         * lib/getaddrinfo.c: Likewise.
28968         * lib/getdelim.c: Likewise.
28969         * lib/getline.c: Likewise.
28970         * lib/hmac-md5.c: Likewise.
28971         * lib/hmac-sha1.c: Likewise.
28972         * lib/iconvme.c: Likewise.
28973         * lib/md2.c: Likewise.
28974         * lib/md4.c: Likewise.
28975         * lib/memxor.c: Likewise.
28976         * lib/read-file.c: Likewise.
28977         * lib/readline.c: Likewise.
28978         * lib/rijndael-alg-fst.c: Likewise.
28979         * lib/rijndael-api-fst.c: Likewise.
28980         * lib/xgetdomainname.c: Likewise.
28981
28982 2006-10-28  Eric Blake  <ebb9@byu.net>
28983
28984         * lib/xstrndup.c: Assume config.h.
28985
28986 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
28987
28988         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
28989         stat-macros.h is now for our own macros, whereas stat_h is for
28990         macros in the <sys/stat.h> name space.
28991         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
28992         (STAT_MACROS_H): Remove.
28993         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
28994         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
28995         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
28996         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
28997         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
28998         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
28999         Move these macros to ...
29000         * lib/stat_.h: here.  Don't include stat-macros.h.
29001         * lib/canonicalize.c: Don't include stat-macros.h.
29002         * lib/chown.c: Likewise.
29003         * lib/euidaccess.c: Likewise.
29004         * lib/file-type.c: Likewise.
29005         * lib/filemode.c: Likewise.
29006         * lib/glob.c: Likewise.
29007         * lib/isapipe.c: Likewise.
29008         * lib/lchown.c: Likewise.
29009         * lib/lstat.c: Likewise.
29010         * lib/mkdir-p.c: Likewise.
29011         * lib/rmdir.c: Likewise.
29012         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
29013         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
29014         unless mkdir isn't declared, to speed up 'configure'.
29015         Always create sys/stat.h, since it's unlikely any real sys/stat.h
29016         would define all the S_* symbols.
29017         * modules/canonicalize (Depends-on):
29018         Depend on sys_stat, not stat-macros.
29019         * modules/chown: Likewise.
29020         * modules/euidaccess: Likewise.
29021         * modules/filemode: Likewise.
29022         * modules/file-type: Likewise.
29023         * modules/glob: Likewise.
29024         * modules/isapipe: Likewise.
29025         * modules/lchown: Likewise.
29026         * modules/lstat: Likewise.
29027         * modules/mkancesdirs: Likewise.
29028         * modules/rmdir: Likewise.
29029         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
29030         * modules/modechange: Likewise.
29031         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
29032         (configure.ac): Remove gl_STAT_MACROS.
29033         * modules/sys_stat (Depends-on): Remove stat-macros.
29034
29035 2006-10-27  Bruno Haible  <bruno@clisp.org>
29036
29037         * m4/signed.m4: Remove file.
29038         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
29039         invocation.
29040         * modules/vasnprintf (Files): Remove m4/signed.m4.
29041
29042 2006-10-27  Bruno Haible  <bruno@clisp.org>
29043
29044         Update to GNU gettext 0.16.
29045         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
29046         m4/inttypes-h.m4, m4/signed.m4.
29047         * m4/gettext.m4: Update to GNU gettext 0.16.
29048         * m4/intl.m4: New file, from GNU gettext.
29049         * m4/intldir.m4: New file, from GNU gettext.
29050         * config/srclist.txt: Update
29051
29052 2006-10-27  Eric Blake  <ebb9@byu.net>
29053
29054         * MODULES.html.sh: Document tempname.
29055         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
29056         dependencies.
29057         (Files): Move lib/tempname.c...
29058         * modules/tempname: ...to this new module.
29059         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
29060         (gl_PREREQ_TEMPNAME): Move...
29061         * m4/tempname.m4: ...to this new file.
29062         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
29063         * modules/sys_stat (Depends-on): Add stat-macros.
29064         * lib/stat_.h (includes): Pick up stat macros.
29065         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
29066         if stat macros are broken.
29067         * lib/tempname.c (includes): No need to include "stat-macros.h".
29068         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
29069         (direxists, __path_search) [!_LIBC]: Don't compile these in
29070         gnulib; the tmpdir module covers that.
29071         * lib/tempname.h: New file.
29072
29073 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
29074
29075         * COPYING: Explain how gnulib-tool converts licence headers.
29076         Almost all wording by Eric Blake.
29077
29078 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
29079
29080         * lib/mbchar.h (is_basic_table): Make read-only.
29081         * lib/mbchar.c (is_basic_table): Likewise.
29082         Reported by John Darrington.
29083
29084 2006-10-25  Bruno Haible  <bruno@clisp.org>
29085
29086         * lib/progname.h (set_program_name): Undefine before defining.
29087
29088 2006-10-25  Bruno Haible  <bruno@clisp.org>
29089
29090         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
29091         false for non-gcc C++ compilers.
29092         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29093
29094 2006-10-24  Bruno Haible  <bruno@clisp.org>
29095
29096         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
29097         iconv implementations like Irix iconv.
29098
29099 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
29100
29101         * modules/vararrays: New file.
29102         * m4/vararrays.m4: New file, taken from diffutils.
29103         * MODULES.html.sh: New module vararrays.
29104
29105 2006-10-24  Karl Berry  <karl@gnu.org>
29106
29107         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
29108         Don't call GNU Unix.
29109
29110 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29111
29112         * users.txt: Add Libtool.
29113
29114         Sync from Libtool:
29115
29116         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
29117
29118         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
29119         to gnulib's policy of including config.h unconditionally.
29120
29121 2006-10-24  Bruno Haible  <bruno@clisp.org>
29122
29123         * modules/wcwidth (Files): Add m4/wint_t.m4.
29124         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
29125         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
29126
29127 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
29128
29129         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
29130         to pacify GCC with some -W flags enabled.  Problem reported by
29131         Bruno Haible.
29132
29133 2006-10-24  Jim Meyering  <jim@meyering.net>
29134
29135         * MODULES.html.sh: Remove uinttostr.  It's not a module.
29136         Reported by Karl Berry.
29137
29138 2006-10-23  Bruno Haible  <bruno@clisp.org>
29139
29140         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
29141
29142 2006-10-24  Bruno Haible  <bruno@clisp.org>
29143
29144         * lib/gl_list.h: Use C comment style, not C++ comment style.
29145
29146 2006-10-23  Eric Blake  <ebb9@byu.net>
29147
29148         * lib/getaddrinfo.c (includes): Add missing include.
29149
29150 2006-10-23  Bruno Haible  <bruno@clisp.org>
29151             Paul Eggert  <eggert@cs.ucla.edu>
29152
29153         Ability to rename obstack_free.
29154         * lib/obstack.h (__obstack_free): New macro. Declare instead of
29155         obstack_free.
29156         (obstack_free): Invoke the __obstack_free macro.
29157         * lib/obstack.c (obstack_free): Use __obstack_free macro.
29158
29159 2006-10-23  Bruno Haible  <bruno@clisp.org>
29160             Paul Eggert  <eggert@cs.ucla.edu>
29161
29162         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
29163         __argc, __argv from the declaration. (They are defined as macros on
29164         mingw.)
29165
29166 2006-10-22  Bruno Haible  <bruno@clisp.org>
29167
29168         * doc/gnulib-intro.texi: New file.
29169         * doc/gnulib.texi: Include it.
29170
29171 2006-10-21  Bruno Haible  <bruno@clisp.org>
29172
29173         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
29174         "Introduction", "Miscellanous Notes", "Particular Modules".
29175
29176 2006-10-21  Bruno Haible  <bruno@clisp.org>
29177
29178         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29179         Change mostlyclean-local rule to avoid sh syntax error from bash
29180         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
29181
29182 2006-10-23  Jim Meyering  <jim@meyering.net>
29183
29184         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
29185         in place of snprintf.
29186
29187         * modules/inttostr (Files): Add lib/uinttostr.c.
29188         * lib/uinttostr.c (inttostr): New file/function.
29189         * lib/inttostr.h (uinttostr): Declare.
29190         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
29191         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
29192         Add uinttostr.
29193         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
29194
29195 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
29196
29197         * lib/canonicalize.c (ELOOP): Define if not already defined.
29198         Problem reported by Bruno Haible in
29199         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
29200
29201 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
29202
29203         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
29204         Problem reported by Perry Smith and Ville Laurikari.
29205
29206         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
29207         uses.
29208
29209 2006-10-19  Bruno Haible  <bruno@clisp.org>
29210
29211         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
29212         for mingw.
29213
29214 2006-10-19  Bruno Haible  <bruno@clisp.org>
29215
29216         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
29217         Needed for mingw.
29218
29219 2006-10-19  Bruno Haible  <bruno@clisp.org>
29220
29221         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
29222
29223 2006-10-19  Bruno Haible  <bruno@clisp.org>
29224
29225         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
29226         it.
29227
29228 2006-10-19  Bruno Haible  <bruno@clisp.org>
29229
29230         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
29231         invocation.
29232
29233 2006-10-19  Bruno Haible  <bruno@clisp.org>
29234
29235         * gnulib-tool (func_create_testdir): Don't include ftruncate and
29236         mountlist by default.
29237
29238 2006-10-16  Bruno Haible  <bruno@clisp.org>
29239
29240         * lib/c-strstr.c: Include c-strstr.h.
29241
29242 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
29243
29244         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
29245         in a slash.
29246
29247 2006-10-18  Bruno Haible  <bruno@clisp.org>
29248
29249         * lib/lock.h [C++]: Wrap definitions in extern "C".
29250
29251 2006-10-18  Bruno Haible  <bruno@clisp.org>
29252
29253         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
29254         gl_LIBOBJS list.
29255
29256 2006-10-18  Bruno Haible  <bruno@clisp.org>
29257
29258         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
29259
29260 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
29261
29262         * lib/xstrtol.h: Include gettext.h.
29263         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
29264         Problem reported by Eric Blake.
29265         * modules/xstrtol (Depends-on): Add gettext-h.
29266
29267 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
29268
29269         * lib/strftime.c (advance): New macro.
29270         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
29271         incomplete type, so you can't add 0 to it.  Problem and patch
29272         reported by Eelco Dolstra for dietlibc.
29273
29274 2006-10-18  Jim Meyering  <jim@meyering.net>
29275
29276         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
29277         type for a local, and rename it: s/up/user_proc/.
29278
29279 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
29280
29281         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
29282         READ_UTMP_USER_PROCESS.
29283         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
29284
29285 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
29286
29287         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
29288         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
29289
29290 2006-10-17  Eric Blake  <ebb9@byu.net>
29291
29292         * lib/sigprocmask.c (sigprocmask): Fix typo.
29293
29294         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
29295
29296         * modules/clean-temp (Makefile.am): Don't add to make output...
29297         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
29298         config.h.
29299
29300 2006-10-17  Bruno Haible  <bruno@clisp.org>
29301
29302         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
29303         differently if DEFAULT_TEXT_DOMAIN is set.
29304
29305 2006-10-16  Bruno Haible  <bruno@clisp.org>
29306
29307         * lib/clean-temp.c: Include fwriteerror.h.
29308
29309 2006-10-16  Bruno Haible  <bruno@clisp.org>
29310
29311         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
29312
29313 2006-10-16  Bruno Haible  <bruno@clisp.org>
29314
29315         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
29316         * lib/sigprocmask.h: Include <sys/types.h>.
29317         (sigset_t): Use the system's definition if present.
29318
29319 2006-10-17  Eric Blake  <ebb9@byu.net>
29320
29321         * lib/xvasprintf.c (includes): Assume config.h.
29322         * lib/xasprintf.c (includes): Likewise.
29323
29324 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
29325
29326         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
29327         at least as wide as intmax_t.
29328
29329 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
29330
29331         (Imported from Automake.)
29332         * build-aux/gnupload: Update to version 1.1 of directive file.
29333
29334 2006-10-16  Eric Blake  <ebb9@byu.net>
29335
29336         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
29337         match Automake 1.10a.
29338
29339 2006-10-14  Bruno Haible  <bruno@clisp.org>
29340
29341         * modules/sigprocmask: New file.
29342         * lib/sigprocmask.h: New file.
29343         * lib/sigprocmask.c: New file.
29344         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
29345         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
29346         request sigprocmask.o.
29347         (gl_PREREQ_SIGPROCMASK): New macro.
29348         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
29349         (Depends-on): Add sigprocmask.
29350         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
29351         gt_SIGNALBLOCKING. Test for 'raise' only once.
29352         * lib/fatal-signal.c: Include sigprocmask.h.
29353         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
29354         unblock_fatal_signals): Define always.
29355         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
29356         sigprocmask.
29357
29358 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
29359
29360         Sync from Automake.
29361         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
29362         which incorrectly sets the mode of an existing destination
29363         directory.  In some cases the unpatched install-sh could do the
29364         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
29365         system.  We hope this is rare in practice, but it's clearly worth
29366         fixing.  Problem reported by Alex Unleashed in
29367         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
29368         Also, don't bother to check for -m bugs unless we're using -m;
29369         suggested by Stepan Kasal.
29370
29371 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29372
29373         Sync from Automake.
29374         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
29375         `-c' flag, so they appear at the same position as in %FASTDEP%
29376         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
29377         which ignores unknown options only after the first non-option.
29378         Bug report against M4 by Nelson H. F. Beebe.
29379
29380 2006-10-13  Jim Meyering  <jim@meyering.net>
29381
29382         Fix a bug in yesterday's change.
29383         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
29384         p->fts_statp->st_dev would be used uninitialized.
29385         Ensures that we always call fts_stat on the very first entry.
29386         Miklos Szeredi reported that find -xdev stopped working.
29387
29388 2006-10-12  Bruno Haible  <bruno@clisp.org>
29389
29390         * gnulib-tool (func_get_automake_snippet): Append an automatically
29391         computed EXTRA_DIST augmentation.
29392         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
29393         * modules/alloca-opt (Makefile.am): Likewise.
29394         * modules/allocsa (Makefile.am): Likewise.
29395         * modules/arcfour (Makefile.am): Likewise.
29396         * modules/arctwo (Makefile.am): Likewise.
29397         * modules/argmatch (Makefile.am): Likewise.
29398         * modules/argz (Makefile.am): Likewise.
29399         * modules/atexit (Makefile.am): Likewise.
29400         * modules/backupfile (Makefile.am): Likewise.
29401         * modules/byteswap (Makefile.am): Likewise.
29402         * modules/c-strtod (Makefile.am): Likewise.
29403         * modules/c-strtold (Makefile.am): Likewise.
29404         * modules/calloc (Makefile.am): Likewise.
29405         * modules/canon-host (Makefile.am): Likewise.
29406         * modules/canonicalize (Makefile.am): Likewise.
29407         * modules/chdir-long (Makefile.am): Likewise.
29408         * modules/chdir-safer (Makefile.am): Likewise.
29409         * modules/check-version (Makefile.am): Likewise.
29410         * modules/chown (Makefile.am): Likewise.
29411         * modules/cloexec (Makefile.am): Likewise.
29412         * modules/close-stream (Makefile.am): Likewise.
29413         * modules/closeout (Makefile.am): Likewise.
29414         * modules/crc (Makefile.am): Likewise.
29415         * modules/csharpexec (Makefile.am): Likewise.
29416         * modules/cycle-check (Makefile.am): Likewise.
29417         * modules/des (Makefile.am): Likewise.
29418         * modules/dev-ino (Makefile.am): Likewise.
29419         * modules/dirfd (Makefile.am): Likewise.
29420         * modules/dirname (Makefile.am): Likewise.
29421         * modules/dup2 (Makefile.am): Likewise.
29422         * modules/eealloc (Makefile.am): Likewise.
29423         * modules/error (Makefile.am): Likewise.
29424         * modules/euidaccess (Makefile.am): Likewise.
29425         * modules/exclude (Makefile.am): Likewise.
29426         * modules/exitfail (Makefile.am): Likewise.
29427         * modules/fcntl-safer (Makefile.am): Likewise.
29428         * modules/fcntl (Makefile.am): Likewise.
29429         * modules/file-type (Makefile.am): Likewise.
29430         * modules/fileblocks (Makefile.am): Likewise.
29431         * modules/filemode (Makefile.am): Likewise.
29432         * modules/filenamecat (Makefile.am): Likewise.
29433         * modules/fnmatch (Makefile.am): Likewise.
29434         * modules/fopen-safer (Makefile.am): Likewise.
29435         * modules/fpending (Makefile.am): Likewise.
29436         * modules/fprintftime (Makefile.am): Likewise.
29437         * modules/free (Makefile.am): Likewise.
29438         * modules/fsusage (Makefile.am): Likewise.
29439         * modules/ftruncate (Makefile.am): Likewise.
29440         * modules/fts (Makefile.am): Likewise.
29441         * modules/gc-arcfour (Makefile.am): Likewise.
29442         * modules/gc-des (Makefile.am): Likewise.
29443         * modules/gc-hmac-md5 (Makefile.am): Likewise.
29444         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
29445         * modules/gc-md4 (Makefile.am): Likewise.
29446         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
29447         * modules/gc-sha1 (Makefile.am): Likewise.
29448         * modules/gc (Makefile.am): Likewise.
29449         * modules/getaddrinfo (Makefile.am): Likewise.
29450         * modules/getcwd (Makefile.am): Likewise.
29451         * modules/getdelim (Makefile.am): Likewise.
29452         * modules/getdomainname (Makefile.am): Likewise.
29453         * modules/getgroups (Makefile.am): Likewise.
29454         * modules/gethostname (Makefile.am): Likewise.
29455         * modules/gethrxtime (Makefile.am): Likewise.
29456         * modules/getline (Makefile.am): Likewise.
29457         * modules/getloadavg (Makefile.am): Likewise.
29458         * modules/getlogin_r (Makefile.am): Likewise.
29459         * modules/getndelim2 (Makefile.am): Likewise.
29460         * modules/getopt (Makefile.am): Likewise.
29461         * modules/getpagesize (Makefile.am): Likewise.
29462         * modules/getpass-gnu (Makefile.am): Likewise.
29463         * modules/getpass (Makefile.am): Likewise.
29464         * modules/getsubopt (Makefile.am): Likewise.
29465         * modules/gettime (Makefile.am): Likewise.
29466         * modules/gettimeofday (Makefile.am): Likewise.
29467         * modules/getugroups (Makefile.am): Likewise.
29468         * modules/getusershell (Makefile.am): Likewise.
29469         * modules/glob (Makefile.am): Likewise.
29470         * modules/group-member (Makefile.am): Likewise.
29471         * modules/hard-locale (Makefile.am): Likewise.
29472         * modules/hash (Makefile.am): Likewise.
29473         * modules/hmac-md5 (Makefile.am): Likewise.
29474         * modules/hmac-sha1 (Makefile.am): Likewise.
29475         * modules/human (Makefile.am): Likewise.
29476         * modules/idcache (Makefile.am): Likewise.
29477         * modules/imaxabs (Makefile.am): Likewise.
29478         * modules/imaxdiv (Makefile.am): Likewise.
29479         * modules/inet_ntop (Makefile.am): Likewise.
29480         * modules/inet_pton (Makefile.am): Likewise.
29481         * modules/intprops (Makefile.am): Likewise.
29482         * modules/inttostr (Makefile.am): Likewise.
29483         * modules/inttypes (Makefile.am): Likewise.
29484         * modules/isapipe (Makefile.am): Likewise.
29485         * modules/javaversion (Makefile.am): Likewise.
29486         * modules/lchmod (Makefile.am): Likewise.
29487         * modules/lchown (Makefile.am): Likewise.
29488         * modules/localcharset (Makefile.am): Likewise.
29489         * modules/long-options (Makefile.am): Likewise.
29490         * modules/lstat (Makefile.am): Likewise.
29491         * modules/malloc (Makefile.am): Likewise.
29492         * modules/mathl (Makefile.am): Likewise.
29493         * modules/mbchar (Makefile.am): Likewise.
29494         * modules/md2 (Makefile.am): Likewise.
29495         * modules/md4 (Makefile.am): Likewise.
29496         * modules/md5 (Makefile.am): Likewise.
29497         * modules/memcasecmp (Makefile.am): Likewise.
29498         * modules/memchr (Makefile.am): Likewise.
29499         * modules/memcmp (Makefile.am): Likewise.
29500         * modules/memcoll (Makefile.am): Likewise.
29501         * modules/memcpy (Makefile.am): Likewise.
29502         * modules/memmem (Makefile.am): Likewise.
29503         * modules/memmove (Makefile.am): Likewise.
29504         * modules/mempcpy (Makefile.am): Likewise.
29505         * modules/memrchr (Makefile.am): Likewise.
29506         * modules/memset (Makefile.am): Likewise.
29507         * modules/memxor (Makefile.am): Likewise.
29508         * modules/mkancesdirs (Makefile.am): Likewise.
29509         * modules/mkdir-p (Makefile.am): Likewise.
29510         * modules/mkdir (Makefile.am): Likewise.
29511         * modules/mkdtemp (Makefile.am): Likewise.
29512         * modules/mkstemp (Makefile.am): Likewise.
29513         * modules/mktime (Makefile.am): Likewise.
29514         * modules/modechange (Makefile.am): Likewise.
29515         * modules/mountlist (Makefile.am): Likewise.
29516         * modules/nanosleep (Makefile.am): Likewise.
29517         * modules/obstack (Makefile.am): Likewise.
29518         * modules/openat (Makefile.am): Likewise.
29519         * modules/pagealign_alloc (Makefile.am): Likewise.
29520         * modules/pathmax (Makefile.am): Likewise.
29521         * modules/physmem (Makefile.am): Likewise.
29522         * modules/poll (Makefile.am): Likewise.
29523         * modules/posixtm (Makefile.am): Likewise.
29524         * modules/posixver (Makefile.am): Likewise.
29525         * modules/putenv (Makefile.am): Likewise.
29526         * modules/quote (Makefile.am): Likewise.
29527         * modules/quotearg (Makefile.am): Likewise.
29528         * modules/raise (Makefile.am): Likewise.
29529         * modules/read-file (Makefile.am): Likewise.
29530         * modules/readline (Makefile.am): Likewise.
29531         * modules/readlink (Makefile.am): Likewise.
29532         * modules/readtokens (Makefile.am): Likewise.
29533         * modules/readutmp (Makefile.am): Likewise.
29534         * modules/realloc (Makefile.am): Likewise.
29535         * modules/regex (Makefile.am): Likewise.
29536         * modules/rename-dest-slash (Makefile.am): Likewise.
29537         * modules/rename (Makefile.am): Likewise.
29538         * modules/rijndael (Makefile.am): Likewise.
29539         * modules/rmdir (Makefile.am): Likewise.
29540         * modules/rpmatch (Makefile.am): Likewise.
29541         * modules/safe-read (Makefile.am): Likewise.
29542         * modules/safe-write (Makefile.am): Likewise.
29543         * modules/same-inode (Makefile.am): Likewise.
29544         * modules/same (Makefile.am): Likewise.
29545         * modules/save-cwd (Makefile.am): Likewise.
29546         * modules/savedir (Makefile.am): Likewise.
29547         * modules/setenv (Makefile.am): Likewise.
29548         * modules/settime (Makefile.am): Likewise.
29549         * modules/sha1 (Makefile.am): Likewise.
29550         * modules/sig2str (Makefile.am): Likewise.
29551         * modules/snprintf (Makefile.am): Likewise.
29552         * modules/stat-macros (Makefile.am): Likewise.
29553         * modules/stat-time (Makefile.am): Likewise.
29554         * modules/stdbool (Makefile.am): Likewise.
29555         * modules/stdint (Makefile.am): Likewise.
29556         * modules/stdlib-safer (Makefile.am): Likewise.
29557         * modules/stpcpy (Makefile.am): Likewise.
29558         * modules/stpncpy (Makefile.am): Likewise.
29559         * modules/strcase (Makefile.am): Likewise.
29560         * modules/strcasestr (Makefile.am): Likewise.
29561         * modules/strchrnul (Makefile.am): Likewise.
29562         * modules/strcspn (Makefile.am): Likewise.
29563         * modules/strdup (Makefile.am): Likewise.
29564         * modules/strerror (Makefile.am): Likewise.
29565         * modules/strftime (Makefile.am): Likewise.
29566         * modules/strndup (Makefile.am): Likewise.
29567         * modules/strnlen (Makefile.am): Likewise.
29568         * modules/strpbrk (Makefile.am): Likewise.
29569         * modules/strsep (Makefile.am): Likewise.
29570         * modules/strstr (Makefile.am): Likewise.
29571         * modules/strtod (Makefile.am): Likewise.
29572         * modules/strtoimax (Makefile.am): Likewise.
29573         * modules/strtok_r (Makefile.am): Likewise.
29574         * modules/strtol (Makefile.am): Likewise.
29575         * modules/strtoll (Makefile.am): Likewise.
29576         * modules/strtoul (Makefile.am): Likewise.
29577         * modules/strtoull (Makefile.am): Likewise.
29578         * modules/strtoumax (Makefile.am): Likewise.
29579         * modules/strverscmp (Makefile.am): Likewise.
29580         * modules/sys_socket (Makefile.am): Likewise.
29581         * modules/sys_stat (Makefile.am): Likewise.
29582         * modules/sysexits (Makefile.am): Likewise.
29583         * modules/time_r (Makefile.am): Likewise.
29584         * modules/timegm (Makefile.am): Likewise.
29585         * modules/timespec (Makefile.am): Likewise.
29586         * modules/tmpfile-safer (Makefile.am): Likewise.
29587         * modules/trim (Makefile.am): Likewise.
29588         * modules/unistd-safer (Makefile.am): Likewise.
29589         * modules/unlinkdir (Makefile.am): Likewise.
29590         * modules/unlocked-io (Makefile.am): Likewise.
29591         * modules/userspec (Makefile.am): Likewise.
29592         * modules/utime (Makefile.am): Likewise.
29593         * modules/utimecmp (Makefile.am): Likewise.
29594         * modules/utimens (Makefile.am): Likewise.
29595         * modules/vasnprintf (Makefile.am): Likewise.
29596         * modules/vasprintf (Makefile.am): Likewise.
29597         * modules/vsnprintf (Makefile.am): Likewise.
29598         * modules/xalloc (Makefile.am): Likewise.
29599         * modules/xgetcwd (Makefile.am): Likewise.
29600         * modules/xnanosleep (Makefile.am): Likewise.
29601         * modules/xreadlink (Makefile.am): Likewise.
29602         * modules/xstrtod (Makefile.am): Likewise.
29603         * modules/xstrtol (Makefile.am): Likewise.
29604         * modules/xstrtold (Makefile.am): Likewise.
29605         * modules/yesno (Makefile.am): Likewise.
29606         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
29607
29608 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
29609
29610         * modules/error (Makefile.am): Distribute files through
29611         EXTRA_DIST, not lib_SOURCES.
29612
29613 2006-10-12  Eric Blake  <ebb9@byu.net>
29614
29615         * modules/error (Makefile.am): Distribute files in /lib.
29616         * modules/obstack (Makefile.am): Likewise.
29617
29618 2006-10-12  Bruno Haible  <bruno@clisp.org>
29619
29620         * modules/acl (Makefile.am): Distribute all files in lib/ through
29621         EXTRA_DIST.
29622         * modules/arcfour (Makefile.am): Likewise.
29623         * modules/arctwo (Makefile.am): Likewise.
29624         * modules/argmatch (Makefile.am): Likewise.
29625         * modules/argz (Makefile.am): Likewise.
29626         * modules/atexit (Makefile.am): Likewise.
29627         * modules/backupfile (Makefile.am): Likewise.
29628         * modules/c-strtod (Makefile.am): Likewise.
29629         * modules/c-strtold (Makefile.am): Likewise.
29630         * modules/calloc (Makefile.am): Likewise.
29631         * modules/canon-host (Makefile.am): Likewise.
29632         * modules/canonicalize (Makefile.am): Likewise.
29633         * modules/chdir-long (Makefile.am): Likewise.
29634         * modules/chdir-safer (Makefile.am): Likewise.
29635         * modules/check-version (Makefile.am): Likewise.
29636         * modules/chown (Makefile.am): Likewise.
29637         * modules/cloexec (Makefile.am): Likewise.
29638         * modules/close-stream (Makefile.am): Likewise.
29639         * modules/closeout (Makefile.am): Likewise.
29640         * modules/crc (Makefile.am): Likewise.
29641         * modules/cycle-check (Makefile.am): Likewise.
29642         * modules/des (Makefile.am): Likewise.
29643         * modules/dirfd (Makefile.am): Likewise.
29644         * modules/dirname (Makefile.am): Likewise.
29645         * modules/dup2 (Makefile.am): Likewise.
29646         * modules/euidaccess (Makefile.am): Likewise.
29647         * modules/exclude (Makefile.am): Likewise.
29648         * modules/exitfail (Makefile.am): Likewise.
29649         * modules/fcntl-safer (Makefile.am): Likewise.
29650         * modules/file-type (Makefile.am): Likewise.
29651         * modules/fileblocks (Makefile.am): Likewise.
29652         * modules/filemode (Makefile.am): Likewise.
29653         * modules/filenamecat (Makefile.am): Likewise.
29654         * modules/fnmatch (Makefile.am): Likewise.
29655         * modules/fopen-safer (Makefile.am): Likewise.
29656         * modules/fpending (Makefile.am): Likewise.
29657         * modules/fprintftime (Makefile.am): Likewise.
29658         * modules/free (Makefile.am): Likewise.
29659         * modules/fsusage (Makefile.am): Likewise.
29660         * modules/ftruncate (Makefile.am): Likewise.
29661         * modules/fts (Makefile.am): Likewise.
29662         * modules/gc (Makefile.am): Likewise.
29663         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
29664         * modules/getaddrinfo (Makefile.am): Likewise.
29665         * modules/getcwd (Makefile.am): Likewise.
29666         * modules/getdelim (Makefile.am): Likewise.
29667         * modules/getdomainname (Makefile.am): Likewise.
29668         * modules/getgroups (Makefile.am): Likewise.
29669         * modules/gethostname (Makefile.am): Likewise.
29670         * modules/gethrxtime (Makefile.am): Likewise.
29671         * modules/getline (Makefile.am): Likewise.
29672         * modules/getloadavg (Makefile.am): Likewise.
29673         * modules/getlogin_r (Makefile.am): Likewise.
29674         * modules/getopt (Makefile.am): Likewise.
29675         * modules/getpass (Makefile.am): Likewise.
29676         * modules/getpass-gnu (Makefile.am): Likewise.
29677         * modules/getsubopt (Makefile.am): Likewise.
29678         * modules/gettime (Makefile.am): Likewise.
29679         * modules/gettimeofday (Makefile.am): Likewise.
29680         * modules/getugroups (Makefile.am): Likewise.
29681         * modules/getusershell (Makefile.am): Likewise.
29682         * modules/glob (Makefile.am): Likewise.
29683         * modules/group-member (Makefile.am): Likewise.
29684         * modules/hard-locale (Makefile.am): Likewise.
29685         * modules/hash (Makefile.am): Likewise.
29686         * modules/hmac-md5 (Makefile.am): Likewise.
29687         * modules/hmac-sha1 (Makefile.am): Likewise.
29688         * modules/human (Makefile.am): Likewise.
29689         * modules/idcache (Makefile.am): Likewise.
29690         * modules/imaxabs (Makefile.am): Likewise.
29691         * modules/imaxdiv (Makefile.am): Likewise.
29692         * modules/inet_ntop (Makefile.am): Likewise.
29693         * modules/inet_pton (Makefile.am): Likewise.
29694         * modules/inttostr (Makefile.am): Likewise.
29695         * modules/isapipe (Makefile.am): Likewise.
29696         * modules/lchown (Makefile.am): Likewise.
29697         * modules/long-options (Makefile.am): Likewise.
29698         * modules/lstat (Makefile.am): Likewise.
29699         * modules/malloc (Makefile.am): Likewise.
29700         * modules/mathl (Makefile.am): Likewise.
29701         * modules/mbchar (Makefile.am): Likewise.
29702         * modules/md2 (Makefile.am): Likewise.
29703         * modules/md4 (Makefile.am): Likewise.
29704         * modules/md5 (Makefile.am): Likewise.
29705         * modules/memcasecmp (Makefile.am): Likewise.
29706         * modules/memchr (Makefile.am): Likewise.
29707         * modules/memcmp (Makefile.am): Likewise.
29708         * modules/memcoll (Makefile.am): Likewise.
29709         * modules/memcpy (Makefile.am): Likewise.
29710         * modules/memmem (Makefile.am): Likewise.
29711         * modules/memmove (Makefile.am): Likewise.
29712         * modules/mempcpy (Makefile.am): Likewise.
29713         * modules/memrchr (Makefile.am): Likewise.
29714         * modules/memset (Makefile.am): Likewise.
29715         * modules/memxor (Makefile.am): Likewise.
29716         * modules/mkancesdirs (Makefile.am): Likewise.
29717         * modules/mkdir (Makefile.am): Likewise.
29718         * modules/mkdir-p (Makefile.am): Likewise.
29719         * modules/mkdtemp (Makefile.am): Likewise.
29720         * modules/mkstemp (Makefile.am): Likewise.
29721         * modules/mktime (Makefile.am): Likewise.
29722         * modules/modechange (Makefile.am): Likewise.
29723         * modules/mountlist (Makefile.am): Likewise.
29724         * modules/nanosleep (Makefile.am): Likewise.
29725         * modules/openat (Makefile.am): Likewise.
29726         * modules/pagealign_alloc (Makefile.am): Likewise.
29727         * modules/physmem (Makefile.am): Likewise.
29728         * modules/poll (Makefile.am): Likewise.
29729         * modules/posixtm (Makefile.am): Likewise.
29730         * modules/posixver (Makefile.am): Likewise.
29731         * modules/putenv (Makefile.am): Likewise.
29732         * modules/quote (Makefile.am): Likewise.
29733         * modules/quotearg (Makefile.am): Likewise.
29734         * modules/raise (Makefile.am): Likewise.
29735         * modules/read-file (Makefile.am): Likewise.
29736         * modules/readline (Makefile.am): Likewise.
29737         * modules/readlink (Makefile.am): Likewise.
29738         * modules/readtokens (Makefile.am): Likewise.
29739         * modules/readutmp (Makefile.am): Likewise.
29740         * modules/realloc (Makefile.am): Likewise.
29741         * modules/regex (Makefile.am): Likewise.
29742         * modules/rename (Makefile.am): Likewise.
29743         * modules/rename-dest-slash (Makefile.am): Likewise.
29744         * modules/rijndael (Makefile.am): Likewise.
29745         * modules/rmdir (Makefile.am): Likewise.
29746         * modules/rpmatch (Makefile.am): Likewise.
29747         * modules/safe-read (Makefile.am): Likewise.
29748         * modules/safe-write (Makefile.am): Likewise.
29749         * modules/same (Makefile.am): Likewise.
29750         * modules/save-cwd (Makefile.am): Likewise.
29751         * modules/savedir (Makefile.am): Likewise.
29752         * modules/setenv (Makefile.am): Likewise.
29753         * modules/settime (Makefile.am): Likewise.
29754         * modules/sha1 (Makefile.am): Likewise.
29755         * modules/sig2str (Makefile.am): Likewise.
29756         * modules/snprintf (Makefile.am): Likewise.
29757         * modules/stdlib-safer (Makefile.am): Likewise.
29758         * modules/stpcpy (Makefile.am): Likewise.
29759         * modules/stpncpy (Makefile.am): Likewise.
29760         * modules/strcase (Makefile.am): Likewise.
29761         * modules/strcasestr (Makefile.am): Likewise.
29762         * modules/strchrnul (Makefile.am): Likewise.
29763         * modules/strcspn (Makefile.am): Likewise.
29764         * modules/strdup (Makefile.am): Likewise.
29765         * modules/strerror (Makefile.am): Likewise.
29766         * modules/strftime (Makefile.am): Likewise.
29767         * modules/strndup (Makefile.am): Likewise.
29768         * modules/strnlen (Makefile.am): Likewise.
29769         * modules/strpbrk (Makefile.am): Likewise.
29770         * modules/strsep (Makefile.am): Likewise.
29771         * modules/strstr (Makefile.am): Likewise.
29772         * modules/strtod (Makefile.am): Likewise.
29773         * modules/strtoimax (Makefile.am): Likewise.
29774         * modules/strtok_r (Makefile.am): Likewise.
29775         * modules/strtol (Makefile.am): Likewise.
29776         * modules/strtoll (Makefile.am): Likewise.
29777         * modules/strtoul (Makefile.am): Likewise.
29778         * modules/strtoull (Makefile.am): Likewise.
29779         * modules/strtoumax (Makefile.am): Likewise.
29780         * modules/strverscmp (Makefile.am): Likewise.
29781         * modules/time_r (Makefile.am): Likewise.
29782         * modules/timegm (Makefile.am): Likewise.
29783         * modules/tmpfile-safer (Makefile.am): Likewise.
29784         * modules/unistd-safer (Makefile.am): Likewise.
29785         * modules/unlinkdir (Makefile.am): Likewise.
29786         * modules/userspec (Makefile.am): Likewise.
29787         * modules/utime (Makefile.am): Likewise.
29788         * modules/utimecmp (Makefile.am): Likewise.
29789         * modules/utimens (Makefile.am): Likewise.
29790         * modules/vasnprintf (Makefile.am): Likewise.
29791         * modules/vasprintf (Makefile.am): Likewise.
29792         * modules/vsnprintf (Makefile.am): Likewise.
29793         * modules/xalloc (Makefile.am): Likewise.
29794         * modules/xgetcwd (Makefile.am): Likewise.
29795         * modules/xnanosleep (Makefile.am): Likewise.
29796         * modules/xreadlink (Makefile.am): Likewise.
29797         * modules/xstrtod (Makefile.am): Likewise.
29798         * modules/xstrtol (Makefile.am): Likewise.
29799         * modules/xstrtold (Makefile.am): Likewise.
29800         * modules/yesno (Makefile.am): Likewise.
29801
29802 2006-10-12  Jim Meyering  <jim@meyering.net>
29803
29804         * m4/getloadavg.m4: Revert the change below.
29805
29806         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
29807         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
29808         fail with a symlink, which is what coreutils' ./bootstrap now
29809         creates by default.
29810
29811 2006-10-12  Bruno Haible  <bruno@clisp.org>
29812
29813         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
29814         mingw.
29815         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
29816         MSVC and mingw explicitly.
29817
29818 2006-10-11  Simon Josefsson  <jas@extundo.com>
29819             Bruno Haible  <bruno@clisp.org>
29820
29821         Add support for multiple gnulib-tool invocations in the scope of a
29822         single configure.ac file.
29823         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
29824         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
29825         with the same contents as the _LIBADD variable.
29826         (func_emit_initmacro_start, func_emit_initmacro_end,
29827         func_emit_initmacro_done): New functions.
29828         (func_import, func_create_testdir): Invoke them. Allow the identifiers
29829         gl_LIBOBJS and gl_LTLIBOBJS.
29830
29831 2006-10-11  Bruno Haible  <bruno@clisp.org>
29832
29833         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
29834         (func_create_testdir): Don't create po/Makefile.am, don't invoke
29835         autoreconf. Instead, invoke autopoint explicitly but move back the
29836         *.m4 files from gnulib.
29837
29838 2006-10-11  Bruno Haible  <bruno@clisp.org>
29839
29840         * gnulib-tool (func_usage): Make module names after --create-testdir
29841         optional.
29842         (func_create_testdir): If no module was specified, use nearly all
29843         modules.
29844
29845 2006-10-12  Jim Meyering  <jim@meyering.net>
29846
29847         Big performance improvement for fts-based tools that use FTS_NOSTAT.
29848         Avoid spurious inode-mismatch problems on non-POSIX file systems.
29849         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
29850         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
29851         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
29852         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
29853         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
29854         (fts_set_stat_required): New function.
29855         (fts_open): Defer the calls to fts_stat, if possible or requested.
29856         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
29857         into fts_stat itself.
29858         (fts_read): Perform any required (deferred) fts_stat call.
29859         (fts_build): Likewise, for the directory we're about to open and read.
29860         In the readdir loop, carefully decide whether each entry will require
29861         an eventual call to fts_stat, using dirent.d_type info if available.
29862         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
29863         a command line argument into this function.  Update all callers.
29864         Map a return value of FTS_DOT to FTS_D for a command line argument.
29865         * modules/fts (Depends-on): Add d-type.  Alphabetize.
29866         Thanks to Miklos Szeredi for his tenacity and for the initial
29867         bug report about "find" failing on a FUSE-based file system.
29868
29869         * lib/fts.c (fts_open): Use consistent indentation.
29870
29871 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
29872
29873         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
29874         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
29875         reported by Jim Meyering.  All uses of cache variables renamed
29876         to match Autoconf's.
29877         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
29878         the other one.
29879
29880         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
29881         Fix misspelling in diagnostic.
29882
29883 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29884
29885         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
29886         defined.  Problem reported by Matthew Woehlke.
29887
29888         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
29889         Add support for Tandem NonStop R series.
29890         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
29891         Use new macro.
29892
29893         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
29894         (has_trailing_slash): Omit size arg; all callers changed.
29895         Omit 'inline', since it doesn't help performance and we'd
29896         need to configure it.
29897         Don't count //, ///, etc. as having a trailing slash.
29898         As a side effect, this removes a C99ism reported by Matthew Woehlke.
29899         (rpl_rename_dest_slash): On failure, use rename's errno rather
29900         than (in some cases) an incorrect or junk errno.
29901         Simplify code by removing need to compute length; this does
29902         cause it to make two passes instead of one over the file name,
29903         but it's worth it.
29904
29905         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
29906         change, since Autoconf's version may no longer be appropriate now
29907         that we are using CVS Autoconf's version.  Add support for Tandem.
29908
29909 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29910             Bruno Haible  <bruno@clisp.org>
29911
29912         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
29913         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
29914         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
29915         gl_AC_TYPE_LONG_LONG.
29916
29917         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
29918         instead of HAVE_LONG_LONG.
29919         * lib/printf-args.c (printf_fetchargs): Likewise.
29920         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
29921         * lib/vasnprintf.c (VASNPRINTF): Likewise.
29922         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
29923         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
29924         gl_AC_TYPE_LONG_LONG.
29925
29926 2006-10-11  Bruno Haible  <bruno@clisp.org>
29927
29928         * m4/longlong.m4: Add comments.
29929         * m4/ulonglong.m4: Likewise.
29930
29931 2006-10-10  Bruno Haible  <bruno@clisp.org>
29932
29933         Make it possible to #define stpcpy, strdup to aliases.
29934         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
29935         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
29936
29937 2006-10-10  Bruno Haible  <bruno@clisp.org>
29938
29939         Make it possible to #define gcd to an alias.
29940         * lib/gcd.c: Include config.h.
29941
29942 2006-10-10  Bruno Haible  <bruno@clisp.org>
29943
29944         Make it possible to #define c_isascii to an alias.
29945         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
29946         defined. Undefine the macros before defining them, to avoid gcc
29947         warnings.
29948         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
29949         define NO_C_CTYPE_MACROS early.
29950
29951 2006-10-10  Bruno Haible  <bruno@clisp.org>
29952
29953         Make it possible to #define set_program_name to an alias.
29954         * lib/progname.c: Don't undefine set_program_name; instead, undefine
29955         ENABLE_RELOCATABLE early.
29956
29957 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29958
29959         Port to Tandem NSK OSS, which has 64-bit signed int but at most
29960         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
29961         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
29962         More generally, don't assume that 64-bit signed int is available
29963         if unsigned int is, and vice versa.
29964         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
29965         unsigned symbols, not on their signed counterparts.
29966         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
29967         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
29968         (UINT64_C, UINTMAX_C):
29969         Likewise.
29970         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
29971         unsigned counterparts.
29972         (Have_long_long, Unsigned): New macros.
29973         (Int): Renamed from INT.
29974         (strtoimax): Use the new macros.
29975         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
29976         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
29977         * modules/inttypes (inttypes.h): Substitute
29978         HAVE_UNSIGNED_LONG_LONG_INT.
29979         * modules/stdint (stdint.h): Likewise.
29980         (Files): Add m4/ulonglong.m4.
29981
29982 2006-10-10  Bruno Haible  <bruno@clisp.org>
29983
29984         Fix a gcc -Wshadow warning.
29985         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
29986         to 'bucket'.
29987         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
29988         gl_linked_indexof_from_to): Likewise.
29989         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
29990         Likewise.
29991         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
29992         Likewise.
29993         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
29994         Reported by Eric Blake.
29995
29996 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
29997
29998         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
29999         for NetBSD.  Problem reported by Bruno Haible.
30000
30001 2006-10-09  Jim Meyering  <jim@meyering.net>
30002
30003         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
30004         Patch from Bruno Haible.
30005
30006 2006-10-09  Jim Meyering  <jim@meyering.net>
30007
30008         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
30009         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
30010         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
30011
30012 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
30013
30014         Don't include <config.h> twice; this doesn't work in some cases,
30015         e.g., when config.h has "#define intmax_t long long int" and
30016         we include <config.h>, <inttypes.h>, <config.h> in that order.
30017         Problem reported by Matthew Woehlke in:
30018         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
30019         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
30020         * lib/fts-cycle.c: Don't include config.h.
30021         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
30022         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
30023         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
30024         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
30025         inttypes.h.
30026         * lib/xstrtoumax.c: Likewise.
30027         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
30028         __strtol and the like, so that this module is more like its siblings.
30029         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
30030         Remove; no longer needed now that we assume gnulib inttypes.h.
30031
30032 2006-10-08  Bruno Haible  <bruno@clisp.org>
30033
30034         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
30035         option.
30036
30037 2006-10-07  Jim Meyering  <jim@meyering.net>
30038
30039         * modules/inttypes (inttypes.h): Revert what seems to have been
30040         an inadvertent part of today's change: use "|", not "/" in the
30041         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
30042
30043 2006-10-07  Bruno Haible  <bruno@clisp.org>
30044
30045         * modules/sublist: New file.
30046
30047 2006-10-07  Bruno Haible  <bruno@clisp.org>
30048
30049         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
30050         * modules/argz (argz.h): Likewise.
30051         * modules/arpa_inet (arpa/inet.h): Likewise.
30052         * modules/byteswap (byteswap.h): Likewise.
30053         * modules/configmake (configmake.h): Likewise.
30054         * modules/fcntl (fcntl.h): Likewise.
30055         * modules/fnmatch (fnmatch.h): Likewise.
30056         * modules/getopt (getopt.h): Likewise.
30057         * modules/glob (glob.h): Likewise.
30058         * modules/inttypes (inttypes.h): Likewise.
30059         * modules/netinet_in (netinet/in.h): Likewise.
30060         * modules/poll (poll.h): Likewise.
30061         * modules/stdbool (stdbool.h): Likewise.
30062         * modules/stdint (stdint.h): Likewise.
30063         * modules/sys_select (sys/select.h): Likewise.
30064         * modules/sys_socket (sys/socket.h): Likewise.
30065         * modules/sys_stat (sys/stat.h): Likewise.
30066         * modules/sysexits (sysexits.h): Likewise.
30067         * modules/unistd (unistd.h): Likewise.
30068         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30069         Add a "DO NOT EDIT" comment to the generated file.
30070         (func_import): Likewise for gnulib-comp.m4.
30071
30072 2006-10-07  Bruno Haible  <bruno@clisp.org>
30073
30074         * lib/gl_sublist.h: New file.
30075         * lib/gl_sublist.c: New file.
30076
30077 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
30078
30079         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
30080         name (relative to the original working directory) and the file
30081         name component (relative to the temporary working directory).  All
30082         callers changed.
30083         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
30084         * lib/mkdir-p.c (make_dir_parents): Likewise.
30085         * lib/mkdir-p.h (make_dir_parents): Likewise.
30086
30087 2006-10-06  Eric Blake  <ebb9@byu.net>
30088
30089         Define several macros for use by the clean-temp module.
30090         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
30091         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
30092         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
30093
30094         * lib/clean-temp.h (close_stream_temp): New declaration.
30095         * lib/clean-temp.c (includes): Pull in headers according to what
30096         other modules are in use.
30097         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
30098
30099 2006-10-06  Bruno Haible  <bruno@clisp.org>
30100
30101         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
30102         instead of fopen, fwriteerror.
30103
30104 2006-10-06  Bruno Haible  <bruno@clisp.org>
30105
30106         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
30107         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
30108         int.
30109         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
30110         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
30111         Return an error indicator.
30112         Suggested by Eric Blake.
30113
30114 2006-10-06  Bruno Haible  <bruno@clisp.org>
30115
30116         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
30117         Reported by Eric Blake.
30118
30119 2006-10-06  Bruno Haible  <bruno@clisp.org>
30120
30121         * modules/closeout (Description): Mention stderr too.
30122
30123 2006-10-06  Bruno Haible  <bruno@clisp.org>
30124         and Paul Eggert  <eggert@cs.ucla.edu>
30125
30126         * lib/closeout.c (close_stdout): Also close stderr.
30127         * lib/closeout.h: Update comment.
30128
30129 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
30130
30131         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
30132         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
30133         * lib/dirchownmod.c: Include lchown.h.
30134         * lib/lchown.c: Don't include files that lchown.h now includes.
30135         Don't declare chown, since lchown.h now does that.
30136         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
30137         (lchown): Define to rpl_chown if lchown is declared but
30138         does not exist.  Declare using a prototype if lchown is not
30139         declared.  Add a copyright notice.
30140         * lib/mkstemp.h: Include <unistd.h>.
30141         * lib/openat.c: Include lchown.h.
30142
30143         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
30144         we now test for that separately.
30145         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
30146         rather than O_NOFOLLOW, when testing whether it's possible to
30147         avoid a race condition reliably.
30148         * lib/savewd.c (savewd_chdir): Likewise.
30149
30150         Remove macros that are no longer needed now that stdint.h is
30151         reliable.
30152         * lib/fsusage.c (UINTMAX_MAX): Remove.
30153         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
30154         * lib/utimecmp.c (SIZE_MAX): Remove.
30155
30156         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
30157
30158         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
30159         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
30160         O_NOATIME works.
30161
30162 2006-10-05  Bruno Haible  <bruno@clisp.org>
30163
30164         * lib/gl_list.h (gl_sortedlist_search_from_to,
30165         gl_sortedlist_indexof_from_to): New declarations.
30166         (gl_list_implementation): New fields sortedlist_search_from_to,
30167         sortedlist_indexof_from_to.
30168         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
30169         inline functions.
30170         * lib/gl_list.c (gl_sortedlist_search_from_to,
30171         gl_sortedlist_indexof_from_to): New functions.
30172         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
30173         function.
30174         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
30175         (gl_array_sortedlist_search_from_to): New function.
30176         (gl_array_list_implementation): Update.
30177         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
30178         function.
30179         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
30180         (gl_carray_sortedlist_search_from_to): New function.
30181         (gl_carray_list_implementation): Update.
30182         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
30183         gl_linked_sortedlist_indexof_from_to): New functions.
30184         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
30185         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
30186         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
30187         gl_tree_sortedlist_indexof_from_to): New functions.
30188         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
30189         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
30190         Update.
30191         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
30192         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
30193         Update.
30194
30195 2006-10-05  Bruno Haible  <bruno@clisp.org>
30196
30197         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
30198         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
30199         (struct gl_list_implementation): Add fields search_from_to,
30200         indexof_from_to. Remove fields search, indexof.
30201         (gl_list_search): Use the search_from_to method.
30202         (gl_list_search_from, gl_list_search_from_to): New functions.
30203         (gl_list_indexof): Use the indexof_from_to method.
30204         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
30205         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
30206         (gl_list_search_from, gl_list_search_from_to): New functions.
30207         (gl_list_indexof): Use the indexof_from_to method.
30208         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
30209         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
30210         gl_array_indexof. Add start_index, end_index arguments.
30211         (gl_array_search_from_to): Renamed from gl_array_search. Add
30212         start_index, end_index arguments.
30213         (gl_array_remove, gl_array_list_implementation): Update.
30214         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
30215         gl_carray_indexof. Add start_index, end_index arguments.
30216         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
30217         start_index, end_index arguments.
30218         (gl_carray_remove, gl_carray_list_implementation): Update.
30219         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
30220         gl_linked_search. Add start_index, end_index arguments.
30221         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
30222         start_index, end_index arguments.
30223         (gl_linked_remove): Update.
30224         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
30225         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
30226         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
30227         field to 'size_t'.
30228         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
30229         gl_tree_search. Add start_index, end_index arguments.
30230         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
30231         start_index, end_index arguments.
30232         (gl_tree_remove): Update.
30233         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
30234         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
30235         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
30236         function.
30237         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
30238         gl_tree_search. Add start_index, end_index arguments.
30239         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
30240         start_index, end_index arguments.
30241         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
30242         Update.
30243         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
30244
30245 2006-10-05  Bruno Haible  <bruno@clisp.org>
30246
30247         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
30248
30249         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
30250         fwriteerror_temp): New declarations.
30251         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
30252         (descriptors): New variable.
30253         (cleanup): First, close the descriptors.
30254         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
30255         fclose_temp, fwriteerror_temp): New functions.
30256
30257 2006-10-04  Jim Meyering  <jim@meyering.net>
30258
30259         * lib/fts.c (fts_open): Tiny comment change.
30260
30261 2006-10-04  Bruno Haible  <bruno@clisp.org>
30262
30263         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
30264         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
30265         gl_LOCK_BODY.
30266         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
30267         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
30268         gl_LOCK_EARLY_BODY.
30269         (gl_LOCK): Require gl_LOCK_BODY.
30270
30271 2006-10-04  Bruno Haible  <bruno@clisp.org>
30272
30273         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
30274         (gl_oset_search_atleast): New declaration.
30275         (struct gl_oset_implementation): Add field 'search_atleast'.
30276         (gl_oset_search_atleast): New inline function.
30277         * lib/gl_oset.c (gl_oset_search_atleast): New function.
30278         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
30279         (gl_array_oset_implementation): Update.
30280         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
30281         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
30282         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
30283
30284 2006-10-04  Bruno Haible  <bruno@clisp.org>
30285
30286         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
30287
30288 2006-10-03  Bruno Haible  <bruno@clisp.org>
30289
30290         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
30291         from gl_avltreehash_list_implementation.
30292
30293 2006-10-03  Bruno Haible  <bruno@clisp.org>
30294
30295         * lib/gl_oset.c (gl_oset_add): Fix return type.
30296
30297 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
30298
30299         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
30300
30301 2006-10-02  Eric Blake  <ebb9@byu.net>
30302
30303         * modules/strnlen (Depends-on): Add extensions.
30304
30305 2006-10-02  Eric Blake  <ebb9@byu.net>
30306
30307         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
30308         definition in 2.60+.
30309
30310 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
30311
30312         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
30313         checks.
30314
30315 2006-10-02  Bruno Haible  <bruno@clisp.org>
30316
30317         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
30318         to the AUTOMAKE_OPTIONS.
30319         Reported by Jim Meyering.
30320
30321 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
30322
30323         Work around bug in Solaris 10 /proc file system:
30324         /proc/self/fd/NNN/.. isn't the parent directory of
30325         the directory whose file descriptor is NNN.  This needs to
30326         be worked around at run time, not compile time, since a
30327         program might be built on Solaris 8, where things work, and
30328         run on Solaris 10.
30329         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
30330         to use the following interface instead:
30331         (OPENAT_BUFFER_SIZE): New macro.
30332         (openat_proc_name): New function.
30333         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
30334         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
30335         Likewise.
30336         * lib/openat-proc.c: New file.
30337         * modules/openat (Files): Add lib/openat-proc.c.
30338         (Depends-on): Add same-inode, stdbool.
30339         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
30340
30341 2006-09-29  Bruno Haible  <bruno@clisp.org>
30342
30343         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
30344         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
30345         argument. Set stdout_closed before testing for ferror, not after.
30346         (fwriteerror, fwriteerror_no_ebadf): New functions.
30347
30348 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30349
30350         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
30351
30352 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
30353
30354         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
30355         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
30356
30357 2006-09-28  Jim Meyering  <jim@meyering.net>
30358
30359         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
30360         Include <unistd.h>.
30361
30362 2006-09-28  Bruno Haible  <bruno@clisp.org>
30363
30364         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
30365         * modules/linkedhash-list (Depends-on): Likewise.
30366         * modules/rbtreehash-list (Depends-on): Likewise.
30367
30368 2006-09-28  Bruno Haible  <bruno@clisp.org>
30369
30370         * lib/strndup.h: Simplify the redefinition of strndup.
30371         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
30372         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
30373
30374 2006-09-28  Bruno Haible  <bruno@clisp.org>
30375
30376         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
30377         * lib/gl_linkedhash_list.c: Likewise.
30378         * lib/gl_rbtreehash_list.c: Likewise.
30379
30380 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
30381
30382         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
30383         getaddrinfo.
30384
30385         * lib/__fpending.h: Don't include <stdio_ext.h> unless
30386         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
30387         it causes <stdio_ext.h> to cause a compile-time error.
30388         Problem reported by Nelson H. F. Beebe.
30389         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
30390         of HAVE_DECL___PENDING.
30391
30392         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
30393         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
30394         declaration.
30395
30396 2006-09-27  Jim Meyering  <jim@meyering.net>
30397
30398         This file could end up with a definition for a function
30399         named __strndup, rather than rpl_strndup on a system with
30400         incomplete weak_alias support.
30401         * lib/strndup.c (strndup): Rename from __strndup.
30402         Remove #defines that used to map __strndup to strndup.
30403         Don't use K&R prototypes.
30404         Remove LIBC-related code, since this file is not sync'd with glibc.
30405         * lib/strndup.h: Revamp, accordingly.
30406         * m4/strndup.m4: Modernize.
30407
30408 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30409
30410         * modules/savewd (Depends-on): Add 'raise'.
30411         * lib/savewd.c: Include <signal.h>, for 'raise'.
30412
30413 2006-09-26  Jim Meyering  <jim@meyering.net>
30414
30415         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
30416         when we detect Darwin 8.7.0's acl_get_file bug.
30417         Rearrange to perform the new (below) run-test while $LIBS
30418         contains any acl-related library.  Set USE_ACL at the end.
30419         (gl_ACL_GET_FILE): New function.
30420
30421 2006-09-26  Eric Blake  <ebb9@byu.net>
30422
30423         * lib/verror.c: Include <config.h> unconditionally.
30424
30425 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30426
30427         * modules/clock-time (Maintainer): Add self.
30428         * modules/getlogin_r (Depends-on): Add extensions.
30429
30430 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30431
30432         * modules/clock-time: New module.
30433         * modules/nanosleep (Depends-on): Add clock-time.
30434         * modules/gethrxtime (Depends-on): Likewise.
30435         * modules/gettime (Depends-on): Likewise.
30436         * modules/settime (Depends-on): Likewise.
30437
30438         * modules/fts-lgpl: Depend on openat.
30439         * modules/mkancesdirs: Depend on savewd.
30440         * modules/mkdir-p: Likewise.
30441
30442 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30443
30444         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
30445
30446         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
30447         `gl_have_arbitrary_file_name_length_limit' to
30448         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
30449         actually works between configure runs.
30450
30451 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30452             Bruno Haible  <bruno@clisp.org>
30453
30454         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
30455
30456 2006-09-25  Jim Meyering  <jim@meyering.net>
30457
30458         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
30459         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
30460
30461 2006-09-25  Eric Blake  <ebb9@byu.net>
30462
30463         * gnulib-tool (func_import, func_create_testdir): Fix typos in
30464         exec's in 2006-09-18 patch when shuffling fds.
30465
30466 2006-09-25  Bruno Haible  <bruno@clisp.org>
30467
30468         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
30469         Reported by Jim Meyering.
30470
30471 2006-09-24  Jim Meyering  <jim@meyering.net>
30472
30473         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
30474         compare a pointer against a literal "0".  That caused failures with
30475         at least HP-UX's hpcc.
30476
30477 2006-09-22  Simon Josefsson  <jas@extundo.com>
30478
30479         * modules/gc-sha1:
30480         * modules/gc-md4:
30481         * modules/gc-hmac-sha1:
30482         * modules/gc-hmac-md5:
30483         * modules/gc-des:
30484         * modules/gc-arcfour: Distribute more files.
30485
30486 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30487
30488         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
30489         (gl_linked_iterator_from_to): Initialize struct completely.
30490         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
30491         (gl_tree_iterator_from_to): Likewise
30492         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
30493         * lib/gl_array_list.c [lint] (gl_array_iterator)
30494         (gl_array_iterator_from_to): Likewise.
30495         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
30496         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
30497         (gl_carray_iterator_from_to): Likewise.
30498
30499         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
30500         * lib/md4.c (md4_process_block): Remove unused variable.
30501         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
30502         parentheses for clarity.
30503
30504 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30505
30506         * modules/bison-i18n (Depends-on): Add gettext.
30507
30508 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30509
30510         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
30511         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
30512         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
30513         also add missing comma that caused broken test.
30514         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
30515         stdlib.h, for `abort'.
30516         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
30517         variables.
30518         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
30519         include unistd.h if present, for `rmdir'.
30520         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
30521         variables.
30522         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
30523         in the process include standard headers for prototypes.
30524         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
30525         gets declared on GNU/Linux.
30526         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
30527         unistd.h, for `rmdir'.
30528         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
30529
30530         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
30531         always true.
30532         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
30533
30534         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
30535
30536 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30537
30538         * gnulib-tool (func_version): Create output all at once.  This
30539         may help avoid triggering unnecessary SIGPIPEs, and at any
30540         rate it doesn't hurt.
30541
30542 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30543             Bruno Haible  <bruno@clisp.org>
30544
30545         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
30546         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30547         * m4/signed.m4 (bh_C_SIGNED): Likewise.
30548
30549         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
30550         (gl_FUNC_VASPRINTF): Invoke it.
30551
30552 2006-09-22  Bruno Haible  <bruno@clisp.org>
30553
30554         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
30555         getloadavg.c as first argument.
30556
30557 2006-09-22  Bruno Haible  <bruno@clisp.org>
30558
30559         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
30560         at the beginning of the gl_INIT macro.
30561         * modules/getloadavg (configure.ac): Pass $gl_source_base to
30562         gl_GETLOADAVG.
30563
30564 2006-09-22  Bruno Haible  <bruno@clisp.org>
30565
30566         * gnulib-tool (func_create_megatestdir): Don't include the config-h
30567         module.
30568         Suggested by Ralf Wildenhues.
30569
30570 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
30571
30572         Import this patch from libc:
30573
30574         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
30575
30576         * lib/regex_internal.c (re_string_reconstruct): Handle
30577         offset < pstr->valid_raw_len && pstr->offsets_needed case.
30578         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
30579         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
30580         re_string_context_at.
30581
30582         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
30583         now requires it.
30584         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
30585         gl_REGEX now does it for us.
30586         (gl_REGEX): Add test taken from
30587         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
30588
30589         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
30590         Check that large offsets work.  Modernize Autoconf usages.
30591         Prefer "yes" to mean a good thing rather than a bad.
30592         Don't put "#define mkstemp" in config.h, as this might interfere
30593         with standard system headers that "#define mkstemp mkstemp64".
30594
30595         * modules/mkstemp (Depends-on): Add extensions, so that
30596         mkstemp is visible on some platforms.
30597         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
30598         (Include): Change to "mkstemp.h" from <stdlib.h>.
30599         (Files): Add mkstemp.h.
30600
30601         * lib/mkstemp.h: New file, since some standard headers
30602         #define mkstemp.
30603         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
30604         Include "mkstemp.h".
30605         Make the _LIBC code resemble glibc original more,
30606         e.g., use K&R style.
30607         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
30608         (mkstemp): Remove, since mkstemp.h does this for us.
30609         * lib/stdlib--.h: Include mkstemp.h.
30610
30611         Import this patch from libc:
30612
30613         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
30614
30615         * lib/tempname.c (__gen_tempname): Change attempts_min
30616         into a macro.  Use preprocessor to decide how to initialize
30617         attempts [Coverity CID 67].
30618
30619 2006-09-20  Bruno Haible  <bruno@clisp.org>
30620
30621         * lib/mkdtemp.c: Import from libc.
30622         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
30623                 * sysdeps/posix/tempname.c (__gen_tempname): Change
30624                 attempts_min into a macro.  Use preprocessor to decide how to
30625                 initialize attempts [Coverity CID 67].
30626         2001-11-27  Paul Eggert  <eggert@twinsun.com>
30627                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
30628                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
30629
30630 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30631
30632         * gnulib-tool (func_exit): New function, to allow to pass the
30633         exit status portably through the trap.  Use everywhere.
30634         (--help, --version): Signal a write error.
30635         (trap): catch SIGPIPE, for write errors.
30636         Exit at the end of the trap, with the correct exit status.
30637
30638 2006-09-19  Karl Berry  <karl@gnu.org>
30639
30640         * doc/gnulib.texi: note about the license texinfo files.
30641
30642 2006-09-19  Eric Blake  <ebb9@byu.net>
30643
30644         * gnulib-tool: Avoid space-tab.
30645
30646 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
30647
30648         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
30649         that prevented coreutils 6.1 from building.  Problem reported
30650         by Petter Reinholdtsen.
30651
30652 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
30653
30654         * gnulib-tool (avoidlist): Fix typo that broke options like
30655         --avoid=lock that are used by coreutils bootstrap.
30656
30657 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
30658
30659         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
30660         more systematically.
30661
30662 2006-09-18  Jim Meyering  <jim@meyering.net>
30663
30664         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
30665
30666 2006-09-18  Bruno Haible  <bruno@clisp.org>
30667
30668         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
30669
30670 2006-09-18  Bruno Haible  <bruno@clisp.org>
30671
30672         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
30673         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
30674         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
30675         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
30676         * m4/gettext.m4: Require autoconf >= 2.52.
30677         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
30678         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
30679         of gl_cv_header_inttypes_h.
30680
30681 2006-09-18  Bruno Haible  <bruno@clisp.org>
30682
30683         * lib/javaversion.c: Include configmake.h.
30684
30685 2006-09-18  Bruno Haible  <bruno@clisp.org>
30686
30687         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
30688         avoid that the while loops be executed in a subshell.
30689
30690 2006-09-18  Bruno Haible  <bruno@clisp.org>
30691
30692         * MODULES.html.sh (func_module): Break long lines.
30693         Suggested by Bruce Korb <bkorb@gnu.org>.
30694
30695 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30696
30697         Speed up by a factor of 1.12.
30698         * gnulib-tool (nl): New variable.
30699         (func_import): Rewrite include directive extraction to only read each
30700         directive once.
30701
30702 2006-09-17  Bruno Haible  <bruno@clisp.org>
30703
30704         * modules/javaversion (Makefile.am): Remove DEFS setting.
30705         (Depends-on): Add configmake, for PKGDATADIR definition.
30706
30707 2006-09-17  Bruno Haible  <bruno@clisp.org>
30708
30709         * gnulib-tool (func_create_testdir): Rewrite all files at once.
30710
30711 2006-09-17  Bruno Haible  <bruno@clisp.org>
30712
30713         * gnulib-tool (func_append): New function, stolen from libtool.m4.
30714         (func_modules_transitive_closure, func_modules_add_dummy,
30715         func_modules_to_filelist, func_import, func_create_testdir,
30716         func_create_megatestdir, ...): Use it wherever possible.
30717         Suggested by Ralf Wildenhues.
30718
30719 2006-09-16  Karl Berry  <karl@gnu.org>
30720
30721         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
30722         to avoid sectioning errors.
30723         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
30724         [ifinfo]: blank line after @center-ed titles.
30725         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
30726         Spell FSF address consistently with others.
30727         (These changes approved by rms.)
30728
30729 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30730
30731         Speed up by a factor of 1.61.
30732         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
30733         already checked module names again.
30734
30735 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30736
30737         Speed up by a factor of 1.13.
30738         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
30739         for new_files, and the input to func_add_or_update.
30740
30741 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30742
30743         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
30744         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
30745
30746 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
30747
30748         * modules/mkancesdirs (Depends-on): Add fcntl.
30749         * modules/savewd: New file.
30750         * MODULES.html.sh (File system functions): Add savewd.
30751
30752         * modules/configmake (Makefile.am): Add support for the
30753         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
30754
30755 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
30756
30757         * m4/savewd.m4: New file.
30758
30759 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
30760
30761         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
30762         (dirchownmod): New arg FD.  All callers changed.
30763         Use FD rather than opening the directory ourself, as opening is
30764         now the caller's responsibility.
30765         * lib/dirchownmod.h: Likewise.
30766         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
30767         hosts that require <sys/types.h> before <sys/stat.h>.  Include
30768         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
30769         (test_dir): Remove.
30770         (mkancesdirs): Return length of prefix of FILE that has already
30771         been made, or -2 if there is a child doing the work.  Redo
30772         algorithm so that it is O(N) rather than O(N**2).  Optimize away
30773         ".", and treat ".." specially since it might stray back into
30774         already-created areas.  Use a subprocess if necessary.  New arg
30775         WD; all users changed.  MAKE_DIR function should now return 1
30776         if it creates a directory that is not readable.  Return -2 if
30777         a child process is spun off.
30778         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
30779         Adjust signature to match code.
30780         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
30781         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
30782         all users changed.
30783         * lib/savewd.c, lib/savewd.h: New files.
30784
30785 2006-09-15  Jim Meyering  <jim@meyering.net>
30786
30787         * modules/rename-dest-slash: New module.
30788         * MODULES.html.sh (posix_compat): Add it here.
30789
30790         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
30791
30792 2006-09-15  Jim Meyering  <jim@meyering.net>
30793
30794         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
30795         file.
30796
30797         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
30798
30799 2006-09-15  Jim Meyering  <jim@meyering.net>
30800
30801         * lib/rename-dest-slash.c (has_trailing_slash): Use
30802         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
30803         (rpl_rename_dest_slash): Perform the cheaper trailing slash
30804         test before testing whether SRC is a directory.
30805         Suggestions from Bruno Haible.
30806
30807         Avoid a warning about an unused variable.
30808         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
30809         into the #ifdef block where it's used.
30810
30811         * lib/rename-dest-slash.c: New file.
30812
30813 2006-09-14  Bruno Haible  <bruno@clisp.org>
30814
30815         * lib/allocsa.c: Include <config.h> unconditionally.
30816         * lib/asnprintf.c: Likewise.
30817         * lib/asprintf.c: Likewise.
30818         * lib/c-strcasecmp.c: Likewise.
30819         * lib/c-strcasestr.c: Likewise.
30820         * lib/c-strncasecmp.c: Likewise.
30821         * lib/c-strstr.c: Likewise.
30822         * lib/classpath.c: Likewise.
30823         * lib/clean-temp.c: Likewise.
30824         * lib/concatpath.c: Likewise.
30825         * lib/copy-file.c: Likewise.
30826         * lib/csharpcomp.c: Likewise.
30827         * lib/csharpexec.c: Likewise.
30828         * lib/execute.c: Likewise.
30829         * lib/fatal-signal.c: Likewise.
30830         * lib/findprog.c: Likewise.
30831         * lib/fwriteerror.c: Likewise.
30832         * lib/gl_array_list.c: Likewise.
30833         * lib/gl_array_oset.c: Likewise.
30834         * lib/gl_avltree_list.c: Likewise.
30835         * lib/gl_avltree_oset.c: Likewise.
30836         * lib/gl_avltreehash_list.c: Likewise.
30837         * lib/gl_carray_list.c: Likewise.
30838         * lib/gl_linked_list.c: Likewise.
30839         * lib/gl_linkedhash_list.c: Likewise.
30840         * lib/gl_list.c: Likewise.
30841         * lib/gl_oset.c: Likewise.
30842         * lib/gl_rbtree_list.c: Likewise.
30843         * lib/gl_rbtree_oset.c: Likewise.
30844         * lib/gl_rbtreehash_list.c: Likewise.
30845         * lib/imaxabs.c: Likewise.
30846         * lib/imaxdiv.c: Likewise.
30847         * lib/javacomp.c: Likewise.
30848         * lib/javaexec.c: Likewise.
30849         * lib/javaversion.c: Likewise.
30850         * lib/linebreak.c: Likewise.
30851         * lib/localcharset.c: Likewise.
30852         * lib/lock.c: Likewise.
30853         * lib/mbchar.c: Likewise.
30854         * lib/mbswidth.c: Likewise.
30855         * lib/mkdtemp.c: Likewise.
30856         * lib/pipe.c: Likewise.
30857         * lib/printf-args.c: Likewise.
30858         * lib/printf-parse.c: Likewise.
30859         * lib/progname.c: Likewise.
30860         * lib/progreloc.c: Likewise.
30861         * lib/readlink.c: Likewise.
30862         * lib/sh-quote.c: Likewise.
30863         * lib/stpcpy.c: Likewise.
30864         * lib/stpncpy.c: Likewise.
30865         * lib/strcasecmp.c: Likewise.
30866         * lib/strcasestr.c: Likewise.
30867         * lib/strcspn.c: Likewise.
30868         * lib/striconv.c: Likewise.
30869         * lib/strncasecmp.c: Likewise.
30870         * lib/strnlen1.c: Likewise.
30871         * lib/strstr.c: Likewise.
30872         * lib/strtok_r.c: Likewise.
30873         * lib/tls.c: Likewise.
30874         * lib/tmpdir.c: Likewise.
30875         * lib/unicodeio.c: Likewise.
30876         * lib/unsetenv.c: Likewise.
30877         * lib/vasnprintf.c: Likewise.
30878         * lib/vasprintf.c: Likewise.
30879         * lib/wait-process.c: Likewise.
30880         * lib/xallocsa.c: Likewise.
30881         * lib/xsetenv.c: Likewise.
30882         * lib/xstriconv.c: Likewise.
30883
30884 2006-09-13  Simon Josefsson  <jas@extundo.com>
30885
30886         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
30887         that internally, suggested by Ralf Wildenhues
30888         <Ralf.Wildenhues@gmx.de>.
30889
30890 2006-09-13  Simon Josefsson  <jas@extundo.com>
30891
30892         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
30893         @LIBOBJS@.
30894         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30895
30896 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30897
30898         * lib/_fpending.c: Include <config.h> unconditionally, since we no
30899         longer worry about uses that don't define HAVE_CONFIG_H.
30900         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
30901         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
30902         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
30903         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
30904         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
30905         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
30906         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
30907         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
30908         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
30909         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
30910         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
30911         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
30912         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
30913         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
30914         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
30915         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
30916         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
30917         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
30918         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
30919         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
30920         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
30921         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
30922         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
30923         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
30924         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
30925         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
30926         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
30927         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
30928         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
30929         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
30930         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
30931         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
30932         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
30933         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
30934         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
30935         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
30936         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
30937         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
30938         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
30939         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
30940         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
30941         Likewise.
30942
30943 2006-09-13  Eric Blake  <ebb9@byu.net>
30944
30945         * lib/getopt.c: Fix typo in last commit.
30946
30947 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30948
30949         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
30950         dgettext.
30951
30952 2006-09-12  Jim Meyering  <jim@meyering.net>
30953
30954         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
30955         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
30956         Reported by Nelson H. F. Beebe.
30957
30958 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
30959
30960         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
30961         program_invocation_name and program_invocation_short_name are
30962         initialized.
30963         * lib/argp-namefrob.h: Move declarations of program_invocation_name
30964         and program_invocation_short_name to argp.h, so they are visible
30965         to user programs.
30966         * lib/argp.h: Likewise
30967
30968 2006-09-10  Bruno Haible  <bruno@clisp.org>
30969
30970         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
30971         m4/inttypes_h.m4, m4/uintmax_t.m4.
30972
30973 2006-09-10  Bruno Haible  <bruno@clisp.org>
30974
30975         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
30976         gl_AC_TYPE_UINTMAX_T.
30977
30978 2006-09-10  Bruno Haible  <bruno@clisp.org>
30979
30980         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
30981
30982 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
30983
30984         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
30985         convention.  Text proposed by Bruno Haible.
30986         (struct argp_option): Document the use of N_() wrappers.
30987
30988         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
30989         '\v', and translate the two parts separately, instead of feeding
30990         the whole string to gettext.  This allows to exclude
30991         '\v' from the strings visible to the translator by writing doc
30992         strings as N_("..") "\v" N_("..").
30993
30994 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
30995
30996         * config/srclist.txt: Undo latest change; the bug was fixed.
30997
30998 2006-09-09  Bruno Haible  <bruno@clisp.org>
30999
31000         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
31001         assignments if building a library without libtool.
31002         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
31003         in func_emit_lib_Makefile_am.
31004         (func_import): When building a static library libfoo.a, arrange to
31005         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
31006         (func_create_testdir): Likewise.
31007         * modules/gc (configure.ac, Makefile.am): If building statically,
31008         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
31009         * modules/iconvme (configure.ac, Makefile.am): Likewise.
31010         * modules/striconv (configure.ac, Makefile.am): Likewise.
31011         Based on a suggestion by Ralf Wildenhues.
31012
31013 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
31014
31015         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
31016         Check for unistd.h too, since Autoconf doesn't assume POSIX.
31017         Also:
31018
31019         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
31020         Add year_2050_test to catch glibc bug 2821
31021         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
31022
31023         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
31024         Prefer #ifdef to #if.
31025
31026         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
31027         Return from 'main' instead of calling 'exit'.
31028
31029 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
31030
31031         * lib/mktime.c (guess_time_tm): Fix bug where mktime
31032         returned the maximum time_t value rather than (time_t) -1.
31033         Problem originally reported by William Bardwell
31034         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
31035
31036         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
31037         Moved to here ...
31038         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
31039         ... from here.
31040
31041 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
31042
31043         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
31044         2821 is fixed.
31045
31046 2006-09-08  Jim Meyering  <jim@meyering.net>
31047
31048         Don't make generated files read-only.  That would bother too many
31049         people.  However, do retain the ability to work when targets are
31050         read-only: remove the destination and temporary files before writing
31051         them (when generated via sed or echo), or by using the -f option for
31052         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
31053         * modules/alloca-opt, modules/argz, modules/arpa_inet:
31054         * modules/byteswap, modules/configmake, modules/fcntl:
31055         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
31056         * modules/localcharset, modules/netinet_in, modules/poll:
31057         * modules/stdbool, modules/stdint, modules/sys_select:
31058         * modules/sys_socket, modules/sys_stat, modules/sysexits:
31059
31060 2006-09-08  Jim Meyering  <jim@meyering.net>
31061
31062         Avoid new build failure on FreeBSD 6.0.
31063         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
31064         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
31065         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
31066
31067 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31068
31069         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
31070
31071 2006-09-07  Jim Meyering  <jim@meyering.net>
31072
31073         Fix global typo in last change: use chmod u-w, not chmod u-x.
31074         Spotted by Paul Eggert and Bruce Korb.
31075         * modules/alloca-opt, modules/argz, modules/arpa_inet:
31076         * modules/byteswap, modules/configmake, modules/fcntl:
31077         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
31078         * modules/localcharset, modules/netinet_in, modules/poll:
31079         * modules/stdbool, modules/stdint, modules/sys_select:
31080         * modules/sys_socket, modules/sys_stat, modules/sysexits:
31081
31082 2006-09-06  Jim Meyering  <jim@meyering.net>
31083
31084         Make generated files be read-only.
31085         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
31086         Ensure that each generated file is now read-only.
31087         * modules/argz: Likewise.
31088         * modules/arpa_inet: Likewise.
31089         * modules/byteswap: Likewise.
31090         * modules/configmake: Likewise.
31091         * modules/fcntl: Likewise.
31092         * modules/fnmatch: Likewise.
31093         * modules/getopt: Likewise.
31094         * modules/glob: Likewise.
31095         * modules/inttypes: Likewise.
31096         * modules/netinet_in: Likewise.
31097         * modules/poll: Likewise.
31098         * modules/stdbool: Likewise.
31099         * modules/stdint: Likewise.
31100         * modules/sys_select: Likewise.
31101         * modules/sys_socket: Likewise.
31102         * modules/sys_stat: Likewise.
31103         * modules/sysexits: Likewise.
31104         * modules/localcharset: Same as above, but continue using temporary
31105         file named "t-$@" (why different?) rather than the "$@-t" used
31106         everywhere else.
31107
31108         * modules/sysexits (Makefile.am): Replace literal occurrences
31109         of "sysexit.h" more readable, and more consistent, "$@".
31110
31111 2006-09-06  Bruno Haible  <bruno@clisp.org>
31112
31113         * modules/striconv: New file.
31114         * modules/xstriconv: New file.
31115         * MODULES.html.sh (Internationalization functions): Add striconv,
31116         xstriconv.
31117
31118 2006-09-06  Bruno Haible  <bruno@clisp.org>
31119
31120         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
31121         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
31122         not using libtool correctly.
31123
31124 2006-09-06  Bruno Haible  <bruno@clisp.org>
31125
31126         * lib/striconv.h: New file.
31127         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
31128         iconvstring.c.
31129         * lib/xstriconv.h: New file.
31130         * lib/xstriconv.c: New file.
31131
31132 2006-09-06  Bruno Haible  <bruno@clisp.org>
31133
31134         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
31135         lib_..._LDFLAGS.
31136
31137 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31138
31139         * lib/argz_.h: Sync from Libtool.
31140
31141         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
31142                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31143
31144         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
31145
31146 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
31147
31148         * modules/trim: New file.
31149
31150 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
31151
31152         * lib/trim.h: New file.
31153         * lib/trim.c: New file.
31154
31155 2006-09-05  Bruno Haible  <bruno@clisp.org>
31156
31157         * MODULES.html.sh (String handling): Add trim.
31158
31159 2006-09-04  Karl Berry  <karl@gnu.org>
31160
31161         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
31162         until next release.
31163
31164 2006-09-03  Bruno Haible  <bruno@clisp.org>
31165
31166         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
31167         correctly.
31168
31169 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
31170
31171         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
31172         not gl_GETLOADAVG.  Omit unneeded semicolons.
31173         Problems reported by Ralf Wildenhues in
31174         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
31175         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
31176         at the end, which is the usual gnulib style.
31177
31178         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
31179         of doing all the work ourselves.
31180         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
31181         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
31182
31183 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
31184
31185         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
31186         Problem reported by Ralf Wildenhues in
31187         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
31188
31189         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
31190         HAVE_STRUCT_STATFS_F_FSTYPENAME.
31191
31192 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
31193
31194         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
31195         yesterday's patch by changing test -n to test -z.
31196
31197 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
31198
31199         * modules/getloadavg (Files): Add m4/getloadavg.m4.
31200         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
31201         the former is now obsolescent.
31202
31203         * modules/chdir-long (Depends-on): Add fcntl.
31204
31205 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
31206
31207         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
31208         obsolescent, and programs should use gnulib instead.
31209         * m4/getloadavg.m4: New file, with contents taken from Autoconf
31210         but with prefixes changed.
31211
31212 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
31213
31214         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
31215         or stdbool.h, because they might not exist while configuring.
31216
31217         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
31218         Don't include unistd.h or limits.h; not needed, since chdir-long.h
31219         does that for us.
31220         (O_DIRECTORY): Remove.
31221
31222 2006-08-31  Eric Blake  <ebb9@byu.net>
31223
31224         * gnulib-tool: Don't let emacs change spaces to TAB.
31225
31226 2006-08-31  Bruno Haible  <bruno@clisp.org>
31227
31228         * gnulib-tool: When calling func_import more than once, do it in a
31229         subshell.
31230         Reported by Eric Blake <ebb9@byu.net>.
31231
31232 2006-08-31  Bruno Haible  <bruno@clisp.org>
31233
31234         * gnulib-tool (nl): Remove variable.
31235         (sed_transform_lib_file): Use more robust test for config-h module.
31236         (func_import): Fix typo in 2006-08-25 patch.
31237
31238 2006-08-31  Bruno Haible  <bruno@clisp.org>
31239
31240         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
31241         specified, augment Makefile.am variables instead of assigning them.
31242
31243 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
31244
31245         Work around a bug in both the Linux and SunOS 64-bit kernels:
31246         nanosleep mishandles sleeps for longer than 2**31 seconds.
31247         Problem reported by Frank v Waveren in
31248         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
31249         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
31250         Check for nanosleep bug.
31251         (LIB_NANOSLEEP): Append clock_gettime library if needed.
31252
31253 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
31254
31255         Work around a bug in both the Linux and SunOS 64-bit kernels:
31256         nanosleep mishandles sleeps for longer than 2**31 seconds.
31257         Problem reported by Frank v Waveren in
31258         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
31259         * lib/nanosleep.c (BILLION): New constant.
31260         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
31261         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
31262         implementation.
31263
31264 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
31265
31266         * modules/nanosleep (Depends-on): Add gettime.
31267
31268 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
31269         and Simon Josefsson  <jas@extundo.com>
31270         and Oskar Liljeblad  <oskar@osk.mine.nu>
31271
31272         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
31273         * gnulib-tool (func_import): New license type 'unmodifiable license
31274         text'.
31275         * modules/fdl: Use it.  Longer description.
31276         * module/gpl, module/lgpl: New files.
31277
31278 2006-08-30  Jim Meyering  <jim@meyering.net>
31279
31280         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
31281         shadowing the parameter.
31282
31283 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31284
31285         Sync from Libtool:
31286
31287         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31288
31289         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
31290         sharing with gnulib.  Report by Eric Blake.
31291
31292 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
31293
31294         * modules/isapipe: New file.
31295         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
31296
31297 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
31298
31299         * modules/configmake (Makefile.am): Add a comment, and omit
31300         the CONFIGMAKE_ prefix from generated macro names.  Suggested
31301         by Bruno Haible.
31302
31303 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
31304
31305         * m4/isapipe.m4: New file.
31306
31307 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
31308
31309         * lib/isapipe.c, lib/isapipe.h: New files.
31310
31311 2006-08-29  Jim Meyering  <jim@meyering.net>
31312
31313         * modules/configmake (Makefile.am): Make configmake.h depend on
31314         Makefile.  Otherwise, a stale configmake.h could hang around.
31315
31316 2006-08-29  Eric Blake  <ebb9@byu.net>
31317
31318         * lib/error.c (error_at_line, print_errno_message): Match libc, after
31319         resolution of upstream bug 3044.
31320
31321 2006-08-29  Bruno Haible  <bruno@clisp.org>
31322
31323         * modules/localcharset (Depends-on): Add configmake.
31324         (Makefile.am): Remove setting of LIBDIR through DEFS.
31325
31326 2006-08-29  Bruno Haible  <bruno@clisp.org>
31327
31328         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
31329         defined.
31330
31331 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
31332
31333         * modules/fcntl: New file.
31334         * modules/chdir-safer (Depends-on): Add fcntl.
31335         * modules/fts: Likewise.
31336         * modules/mkdir-p: Likewise.
31337
31338         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
31339         This undoes the most recent change, since we're now addressing the
31340         problem in a different way.
31341
31342         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
31343         into output, since the output might be called Makefile.am even
31344         if $makefile_name is something different.
31345         (func_import): Use $makefile_am rather than
31346         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
31347         empty.
31348
31349         * modules/inttypes (Files): Add m4/inttypes-h.m4.
31350
31351 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
31352
31353         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
31354         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
31355         recent change to stdint.m4, since we're now addressing the problem in a
31356         different way.
31357
31358 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
31359
31360         * m4/fcntl_h.m4: New file.
31361
31362 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
31363
31364         * lib/fcntl_.h: New file.
31365         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
31366         the fcntl module.
31367         * lib/dirchownmod.c: Likewise.
31368         * lib/fts.c: Likewise.
31369
31370         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
31371         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
31372         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
31373         just before including <inttypes.h>, to avoid circular inclusion.
31374
31375 2006-08-28  Jim Meyering  <jim@meyering.net>
31376
31377         * doc/visibility.texi: Actually read and correct the grammar of the
31378         sentence affected by yesterday's change.
31379
31380 2006-08-28  Eric Blake  <ebb9@byu.net>
31381
31382         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
31383         needs wrapper.
31384
31385 2006-08-28  Eric Blake  <ebb9@byu.net>
31386
31387         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
31388
31389 2006-08-28  Eric Blake  <ebb9@byu.net>
31390
31391         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
31392
31393 2006-08-28  Bruno Haible  <bruno@clisp.org>
31394
31395         * modules/c-strstr: New file, from GNU gettext.
31396         * MODULES.html.sh (String handling): Add c-strstr.
31397
31398 2006-08-28  Bruno Haible  <bruno@clisp.org>
31399
31400         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
31401         macros.
31402         Reported by Eric Blake.
31403
31404 2006-08-28  Bruno Haible  <bruno@clisp.org>
31405
31406         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
31407         (VASNPRINTF): Return a string of length > INT_MAX without failing.
31408         * lib/vasprintf.c: Include errno.h, limits.h.
31409         (EOVERFLOW): New fallback definition.
31410         (vasprintf): Test here whether the string length is > INT_MAX.
31411         * lib/vsnprintf.c: Include errno.h, limits.h.
31412         (EOVERFLOW): New fallback definition.
31413         (vsnprintf): Fix bug when generated string was too long for the buffer.
31414         Test here whether the string length is > INT_MAX.
31415
31416 2006-08-28  Bruno Haible  <bruno@clisp.org>
31417
31418         * lib/inttypes_.h (SCNX*): Remove definitions.
31419         Reported by Eric Blake.
31420
31421 2006-08-28  Bruno Haible  <bruno@clisp.org>
31422
31423         * lib/c-strstr.h: New file, from GNU gettext.
31424         * lib/c-strstr.c: New file, from GNU gettext.
31425
31426 2006-08-28  Bruno Haible  <bruno@clisp.org>
31427
31428         * gnulib-tool: Reorder some statements.
31429
31430 2006-08-28  Bruno Haible  <bruno@clisp.org>
31431
31432         * gnulib-tool: New option --makefile-name.
31433         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
31434         $makefile_name.
31435         (func_import): Write $makefile_name to the cache file, and read it from
31436         there unless explicitly specified. Use $makefile_name as file name
31437         instead of Makefile.am. Adjust the recommendations accordingly.
31438
31439 2006-08-28  Bruno Haible  <bruno@clisp.org>
31440
31441         * gnulib-tool (func_verify_module): Check against misapplying patch.
31442
31443 2006-08-28  Bruno Haible  <bruno@clisp.org>
31444
31445         * gnulib-tool (func_relativize, func_relconcat): New functions.
31446         Give an error if --local-dir is given with --update.
31447         Remove trailing slashes from $local_gnulib_dir.
31448         (func_import): Store the relativized $local_gnulib_dir in
31449         gnulib-cache.m4, and read it from there if not specified explicitly.
31450
31451 2006-08-28  Bruno Haible  <bruno@clisp.org>
31452
31453         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
31454         is the current directory. Respect also $local_gnulib_dir.
31455
31456 2006-08-28  Bruno Haible  <bruno@clisp.org>
31457             Simon Josefsson  <jas@extundo.com>
31458
31459         BeOS portability.
31460         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
31461
31462 2006-08-27  Jim Meyering  <jim@meyering.net>
31463
31464         * doc/visibility.texi: Remove duplicate word: "pointer".
31465
31466 2006-08-26  Bruno Haible  <bruno@clisp.org>
31467
31468         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
31469         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
31470         (Makefile.am): Create inttypes.h from inttypes_.h.
31471         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
31472
31473         * modules/imaxabs: New file.
31474
31475         * modules/imaxdiv: New file.
31476
31477 2006-08-26  Bruno Haible  <bruno@clisp.org>
31478
31479         * m4/inttypes.m4: New file.
31480         * m4/_inttypes_h.m4: Remove file.
31481         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
31482         PRI_MACROS_BROKEN.
31483         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
31484
31485         * m4/imaxabs.m4: New file.
31486
31487         * m4/imaxdiv.m4: New file.
31488
31489 2006-08-26  Bruno Haible  <bruno@clisp.org>
31490
31491         * lib/inttypes_.h: New file.
31492         * lib/inttypes.h: Remove file.
31493         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
31494
31495         * lib/imaxabs.c: New file.
31496
31497         * lib/imaxdiv.c: New file.
31498
31499 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
31500
31501         New config-h module, so that "make" output needn't be cluttered
31502         by -DHAVE_CONFIG_H.
31503         * MODULES.html.sh (Support for building libraries and executables):
31504         Add config-h.
31505         * modules/config-h: New file.
31506         * gnulib-tool (nl, sed_transform_lib_file): New vars.
31507         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
31508         the config-h module is used.
31509
31510         New configmake module, so that "make" output needn't be cluttered
31511         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
31512         * MODULES.html.sh (Support for building libraries and executables):
31513         Add configmake.
31514         * modules/configmake: New file.
31515
31516 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
31517
31518         * m4/config-h.m4: New file.
31519
31520 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31521
31522         * config/srclist.txt: Add elisp-comp.
31523
31524 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31525
31526         * MODULES.html.sh (Support for building libraries and executables):
31527         Add elisp-comp.
31528         * build-aux/elisp-comp: New file.
31529         * modules/elisp-comp: New file.
31530
31531 2006-08-24  Bruno Haible  <bruno@clisp.org>
31532
31533         * gnulib-tool (func_create_testdir): Use non-default values of
31534         sourcebase and m4base.
31535
31536 2006-08-24  Bruno Haible  <bruno@clisp.org>
31537
31538         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
31539         HTML structure.
31540
31541 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
31542
31543         * modules/openat (Depends-on): Add lchown.
31544
31545 2006-08-23  Bruno Haible  <bruno@clisp.org>
31546
31547         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
31548         of gl_LOCK_EARLY instead of gl_LOCK.
31549
31550 2006-08-23  Bruno Haible  <bruno@clisp.org>
31551
31552         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
31553         on OSF/1 to no.
31554         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
31555
31556 2006-08-23  Bruno Haible  <bruno@clisp.org>
31557
31558         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
31559         as unusable.
31560
31561         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
31562         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
31563         (gl_LOCK): New macro.
31564
31565 2006-08-22  Simon Josefsson  <jas@extundo.com>
31566
31567         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
31568         to md5 module.
31569
31570 2006-08-22  Simon Josefsson  <jas@extundo.com>
31571
31572         * MODULES.html.sh: Add "Support for maintaining and release
31573         projects".
31574
31575         * build-aux/gnupload: New file, from coreutils.
31576
31577 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
31578
31579         Avoid the need for AC_LIBSOURCES in m4 macros.
31580         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
31581         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
31582         * modules/check-version (EXTRA_DIST): Add check-version.h.
31583         * modules/crc (EXTRA_DIST): Add crc.h.
31584         * modules/des (EXTRA_DIST): Add des.h.
31585         * modules/gc (EXTRA_DIST): Add gc.h.
31586         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
31587         * modules/getline (EXTRA_DIST): Add getline.h.
31588         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
31589         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
31590         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
31591         * modules/md2 (EXTRA_DIST): Add md2.h.
31592         * modules/md4 (EXTRA_DIST): Add md4.h.
31593         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
31594         * modules/read-file (EXTRA_DIST): Add read-file.h.
31595         * modules/readline (EXTRA_DIST): Add readline.h.
31596         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
31597         rijndael-api-fst.h.
31598
31599 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
31600
31601         * m4/rijndael.m4 (gl_ARCFOUR):
31602         * m4/arctwo.m4 (gl_ARCTWO):
31603         * m4/check-version.m4 (gl_CHECK_VERSION):
31604         * m4/crc.m4 (gl_CRC):
31605         * m4/des.m4 (gl_DES):
31606         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
31607         * m4/gc.m4 (gl_GC):
31608         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
31609         * m4/getline.m4 (gl_FUNC_GETLINE):
31610         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
31611         * m4/hmac-md5.m4 (gl_HMAC_MD5):
31612         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
31613         * m4/md2.m4 (gl_MD2):
31614         * m4/md4.m4 (gl_MD4):
31615         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
31616         * m4/read-file.m4 (gl_FUNC_READ_FILE):
31617         * m4/readline.m4 (gl_FUNC_READLINE):
31618         * m4/rijndael.m4 (gl_RIJNDAEL):
31619         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
31620         to get the necessary .h files and whatnot.
31621
31622 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
31623
31624         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
31625         gnulib rather than the other way around.
31626         * config/srclistvars.sh (COREUTILS): Remove.
31627
31628 2006-08-22  Jim Meyering  <jim@meyering.net>
31629
31630         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
31631
31632         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
31633
31634 2006-08-22  Eric Blake  <ebb9@byu.net>
31635
31636         * modules/regexprops-generic: New file.
31637         * MODULES.html.sh (Support for building documentation): List it.
31638
31639 2006-08-22  Eric Blake  <ebb9@byu.net>
31640
31641         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
31642         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31643         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
31644         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
31645
31646 2006-08-22  Bruno Haible  <bruno@clisp.org>
31647
31648         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
31649         and lib_LTLIBRARIES like the other lib_* variables.
31650
31651 2006-08-22  Bruno Haible  <bruno@clisp.org>
31652
31653         * build-aux/x-to-1.in: New file, from GNU gettext.
31654
31655 2006-08-22  Bruno Haible  <bruno@clisp.org>
31656
31657         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
31658         <utmpx.h> exists.
31659
31660 2006-08-22  Bruno Haible  <bruno@clisp.org>
31661
31662         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
31663         <utmpx.h> exists.
31664
31665 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
31666
31667         BeOS portability.
31668         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
31669         exist.
31670         Problem reported by Bruno Haible.
31671
31672 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
31673
31674         Avoid the need for AC_LIBSOURCES in m4 macros.
31675         * modules/acl (EXTRA_DIST): Add acl.h.
31676         * modules/argmatch (Files): Add m4/argmatch.m4.
31677         (configure.ac): Add gl_ARGMATCH.
31678         (EXTRA_DIST): Renamed from lib_SOURCES, for
31679         consistency with the other modules.  Remove argmatch.c.
31680         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
31681         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
31682         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
31683         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
31684         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
31685         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
31686         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
31687         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
31688         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
31689         * modules/closeout (EXTRA_DIST): Add closeout.h.
31690         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
31691         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
31692         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
31693         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
31694         dirname.h; remove basename.c and stripslash.c.
31695         * modules/exclude (EXTRA_DIST): Add exclude.h.
31696         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
31697         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
31698         * modules/file-type (EXTRA_DIST): Add file-type.h.
31699         * modules/filemode (EXTRA_DIST): Add filemode.h.
31700         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
31701         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
31702         * modules/fpending (EXTRA_DIST): Add __fpending.h.
31703         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
31704         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
31705         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
31706         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
31707         * modules/getdate (EXTRA_DIST): Add getdate.c.
31708         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
31709         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
31710         * modules/getpass (EXTRA_DIST): Add getpass.h.
31711         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
31712         * modules/group-member (EXTRA_DIST): Add group-member.h.
31713         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
31714         * modules/hash (EXTRA_DIST): Add hash.h.
31715         * modules/human (EXTRA_DIST): Add human.h.
31716         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
31717         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
31718         * modules/lchown (EXTRA_DIST): Add lchown.h.
31719         * modules/long-options (EXTRA_DIST): Add long-options.h.
31720         * modules/lstat (EXTRA_DIST): Add lstat.h.
31721         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
31722         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
31723         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
31724         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
31725         * modules/memxor (EXTRA_DIST): Add memxor.h.
31726         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
31727         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
31728         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
31729         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
31730         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
31731         * modules/physmem (EXTRA_DIST): Add physmem.h.
31732         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
31733         * modules/posixver (EXTRA_DIST): Add posixver.h.
31734         * modules/quote (EXTRA_DIST): Add quote.h.
31735         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
31736         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
31737         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
31738         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
31739         regex_internal.h regexec.c.
31740         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
31741         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
31742         * modules/same (EXTRA_DIST): Add same.h.
31743         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
31744         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
31745         * modules/savedir (EXTRA_DIST): Add savedir.h.
31746         * modules/sha1 (EXTRA_DIST): Add sha1.h.
31747         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
31748         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
31749         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
31750         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
31751         * modules/strdup (EXTRA_DIST): Add strdup.h.
31752         * modules/strftime (EXTRA_DIST): Add strftime.h.
31753         * modules/strndup (EXTRA_DIST): Add strndup.h.
31754         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
31755         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
31756         * modules/time_r (EXTRA_DIST): Add time_r.h.
31757         * modules/timespec (EXTRA_DIST): Add timespec.h.
31758         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
31759         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
31760         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
31761         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
31762         * modules/userspec (EXTRA_DIST): Add userspec.h.
31763         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
31764         * modules/utimens (EXTRA_DIST): Add utimens.h.
31765         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
31766         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
31767         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
31768         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
31769         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
31770         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
31771         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
31772         * modules/yesno (EXTRA_DIST): Add yesno.h.
31773
31774 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
31775
31776         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
31777
31778         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
31779         * m4/dev-ino.m4, same-inode.m4: Remove.
31780
31781         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
31782         * m4/acl.m4 (AC_FUNC_ACL):
31783         * m4/backupfile.m4 (gl_BACKUPFILE):
31784         * m4/c-strtod.m4 (gl_C99_STRTOLD):
31785         * m4/canon-host.m4 (gl_CANON_HOST):
31786         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
31787         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
31788         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
31789         * m4/cloexec.m4 (gl_CLOEXEC):
31790         * m4/close-stream.m4 (gl_CLOSE_STREAM):
31791         * m4/closeout.m4 (gl_CLOSEOUT):
31792         * m4/dirfd.m4 (gl_FUNC_DIRFD):
31793         * m4/dirname.m4 (gl_DIRNAME):
31794         * m4/exclude.m4 (gl_EXCLUDE):
31795         * m4/exitfail.m4 (gl_EXITFAIL):
31796         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
31797         * m4/file-type.m4 (gl_FILE_TYPE):
31798         * m4/filemode.m4 (gl_FILEMODE):
31799         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
31800         * m4/fpending.m4 (gl_FUNC_FPENDING):
31801         * m4/fprintftime.m4 (gl_FPRINTFTIME):
31802         * m4/fts.m4 (gl_FUNC_FTS):
31803         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
31804         * m4/getdate.m4 (gl_GETDATE):
31805         * m4/gethrxtime.m4 (gl_GETHRXTIME):
31806         * m4/getpagesize.m4 (gl_GETPAGESIZE):
31807         * m4/getpass.m4 (gl_FUNC_GETPASS):
31808         * m4/gettime.m4 (gl_GETTIME):
31809         * m4/getugroups.m4 (gl_GETUGROUPS):
31810         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
31811         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
31812         * m4/hard-locale.m4 (gl_HARD_LOCALE):
31813         * m4/hash.m4 (gl_HASH):
31814         * m4/idcache.m4 (gl_IDCACHE):
31815         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
31816         * m4/lchown.m4 (gl_FUNC_LCHOWN):
31817         * m4/long-options.m4 (gl_LONG_OPTIONS):
31818         * m4/lstat.m4 (gl_FUNC_LSTAT):
31819         * m4/md5.m4 (gl_MD5):
31820         * m4/memcasecmp.m4 (gl_MEMCASECMP):
31821         * m4/memcoll.m4 (gl_MEMCOLL):
31822         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
31823         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
31824         * m4/memxor.m4 (gl_MEMXOR):
31825         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
31826         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
31827         * m4/modechange.m4 (gl_MODECHANGE):
31828         * m4/mountlist.m4 (gl_MOUNTLIST):
31829         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
31830         * m4/openat.m4 (gl_FUNC_OPENAT):
31831         * m4/pathmax.m4 (gl_PATHMAX):
31832         * m4/physmem.m4 (gl_PHYSMEM):
31833         * m4/posixtm.m4 (gl_POSIXTM):
31834         * m4/posixver.m4 (gl_POSIXVER):
31835         * m4/quote.m4 (gl_QUOTE):
31836         * m4/quotearg.m4 (gl_QUOTEARG):
31837         * m4/readtokens.m4 (gl_READTOKENS):
31838         * m4/readutmp.m4 (gl_READUTMP):
31839         * m4/regex.m4 (gl_REGEX):
31840         * m4/safe-read.m4 (gl_SAFE_READ):
31841         * m4/safe-write.m4 (gl_SAFE_WRITE):
31842         * m4/same.m4 (gl_SAME):
31843         * m4/save-cwd.m4 (gl_SAVE_CWD):
31844         * m4/savedir.m4 (gl_SAVEDIR):
31845         * m4/settime.m4 (gl_SETTIME):
31846         * m4/sha1.m4 (gl_SHA1):
31847         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
31848         * m4/stat-macros.m4 (gl_STAT_MACROS):
31849         * m4/stat-time.m4 (gl_STAT_TIME):
31850         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
31851         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
31852         * m4/strdup.m4 (gl_FUNC_STRDUP):
31853         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
31854         * m4/strndup.m4 (gl_FUNC_STRNDUP):
31855         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
31856         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
31857         * m4/time_r.m4 (gl_TIME_R):
31858         * m4/timespec.m4 (gl_TIMESPEC):
31859         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
31860         * m4/unlinkdir.m4 (gl_UNLINKDIR):
31861         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
31862         * m4/userspec.m4 (gl_USERSPEC):
31863         * m4/utimecmp.m4 (gl_UTIMECMP):
31864         * m4/utimens.m4 (gl_UTIMENS):
31865         * m4/xalloc.m4 (gl_XALLOC):
31866         * m4/xgetcwd.m4 (gl_XGETCWD):
31867         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
31868         * m4/xreadlink.m4 (gl_XREADLINK):
31869         * m4/xstrtod.m4 (gl_XSTRTOD):
31870         * m4/yesno.m4 (gl_YESNO):
31871         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
31872         to get the necessary .h files and whatnot.
31873
31874 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
31875             Bruno Haible  <bruno@clisp.org>
31876
31877         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
31878         /bin/sh understanding of '!' conditional negation.
31879
31880 2006-08-21  Jim Meyering  <jim@meyering.net>
31881
31882         * modules/openat (Depends-on): Really alphabetize.
31883
31884         * modules/acl (Depends-on): Add error and quote.
31885
31886         * check-module (find_included_lib_files): Add at-func.c to the
31887         ok-to-include-more-than-once white list.
31888
31889         * modules/openat (Depends-on): Add lstat.  Alphabetize.
31890
31891 2006-08-21  Bruno Haible  <bruno@clisp.org>
31892
31893         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31894         Emit a pkgdata_DATA variable only if some snippets add contents to it.
31895         Reported by Martin Lambers <marlam@marlam.de>.
31896
31897 2006-08-21  Bruno Haible  <bruno@clisp.org>
31898
31899         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
31900         specify an installation location, don't emit a noinst_LIBRARIES or
31901         noinst_LTLIBRARIES assignment.
31902
31903 2006-08-21  Bruno Haible  <bruno@clisp.org>
31904
31905         BeOS portability.
31906         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
31907         BeOS has mbrtowc() but no <wctype.h>.
31908
31909 2006-08-21  Bruno Haible  <bruno@clisp.org>
31910
31911         BeOS portability.
31912         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
31913         exist.
31914
31915 2006-08-21  Bruno Haible  <bruno@clisp.org>
31916
31917         BeOS portability.
31918         * lib/mbchar.h: Include <wctype.h> only if it exists.
31919
31920 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
31921
31922         Remove files that are no longer needed by their respective modules.
31923         * m4/obstack.m4: Remove.
31924         * m4/strerror_r.m4: Remove.
31925         * m4/uint32_t.m4: Remove.
31926         * m4/uintptr_t.m4: Remove.
31927         * m4/ullong_max.m4: Remove.
31928         * m4/xstrtoimax.m4: Remove.
31929         * m4/xstrtoumax.m4: Remove.
31930
31931         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
31932         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
31933         dependencies now capture this.
31934
31935         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
31936         Do not use AC_LIBSOURCES, since gnulib modules now do this.
31937         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
31938         * m4/human.m4 (gl_HUMAN): Likewise.
31939         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
31940         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
31941
31942         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
31943
31944         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
31945         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
31946         stdint.
31947         * m4/human.m4 (gl_HUMAN): Likewise.
31948         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
31949         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
31950         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
31951         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
31952         * m4/xstrtol (gl_XSTRTOL): Likewise.
31953
31954         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
31955         AC_TYPE_LONG_LONG_INT.
31956         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
31957         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
31958         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
31959         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
31960
31961         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
31962         on stdbool.
31963
31964         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
31965         (gl_PREREQ_XSTRTOUL): Remove.
31966
31967         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
31968
31969         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
31970         mode.
31971
31972 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
31973
31974         Add and change modules to make it easier for coreutils to use
31975         gnulib-tool.
31976         * modules/backupfile (Files): Remove m4/d-ino.m4.
31977         (Depends-on): Add d-ino.
31978         * modules/cycle-check (Depends-on): Add stdint.
31979         (lib_SOURCES): Add cycle-check.h.
31980         * modules/d-ino: New module.
31981         * modules/d-type: New module.
31982         * modules/error (Files): Remove m4/strerror_r.m4.
31983         * modules/filemode (Files): Add m4/st_dm_mode.m4.
31984         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
31985         m4/inttypes_h.m4, m4/uintmax_t.m4.
31986         (Depends-on): Add stdint.
31987         (lib_SOURCES): Add fsusage.h.
31988         * modules/getcwd (Files): Remove d-ino.m4.
31989         (Depends-on): Add d-ino.
31990         * modules/getndelim2 (Depends-on): Add stdint.
31991         * modules/glob (Files): Remove m4/d-type.m4.
31992         (Depends-on): Add d-type.
31993         * modules/host-os: New module.
31994         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
31995         m4/inttypes_h.m4, m4/uintmax_t.m4.
31996         * Depends-on: Add stdint.
31997         (lib_SOURCES): Add human.h.
31998         * modules/inttostr (Files): Remove m4/intmax_t.m4,
31999         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
32000         m4/uintmax_t.m4, m4/ulonglong.m4.
32001         (Depends-on): Add stdint.
32002         (EXTRA_DIST): Add inttostr.h.
32003         * modules/lchmod: New module.
32004         * modules/link-follow: New module.
32005         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
32006         (Depends-on): Add lchmod.
32007         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
32008         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
32009         (Depends-on): Add stdint.
32010         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
32011         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
32012         (Depends-on): Add stdint.
32013         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
32014         * modules/perl: New module.
32015         * modules/regex (Depends-on): Add stdint.
32016         * modules/rmdir-errno: New module.
32017         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
32018         m4/intmax_t.m4.
32019         (Depends-on): Add stdint.
32020         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
32021         m4/uintmax_t.m4.
32022         (Depends-on): Add stdint.
32023         * modules/unlink-busy: New module.
32024         * modules/utimecmp (Depends-on): Add stdint.
32025         * modules/uptime: New module.
32026         * modules/winsz-ioctl: New module.
32027         * modules/winsz-termios: New module.
32028         * modules/xnanosleep (Depends-on): Add nanosleep.
32029         * modules/ullong_max: Remove.
32030         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
32031         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
32032         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
32033         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
32034         (Depends-on): Add inttypes.
32035         (lib_SOURCES): Add xstrtol.h.
32036         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
32037         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
32038         * MODULES.html.sh: Move 'assert' into the assert section.
32039         Move 'dummy' into the linking section.
32040         Remove ullong_max.
32041         Add section for compatibility checks for POSIX:2001 functions,
32042         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
32043         winsz-ioctl, and winsz-termios into it.
32044         Add lchmod.
32045         Add top-level Misc section and put host-os, perl, and uptime
32046         into it.
32047
32048 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
32049
32050         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
32051         now assume the stdint module.  Do not include inttypes.h.
32052         * lib/fsusage.h: Likewise.
32053         * lib/getndelim2.c: Likewise.
32054         * lib/human.h: Likewise.
32055         * lib/inttostr.h: Likewise.
32056         * lib/obstack.c: Likewise.
32057         * lib/regex_internal.h: Likewise.
32058         * lib/tempname.c: Likewise.
32059         * lib/utimecmp.c: Likewise.
32060         * lib/xstrtol.h: Likewise.
32061
32062         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
32063
32064         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
32065         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
32066         * lib/xtime.h: Likewise.
32067
32068 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
32069
32070         * modules/openat (Files): Add lib/fchmodat.c.
32071         Fixes problem reported by Jay Youngman.
32072
32073 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
32074
32075         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
32076         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
32077
32078 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
32079             Bruno Haible  <bruno@clisp.org>
32080
32081         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
32082         and is a script that invokes bison. Tighten the code. Add comments.
32083
32084 2006-08-18  Jim Meyering  <jim@meyering.net>
32085
32086         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
32087         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
32088         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
32089         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
32090
32091 2006-08-18  Bruno Haible  <bruno@clisp.org>
32092
32093         * modules/bison-i18n: New file.
32094         * MODULES.html.sh (Internationalization functions): Add it.
32095
32096 2006-08-18  Bruno Haible  <bruno@clisp.org>
32097
32098         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
32099         sys/statvfs.h. When getmntinfo was found, check its declaration and
32100         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
32101
32102 2006-08-18  Bruno Haible  <bruno@clisp.org>
32103
32104         * m4/bison-i18n.m4: New file, from bison.
32105
32106 2006-08-18  Bruno Haible  <bruno@clisp.org>
32107
32108         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
32109         (ME_DUMMY): Treat "kernfs" as a dummy.
32110         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
32111
32112 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
32113
32114         Update from coreutils.
32115
32116         2006-08-15  Jim Meyering  <jim@meyering.net>
32117
32118         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
32119
32120         2006-01-17  Jim Meyering  <jim@meyering.net>
32121
32122         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
32123
32124         2006-01-11  Jim Meyering  <jim@meyering.net>
32125
32126         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
32127         Check for the lchmod function.
32128
32129 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
32130
32131         Update from coreutils.
32132
32133         * lib/__fpending.h: Add copyright notice.
32134         * lib/fprintftime.h: Likewise.
32135         * lib/savedir.c: Use (C) in copyright notice.
32136         * lib/savedir.h: Likewise.
32137
32138         2006-08-15  Jim Meyering  <jim@meyering.net>
32139
32140         * lib/at-func.c: New file, with the logic of all emulated at-functions.
32141         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
32142         in support of the EXPECTED_ERRNO macro.
32143         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
32144         definitions.  Instead, define the appropriate symbols and include
32145         "at-func.c".
32146         * lib/mkdirat.c (mkdirat): Likewise.
32147         * lib/fchmodat.c (fchmodat): Likewise.
32148         (ENOSYS): Remove definition.
32149         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
32150         it.  Don't include "unistd--.h" -- it wasn't ever used.
32151
32152         2006-01-17  Jim Meyering  <jim@meyering.net>
32153
32154         Rewrite fts.c not to change the current working directory,
32155         by using openat, fstatat, fdopendir, etc..
32156
32157         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
32158         (HAVE_OPENAT_SUPPORT): Define.
32159         [_LIBC] (fchdir): Don't undef or define; no longer used.
32160         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
32161         Now, this `function' always succeeds, and consumes its file descriptor
32162         parameter -- so callers must not close such FDs.  Update callers.
32163         (diropen_fd, opendirat, cwd_advance_fd): New functions.
32164         (diropen): Add parameter, SP.  Adjust all callers.
32165         Implement using diropen_fd, rather than open.
32166         (fts_open): Initialize new member, fts_cwd_fd.
32167         Remove fts_rft-setting code.
32168         (fts_close): Close fts_cwd_fd, if necessary.
32169         (__opendir2): Define in terms of opendir or opendirat,
32170         depending on whether the FST_NOCHDIR flag is set.
32171         (fts_build): Since fts_safe_changedir consumes its FD, and since
32172         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
32173         and close the dup'd file descriptor upon failure.
32174         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
32175         (fts_safe_changedir): Tweak semantics to reflect that this function
32176         now calls cwd_advance_fd and hence consumes its FD argument.
32177         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
32178         [struct FTS] (fts_rft): Remove now-unused member.
32179         [struct FTS] (fts_cycle.state): Improve comment.
32180
32181         * lib/openat.c (openat_needs_fchdir): New function.
32182         * lib/openat.h (openat_needs_fchdir): Declare it.
32183
32184 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
32185
32186         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
32187         Problem and fix reported by Pádraig Brady in
32188         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
32189
32190 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
32191
32192         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
32193
32194 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
32195
32196         * lib/memcoll.c (memcoll): Optimize for the common case where the
32197         arguments are bytewise equal.
32198
32199 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
32200
32201         * doc/regexprops-generic.texi: Add a copyright notice.
32202
32203 2006-08-15  Bruno Haible  <bruno@clisp.org>
32204
32205         * modules/tmpdir (License): Change to LGPL.
32206
32207 2006-08-15  Bruno Haible  <bruno@clisp.org>
32208
32209         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
32210         module.
32211
32212 2006-08-14  Simon Josefsson  <jas@extundo.com>
32213
32214         * config/srclist.txt: Add gnupload.
32215
32216 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
32217
32218         Change copyright notice from LGPL 2 to GPL 2, since that's the
32219         standard form used in the gnulib repository.
32220         * tests/test-lock.c: Likewise.
32221         * tests/test-stdint.c: Likewise.
32222         * tests/test-tls.c: Likewise.
32223
32224         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
32225         prelude-manager.  User shorter URLs for GNU projects, without '?'.
32226         Add copyright notice.
32227
32228         * check-module: Add copyright notice.  Output a copyright
32229         notice if "--version" is specified.
32230         * modules/COPYING: New file.
32231         * tests/test-getaddrinfo.c: Add copyright notice.
32232         * tests/test-verify.c: Likewise.
32233
32234 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
32235
32236         Change copyright notice from LGPL 2 to GPL 2, since that's the
32237         standard form used in the gnulib repository.
32238         * lib/lock.c: LGPL -> GPL.
32239         * lib/lock.h: Likewise.
32240         * lib/strnlen1.c: Likewise.
32241         * lib/strnlen1.h: Likewise.
32242         * lib/tls.c: Likewise.
32243         * lib/tls.h: Likewise.
32244         * lib/tmpdir.c: Likewise.
32245
32246         * lib/TODO: Remove; this belongs only in coreutils.
32247
32248 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
32249
32250         Add copyright notices to long-enough files that lack them, since
32251         otherwise the files aren't clearly free.  Use the same notice that
32252         getdate.texi already uses.
32253         * doc/alloca-opt.texi: Add copyright notice.
32254         * doc/alloca.texi: Likewise.
32255         * doc/ctime.texi: Likewise.
32256         * doc/functions.texi: Likewise.
32257         * doc/gcd.texi: Likewise.
32258         * doc/gnulib-tool.texi: Likewise.
32259         * doc/inet_ntoa.texi: Likewise.
32260         * doc/visibility.texi: Likewise.
32261
32262         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
32263         * doc/quote.texi: Add copyright notice.
32264
32265         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
32266         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
32267         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
32268         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
32269         is now obsolete, and give a pointer to the Sun list.
32270         Add copyright notice.
32271
32272 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
32273
32274         * config/srclistvars.sh: Add copyright notice.
32275
32276 2006-08-14  Eric Blake  <ebb9@byu.net>
32277
32278         Import the following change from libc:
32279
32280         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
32281
32282         Upstream bug 2997.
32283         * lib/misc/error.c: Add space between program name and message if file
32284         name is missing.
32285
32286 2006-08-12  Karl Berry  <karl@gnu.org>
32287
32288         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
32289         remove, these originate in gnulib now.
32290
32291 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32292
32293         * doc/Makefile (standards.info standards.html standards.dvi):
32294         Also depend on make-stds.texi.
32295
32296 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
32297
32298         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
32299         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
32300
32301         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
32302         in wchar_t.  Problem reported by Eric Blake.
32303
32304         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
32305         LEN is smaller than SIZE.  Suggested by Bruno Haible.
32306         Also, help the compiler to keep LEN in a register.
32307
32308 2006-08-11  Eric Blake  <ebb9@byu.net>
32309
32310         * users.txt: Sort.  Add tar.
32311
32312 2006-08-11  Bruno Haible  <bruno@clisp.org>
32313
32314         * users.txt: New file.
32315
32316 2006-08-11  Bruno Haible  <bruno@clisp.org>
32317
32318         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
32319         before <wchar.h>. Needed for OSF/1 and BSD/OS.
32320
32321 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
32322
32323         * modules/snprintf (Depends-on): Remove minmax.
32324         (Maintainer): Add self and Bruno.
32325
32326 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
32327
32328         * lib/.cppi-disable: Add snprintf.h, socket_.h.
32329         * lib/snprintf.c: Include <errno.h> and <limits.h>.
32330         (EOVERFLOW): Define if the system does not.
32331         Do not include "minmax.h"; it wasn't used.
32332         (snprintf): Don't assume size_t promotes to an unsigned type.
32333         Fix bug when generated string was too long for the buffer: the
32334         buffer's contents are supposed to be the initial prefix of the
32335         output.  Don't assume vasnprintf returns EOVERFLOW if the size
32336         exceeds INT_MAX; do the check ourselves.
32337
32338         Import the following changes from libc:
32339
32340         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
32341
32342         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
32343         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
32344         set wc to the byte which couldn't be converted.
32345         (re_string_reconstruct): Don't clear valid_raw_len before calling
32346         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
32347         tip_context using re_string_context_at.
32348
32349         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
32350
32351         * lib/posix/regex.h: g++ still cannot handled [restrict].
32352
32353         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
32354
32355         * lib/posix/regex.h: Remove special handling for VMS.
32356
32357 2006-08-10  Jim Meyering  <jim@meyering.net>
32358
32359         * modules/same-inode: New module.
32360         * modules/dev-ino: New module.
32361         * modules/cycle-check: Depend on these modules, rather than simply
32362         including their .h files.
32363         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
32364         required via m4/cycle-check.m4.
32365         * modules/same: Depend on new same-inode module, rather than
32366         including same-inode.h.
32367         * modules/chdir-safer: New file.
32368
32369         * modules/chown (Depends-on): Add stat-macros.
32370
32371 2006-08-10  Jim Meyering  <jim@meyering.net>
32372
32373         * m4/cycle-check.m4: New file.
32374         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
32375         * m4/dev-ino.m4, m4/same-inode.m4: New files.
32376
32377 2006-08-10  Eric Blake  <ebb9@byu.net>
32378
32379         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
32380         in from original proposal.
32381
32382 2006-08-10  Eric Blake  <ebb9@byu.net>
32383         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
32384
32385         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
32386         namespace.
32387
32388 2006-08-10  Bruno Haible  <bruno@clisp.org>
32389
32390         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
32391         as well.
32392
32393 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
32394
32395         Sync from coreutils.
32396
32397         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
32398
32399         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
32400         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
32401
32402 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
32403
32404         * modules/restrict: Remove; no longer needed now that we assume
32405         Autoconf 2.59 or later.
32406         * MODULES.html.sh: Remove 'restrict'.
32407         * modules/argp (Depends-on): Remove 'restrict'.
32408         * modules/base64 (Depends-on): Likewise.
32409         * modules/gc (Depends-on): Likewise.
32410         * modules/getaddrinfo (Depends-on): Likewise.
32411         * modules/glob (Depends-on): Likewise.
32412         * modules/inet_ntop (Depends-on): Likewise.
32413         * modules/inet_pton (Depends-on): Likewise.
32414         * modules/memxor (Depends-on): Likewise.
32415         * modules/regex (Depends-on): Likewise.
32416         * modules/strtok_r (Depends-on): Likewise.
32417         * modules/time_r (Depends-on): Likewise.
32418
32419 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
32420
32421         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
32422         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
32423         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
32424         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
32425         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
32426         * m4/memxor.m4 (gl_MEMXOR): Likewise.
32427         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
32428         gl_C_RESTRICT replaced by AC_C_RESTRICT.
32429
32430         Merge from coreutils.
32431         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
32432         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
32433         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
32434         * m4/time_r.m4 (gl_TIME_R): Likewise.
32435
32436 2006-08-09  Karl Berry  <karl@gnu.org>
32437
32438         * config/srclist.txt: no more gettext-tools, per Bruno.
32439
32440 2006-08-08  Eric Blake  <ebb9@byu.net>
32441
32442         * modules/verror: New module.
32443         * MODULES.html.sh: Document it.
32444
32445 2006-08-08  Eric Blake  <ebb9@byu.net>
32446
32447         * lib/verror.h, lib/verror.c: New files.
32448
32449 2006-08-08  Eric Blake  <ebb9@byu.net>
32450
32451         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
32452         verror_at_line output complies with GNU Coding Standards even when
32453         file is NULL.
32454
32455 2006-08-07  Bruno Haible  <bruno@clisp.org>
32456
32457         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
32458         versions of AIX.
32459         Reported by Ralf Wildenhues.
32460
32461 2006-08-07  Bruno Haible  <bruno@clisp.org>
32462
32463         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
32464         in an AC_DEFUN. Needed so that the autoconf snippets can use
32465         AC_REQUIRE.
32466
32467 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32468
32469         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32470         Initialize pkgdata_DATA.
32471         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
32472         overriding it.
32473
32474 2006-08-06  Eric Blake  <ebb9@byu.net>
32475
32476         * lib/error.h: Fold in some upstream changes from glibc.
32477         * lib/error.c: Likewise.
32478
32479 2006-08-04  Bruno Haible  <bruno@clisp.org>
32480
32481         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32482         Make the mostlyclean-local rule depend on mostlyclean-generic.
32483         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
32484
32485 2006-07-31  Bruno Haible  <bruno@clisp.org>
32486
32487         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
32488         <stdlib.h>, <string.h>.
32489
32490 2006-07-30  Bruno Haible  <bruno@clisp.org>
32491
32492         * modules/readlink (License): Change to LGPL.
32493
32494 2006-07-30  Bruno Haible  <bruno@clisp.org>
32495
32496         * modules/javaversion (Makefile.am): Distribute javaversion.java and
32497         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
32498         set PKGDATADIR to point to it.
32499
32500 2006-07-30  Bruno Haible  <bruno@clisp.org>
32501
32502         * modules/csharpexec (configure.ac): Comment out macro invocation.
32503         * modules/javaexec (configure.ac): Likewise.
32504         * modules/javacomp-script (configure.ac): Likewise.
32505
32506         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
32507
32508 2006-07-30  Bruno Haible  <bruno@clisp.org>
32509
32510         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
32511         linked-list.
32512
32513 2006-07-30  Bruno Haible  <bruno@clisp.org>
32514
32515         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
32516
32517 2006-07-30  Bruno Haible  <bruno@clisp.org>
32518
32519         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32520         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
32521         get removed.
32522
32523 2006-07-29  Bruno Haible  <bruno@clisp.org>
32524
32525         Make it possible for gnulib-tool to work with locally modified or
32526         augmented gnulib repositories.
32527         * gnulib-tool (func_usage): Document --local-dir option.
32528         (local_gnulib_dir): New variable.
32529         Handle --local-dir option.
32530         (func_lookup_file): New function.
32531         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
32532         (func_get_description, func_get_filelist, func_get_description,
32533         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
32534         func_get_automake_snippet, func_get_include_directive,
32535         func_get_license, func_get_maintainer): Use func_lookup_file.
32536         (func_import, func_create_testdir): Use func_lookup_file.
32537
32538 2006-07-29  Bruno Haible  <bruno@clisp.org>
32539
32540         * modules/setenv (Depends-on): Add unistd.
32541
32542 2006-07-29  Bruno Haible  <bruno@clisp.org>
32543
32544         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
32545
32546 2006-07-29  Bruno Haible  <bruno@clisp.org>
32547
32548         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
32549
32550 2006-07-29  Bruno Haible  <bruno@clisp.org>
32551
32552         * gnulib-tool (import, update): If there is no Makefile.am, look at
32553         aclocal.m4, instead of bailing out.
32554
32555 2006-07-29  Bruno Haible  <bruno@clisp.org>
32556
32557         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
32558         Categorize the options by when they are useful.
32559
32560 2006-07-29  Bruno Haible  <bruno@clisp.org>
32561
32562         * gnulib-tool (func_usage): Document option --no-libtool.
32563         Handle option --no-libtool.
32564         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
32565         for changed semantics of $libtool variable.
32566         (func_import): Likewise. If libtool is not used, show this through
32567         an option --no-libtool.
32568         (func_create_testdir): Update.
32569
32570 2006-07-29  Bruno Haible  <bruno@clisp.org>
32571
32572         * gnulib-tool (func_import): Extend error message about missing
32573         --doc-base.
32574
32575 2006-07-29  Bruno Haible  <bruno@clisp.org>
32576
32577         * gnulib-tool (func_import): Don't create the $docbase directory if
32578         there is no file to store there.
32579
32580 2006-07-29  Bruno Haible  <bruno@clisp.org>
32581
32582         * gnulib-tool (autoconf_minversion): If a --dir option is given and
32583         relevant, look for configure.ac there, not in the current directory.
32584         Also use a simple search for AC_PREREQ, not "autoconf --trace".
32585
32586 2006-07-29  Bruno Haible  <bruno@clisp.org>
32587
32588         * gnulib-tool (SORT): New variable.
32589         (func_usage): Undocument --assume-autoconf option.
32590         Remove --assume-autoconf option handling.
32591         (autoconf_minversion): Determine from the contents of configure.ac.
32592         (func_import): Remove autoconf_minversion handling.
32593         Suggested by Eric Blake.
32594
32595 2006-07-29  Bruno Haible  <bruno@clisp.org>
32596
32597         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
32598
32599 2006-07-29  Bruno Haible  <bruno@clisp.org>
32600
32601         * config/srclist.txt (*setenv.[ch]): Remove rules.
32602
32603 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32604
32605         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
32606
32607 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32608
32609         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
32610         arpa/inet.h.
32611
32612 2006-07-28  Simon Josefsson  <jas@extundo.com>
32613
32614         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
32615         * modules/inet_pton (Depends-on): Likewise.
32616
32617 2006-07-28  Simon Josefsson  <jas@extundo.com>
32618
32619         * m4/netinet_in_h.m4: New file.
32620
32621 2006-07-28  Simon Josefsson  <jas@extundo.com>
32622
32623         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
32624         #include's.
32625
32626 2006-07-28  Simon Josefsson  <jas@extundo.com>
32627
32628         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
32629         #include's.
32630
32631 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
32632
32633         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
32634         setgid on directories only if they set these bits.
32635         * lib/modechange.h: Remove obsolete comment about masks.
32636
32637 2006-07-28  Eric Blake  <ebb9@byu.net>
32638
32639         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
32640         macro expansion.
32641
32642 2006-07-28  Bruno Haible  <bruno@clisp.org>
32643
32644         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
32645
32646 2006-07-28  Bruno Haible  <bruno@clisp.org>
32647
32648         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
32649
32650 2006-07-28  Bruno Haible  <bruno@clisp.org>
32651
32652         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
32653         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
32654         Define fallbacks.
32655         Avoids link error on FreeBSD 4.x.
32656         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32657
32658         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
32659         encoding.
32660         * lib/mbswidth.c (iswcntrl): Likewise.
32661
32662 2006-07-27  Bruno Haible  <bruno@clisp.org>
32663
32664         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
32665         test.
32666
32667 2006-07-27  Bruno Haible  <bruno@clisp.org>
32668
32669         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
32670         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
32671         defined.
32672
32673 2006-07-26  Eric Blake  <ebb9@byu.net>
32674
32675         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
32676
32677 2006-07-26  Eric Blake  <ebb9@byu.net>
32678
32679         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
32680         like mingw that lack mkstemp.
32681         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
32682         avoid compilation warning on mingw.
32683
32684 2006-07-26  Bruno Haible  <bruno@clisp.org>
32685
32686         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
32687         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
32688         INT_FAST*_MIN, INTPTR_MIN.
32689
32690 2006-07-25  Bruno Haible  <bruno@clisp.org>
32691
32692         * modules/version-etc (Depends-on): Add stdarg.
32693
32694 2006-07-25  Bruno Haible  <bruno@clisp.org>
32695
32696         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
32697         complex commands.
32698
32699 2006-07-25  Bruno Haible  <bruno@clisp.org>
32700
32701         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
32702         defined in <stdarg.h> or config.h.
32703
32704 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
32705
32706         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
32707         (gl_STDIO_SAFER): Remove.
32708
32709 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
32710
32711         * MODULES.html.sh (File stream based Input/Output):
32712         Add fopen-safer, tmpfile-safer; remove stdio-safer.
32713         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
32714         * modules/fopen-safer, modules/tmpfile-safer: New files.
32715         * modules/stdio-safer: Remove.
32716
32717 2006-07-24  Bruno Haible  <bruno@clisp.org>
32718
32719         * modules/tmpdir: New file.
32720         * MODULES.html.sh (File system functions): Add it.
32721
32722 2006-07-24  Bruno Haible  <bruno@clisp.org>
32723
32724         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
32725         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
32726
32727 2006-07-24  Bruno Haible  <bruno@clisp.org>
32728
32729         * modules/clean-temp: New file.
32730
32731 2006-07-24  Bruno Haible  <bruno@clisp.org>
32732
32733         * m4/tmpdir.m4: New file, from GNU gettext.
32734
32735 2006-07-24  Bruno Haible  <bruno@clisp.org>
32736
32737         * lib/tmpdir.h: New file, from GNU gettext.
32738         * lib/tmpdir.c: New file, from GNU gettext.
32739
32740 2006-07-24  Bruno Haible  <bruno@clisp.org>
32741
32742         * lib/clean-temp.h: New file, from GNU gettext.
32743         * lib/clean-temp.c: New file, from GNU gettext.
32744
32745 2006-07-23  Eric Blake  <ebb9@byu.net>
32746
32747         * modules/stdio-safer (Files): Add tmpfile-safer.c.
32748         (Depends-on): Add binary-io.
32749
32750 2006-07-23  Eric Blake  <ebb9@byu.net>
32751
32752         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
32753
32754 2006-07-23  Eric Blake  <ebb9@byu.net>
32755
32756         * lib/tmpfile-safer.c: New file.
32757         * lib/stdio-safer.h (fopen_safer): Add prototype.
32758         * lib/stdio--.h (tmpfile): Make safer.
32759
32760 2006-07-23  Bruno Haible  <bruno@clisp.org>
32761
32762         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
32763         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
32764         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
32765         gl_linked_remove_at): Use it.
32766
32767 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32768         and Simon Josefsson <jas@extundo.com>
32769
32770         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
32771
32772         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
32773
32774 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
32775
32776         * modules/close-stream: New file.
32777         * modules/closeout (Description): Make it clear that it exits
32778         with a diagnostic on error.
32779         (Depends-on): Add close-stream.  Remove fpending, stdbool.
32780         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
32781
32782 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
32783
32784         * m4/close-stream.m4: New file.
32785
32786 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
32787
32788         * lib/close-stream.c, lib/close-stream.h: New files.
32789
32790 2006-07-22  Bruno Haible  <bruno@clisp.org>
32791
32792         Merge from GNU gettext 0.15.
32793
32794         2006-05-01  Bruno Haible  <bruno@clisp.org>
32795
32796                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
32797
32798         2006-07-22  Bruno Haible  <bruno@clisp.org>
32799
32800                 * modules/javaversion: New file.
32801                 * MODULES.html.sh (Java): Add javaversion.
32802
32803         2006-03-12  Bruno Haible  <bruno@clisp.org>
32804
32805                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
32806
32807         2005-12-04  Bruno Haible  <bruno@clisp.org>
32808
32809                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
32810                 (untested).
32811
32812         2006-06-21  Bruno Haible  <bruno@clisp.org>
32813
32814                 Avoid warnings from recent versions of mcs.
32815                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
32816                 -o, -L, -r any more. Use options documented since mcs-1.0
32817                 instead. Similarly for -g.
32818
32819         2005-12-04  Bruno Haible  <bruno@clisp.org>
32820
32821                 * build-aux/csharpcomp.sh.in: Suffix for resources is
32822                 .resources, not .resource.
32823
32824         2005-07-09  Bruno Haible  <bruno@clisp.org>
32825
32826                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
32827                 add a .dll suffix.
32828                 Reported by Mark Junker <mjscod@gmx.de>.
32829
32830         2006-07-22  Bruno Haible  <bruno@clisp.org>
32831
32832                 * modules/gettext: Upgrade to gettext-0.15.
32833                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
32834                 m4/visibility.m4.
32835                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
32836
32837 2006-07-22  Bruno Haible  <bruno@clisp.org>
32838
32839         Merge from GNU gettext 0.15.
32840
32841         2006-03-25  Bruno Haible  <bruno@clisp.org>
32842
32843                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
32844
32845         2006-07-21  Bruno Haible  <bruno@clisp.org>
32846
32847                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
32848                 "1.1".
32849
32850         2006-05-09  Bruno Haible  <bruno@clisp.org>
32851
32852                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
32853                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
32854                 for the conftestver execution.
32855
32856         2006-05-01  Bruno Haible  <bruno@clisp.org>
32857
32858                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
32859                 optional target-version argument. Verify that the compiler
32860                 groks source of the specified source-version, or add -source
32861                 option as necessary. Verify that the compiler produces
32862                 bytecode in the specified target-version, or add -target and
32863                 -source options as necessary. Make the result of the test
32864                 available as variable CONF_JAVAC. Also log error output in
32865                 config.log.
32866
32867         2006-03-11  Bruno Haible  <bruno@clisp.org>
32868
32869                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
32870
32871         2006-05-09  Bruno Haible  <bruno@clisp.org>
32872
32873                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
32874                 CLASSPATH_SEPARATOR to a semicolon.
32875
32876         2006-03-12  Bruno Haible  <bruno@clisp.org>
32877
32878                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
32879                 available as variable CONF_JAVA, for subsequent autoconf
32880                 tests. Also log error output in config.log.
32881
32882         2006-07-19  Bruno Haible  <bruno@clisp.org>
32883
32884                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
32885                 that getline works on glibc2 systems. Needed to avoid trouble
32886                 in relocatable.c.
32887                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
32888
32889         2005-12-04  Bruno Haible  <bruno@clisp.org>
32890
32891                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
32892                 launcher (untested).
32893
32894         2005-12-04  Bruno Haible  <bruno@clisp.org>
32895
32896                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
32897
32898         2006-07-22  Bruno Haible  <bruno@clisp.org>
32899
32900                 * gettext.m4: Update from GNU gettext-0.15.
32901                 * nls.m4: Likewise.
32902                 * po.m4: Likewise.
32903                 * inttypes-pri.m4: Likewise.
32904                 * inttypes-h.m4: Renamed from inttypes.m4.
32905                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
32906
32907 2006-07-22  Bruno Haible  <bruno@clisp.org>
32908
32909         Merge from GNU gettext 0.15.
32910
32911         2005-07-05  Bruno Haible  <bruno@clisp.org>
32912
32913                 * printf-args.c (printf_fetchargs): Work around broken
32914                 definition of wint_t on mingw.
32915
32916         2005-02-12  Bruno Haible  <bruno@clisp.org>
32917
32918                 * xallocsa.h: Add extern "C" for C++.
32919
32920         2006-05-17  Bruno Haible  <bruno@clisp.org>
32921
32922                 Cygwin portability.
32923                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
32924
32925         2006-04-30  Bruno Haible  <bruno@clisp.org>
32926
32927                 * progreloc.c: Include <mach-o/dyld.h> if available.
32928                 (find_executable): Use _NSGetExecutablePath when possible.
32929
32930         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
32931
32932                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
32933                 function.
32934
32935         2005-12-29  Bruno Haible  <bruno@clisp.org>
32936
32937                 * progreloc.c (set_program_name_and_installdir): Fix
32938                 compilation error.
32939
32940         2005-12-04  Bruno Haible  <bruno@clisp.org>
32941
32942                 Cygwin portability.
32943                 * progreloc.c: Include <windows.h> also on Cygwin.
32944                 (find_executable): Add support for Cygwin.
32945                 (set_program_name_and_installdir): Handle also platforms with
32946                 nonempty EXEEXT.
32947
32948         2006-07-11  Bruno Haible  <bruno@clisp.org>
32949
32950                 * javacomp.c: Fix a comment.
32951                 Reported by Jim Meyering.
32952
32953         2006-04-30  Bruno Haible  <bruno@clisp.org>
32954
32955                 * javacomp.h (compile_java_class): Add source_version,
32956                 target_version arguments.
32957                 * javacomp.c: Rewritten to choose only a compiler that
32958                 respects the specified source_version and target_version.
32959
32960         2006-06-27  Bruno Haible  <bruno@clisp.org>
32961
32962                 Assume correct S_ISDIR macro.
32963                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
32964
32965         2006-07-22  Bruno Haible  <bruno@clisp.org>
32966
32967                 * javaversion.h: New file, from GNU gettext.
32968                 * javaversion.c: New file, from GNU gettext.
32969                 * javaversion.java: New file, from GNU gettext.
32970                 * javaversion.class: New file, from GNU gettext.
32971
32972         2006-05-17  Bruno Haible  <bruno@clisp.org>
32973
32974                 Cygwin portability.
32975                 * javaexec.c (execute_java_class): Test for jview program
32976                 also on Cygwin.
32977
32978         2006-04-09  Bruno Haible  <bruno@clisp.org>
32979
32980                 * fatal-signal.c: Don't include string.h.
32981                 (at_fatal_signal): Use a copying loop instead of memcpy.
32982
32983         2005-12-04  Bruno Haible  <bruno@clisp.org>
32984
32985                 * csharpexec.c: Add support for 'clix' launcher (untested).
32986                 (execute_csharp_using_sscli): New function.
32987                 (execute_csharp_program): Call it.
32988
32989         2006-06-21  Bruno Haible  <bruno@clisp.org>
32990
32991                 Avoid warnings from recent versions of mcs.
32992                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
32993                 -o, -L, -r any more. Use options documented since mcs-1.0
32994                 instead. Similarly for -g.
32995
32996         2005-07-09  Bruno Haible  <bruno@clisp.org>
32997
32998                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
32999                 add a .dll suffix.
33000                 Reported by Mark Junker <mjscod@gmx.de>.
33001
33002         2006-06-17  Bruno Haible  <bruno@clisp.org>
33003
33004                 * config.charset: Update for NetBSD 3.0.
33005
33006         2006-05-17  Bruno Haible  <bruno@clisp.org>
33007
33008                 Cygwin portability.
33009                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
33010
33011         2006-05-16  Bruno Haible  <bruno@clisp.org>
33012
33013                 * localcharset.c [CYGWIN]: Include <windows.h>.
33014                 (get_charset_aliases): For Cygwin, return the same CPxxx
33015                 aliases list as under WIN32.
33016                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
33017                 the environment variables. Fall back to GetACP().
33018
33019         2006-04-05  Bruno Haible  <bruno@clisp.org>
33020
33021                 * config.charset: Update Juan Manuel Guerrero's address.
33022
33023         2005-02-12  Bruno Haible  <bruno@clisp.org>
33024
33025                 * allocsa.h: Add extern "C" for C++.
33026
33027         2005-02-10  Bruno Haible  <bruno@clisp.org>
33028
33029                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
33030                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
33031
33032         2006-07-22  Bruno Haible  <bruno@clisp.org>
33033
33034                 * gettext.h: Update to GNU gettext-0.15.
33035
33036 2006-07-22  Bruno Haible  <bruno@clisp.org>
33037
33038         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
33039         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
33040         lib-prefix.m4, longdouble.m4, ssize_t.m4.
33041
33042 2006-07-21  Eric Blake  <ebb9@byu.net>
33043
33044         * modules/stdlib-safer: New file.
33045         * MODULES.html.sh (File stream based Input/Output): Add
33046         stdlib-safer.
33047
33048 2006-07-21  Eric Blake  <ebb9@byu.net>
33049
33050         * lib/stdlib-safer.h: New file from coreutils, required by
33051         stdlib--.h.
33052
33053 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
33054
33055         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
33056
33057 2006-07-20  Bruno Haible  <bruno@clisp.org>
33058
33059         * gnulib-tool: Recognize new option --assume-autoconf.
33060         (autoconf_minversion): New variable.
33061         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
33062
33063 2006-07-20  Bruno Haible  <bruno@clisp.org>
33064
33065         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
33066
33067 2006-07-19  Derek R. Price  <derek@ximbiot.com>
33068
33069         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
33070         Reindent and repaginate.
33071
33072 2006-07-19  Derek Price  <derek@ximbiot.com>
33073
33074         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
33075         Correct grammar.
33076
33077 2006-07-17  Bruno Haible  <bruno@clisp.org>
33078
33079         * modules/list: New file.
33080         * modules/array-list: New file.
33081         * modules/carray-list, modules/carray-list-tests: New files.
33082         * modules/linked-list, modules/linked-list-tests: New files.
33083         * modules/avltree-list, modules/avltree-list-tests: New files.
33084         * modules/rbtree-list, modules/rbtree-list-tests: New files.
33085         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
33086         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
33087         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
33088         * modules/oset: New file.
33089         * modules/array-oset: New file.
33090         * modules/avltree-oset, modules/avltree-oset-tests: New files.
33091         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
33092         * tests/test-carray_list.c: New file.
33093         * tests/test-linked_list.c: New file.
33094         * tests/test-avltree_list.c: New file.
33095         * tests/test-rbtree_list.c: New file.
33096         * tests/test-linkedhash_list.c: New file.
33097         * tests/test-avltreehash_list.c: New file.
33098         * tests/test-rbtreehash_list.c: New file.
33099         * tests/test-avltree_oset.c: New file.
33100         * tests/test-rbtree_oset.c: New file.
33101         * MODULES.html.sh (Container data structures): New section.
33102
33103 2006-07-17  Bruno Haible  <bruno@clisp.org>
33104
33105         * m4/gl_list.m4: New file.
33106
33107 2006-07-17  Bruno Haible  <bruno@clisp.org>
33108
33109         * lib/gl_list.h: New file.
33110         * lib/gl_list.c: New file.
33111         * lib/gl_array_list.h: New file.
33112         * lib/gl_array_list.c: New file.
33113         * lib/gl_carray_list.h: New file.
33114         * lib/gl_carray_list.c: New file.
33115         * lib/gl_linked_list.h: New file.
33116         * lib/gl_linked_list.c: New file.
33117         * lib/gl_anylinked_list1.h: New file.
33118         * lib/gl_anylinked_list2.h: New file.
33119         * lib/gl_avltree_list.h: New file.
33120         * lib/gl_avltree_list.c: New file.
33121         * lib/gl_anyavltree_list1.h: New file.
33122         * lib/gl_anyavltree_list2.h: New file.
33123         * lib/gl_rbtree_list.h: New file.
33124         * lib/gl_rbtree_list.c: New file.
33125         * lib/gl_anyrbtree_list1.h: New file.
33126         * lib/gl_anyrbtree_list2.h: New file.
33127         * lib/gl_anytree_list1.h: New file.
33128         * lib/gl_anytree_list2.h: New file.
33129         * lib/gl_linkedhash_list.h: New file.
33130         * lib/gl_linkedhash_list.c: New file.
33131         * lib/gl_anyhash_list1.h: New file.
33132         * lib/gl_anyhash_list2.h: New file.
33133         * lib/gl_avltreehash_list.h: New file.
33134         * lib/gl_avltreehash_list.c: New file.
33135         * lib/gl_rbtreehash_list.h: New file.
33136         * lib/gl_rbtreehash_list.c: New file.
33137         * lib/gl_anytreehash_list1.h: New file.
33138         * lib/gl_anytreehash_list2.h: New file.
33139
33140         * lib/gl_oset.h: New file.
33141         * lib/gl_oset.c: New file.
33142         * lib/gl_array_oset.h: New file.
33143         * lib/gl_array_oset.c: New file.
33144         * lib/gl_avltree_oset.h: New file.
33145         * lib/gl_avltree_oset.c: New file.
33146         * lib/gl_rbtree_oset.h: New file.
33147         * lib/gl_rbtree_oset.c: New file.
33148         * lib/gl_anytree_oset.h: New file.
33149
33150 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33151
33152         * m4/mkancesdirs.m4: New file.
33153         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
33154         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
33155         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
33156         it.
33157
33158 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33159
33160         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
33161         * lib/mkancesdirs.h: New files.
33162         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
33163         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
33164         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
33165         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
33166         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
33167         callers changed.  Revamp internals significantly, by not
33168         attempting to create directories that are temporarily more
33169         permissive than the final results.  Do not attempt to use
33170         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
33171         This removes some race conditions, fixes some bugs, and simplifies
33172         things.  Use new dirchownmod function to do owner and mode changes.
33173         * lib/mkdir-p.h: Likewise.
33174         * lib/modechange.c (octal_to_mode): New function.
33175         (struct mode_change): New member mentioned.
33176         (make_node_op_equals): New arg mentioned.  All callers changed.
33177         (mode_compile): Keep track of which mode bits the user has explicitly
33178         mentioned.
33179         (mode_adjust): New arg DIR, so that we implement the X op correctly.
33180         New arg PMODE_BITS, to keep track of which mode bits the user
33181         mentioned; it treats S_ISUID and S_ISGID speciall.
33182         All callers changed.
33183         * lib/modechange.h: Likewise.
33184
33185 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33186
33187         * MODULES.html.sh: Add mkancestors.
33188         * modules/mkancesdirs: New module.
33189         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
33190         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
33191         The chdir-safer and afs files are now orphans; I'll remove them
33192         unless someone speaks up.
33193         Add lib/dirchownmod.c, lib/dirchownmod.h.
33194         (Depends-on): Remove alloca, chown, save-cwd, dirname.
33195         Add lchown, mkancesdirs.
33196         (Maintainer): Add self.
33197
33198 2006-07-15  Karl Berry  <karl@gnu.org>
33199
33200         * gnulib-tool: help message wording/arrangement.
33201
33202 2006-07-14  Simon Josefsson  <jas@extundo.com>
33203
33204         * doc/gnulib.texi (Libtool and Windows): New section.
33205
33206 2006-07-12  Simon Josefsson  <jas@extundo.com>
33207
33208         * modules/gendocs (License): Fix license, approved by Karl.
33209
33210 2006-07-12  Eric Blake  <ebb9@byu.net>
33211
33212         * MODULES.html.sh: Add gendocs.
33213
33214 2006-07-11  Eric Blake  <ebb9@byu.net>
33215
33216         * modules/fdl: New module, to install doc/fdl.texi.
33217         * MODULES.html.sh: Add new section for documentation modules.
33218         * gnulib-tool: Avoid space-tab.
33219         (--doc-base): New option, to manage files from doc.
33220
33221 2006-07-11  Eric Blake  <ebb9@byu.net>
33222
33223         * m4/absolute-header.m4: Fix comments to match recent change.
33224
33225 2006-07-11  Eric Blake  <ebb9@byu.net>
33226
33227         * gnulib-tool: List --doc-base before --tests-base.
33228
33229 2006-07-11  Derek R. Price  <derek@ximbiot.com>
33230
33231         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
33232
33233 2006-07-11  Bruno Haible  <bruno@clisp.org>
33234
33235         * README: Mention where to put documentation.
33236
33237 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33238
33239         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
33240
33241 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
33242
33243         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
33244         to stdint.m4.
33245
33246 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
33247
33248         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
33249         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
33250         "no/such/file/stdint.h" when there is no such file, so that
33251         the resulting C code can be parsed by dodgy compilers.
33252         Problems reported by Bob Proulx.
33253
33254 2006-07-10  Derek R. Price  <derek@ximbiot.com>
33255
33256         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
33257         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
33258         macros into the GNU _D_EXACT_NAMLEN.
33259         * lib/savedir.c:  Likewise.
33260         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
33261
33262 2006-07-10  Derek R. Price  <derek@ximbiot.com>
33263         and Paul Eggert  <eggert@cs.ucla.edu>
33264
33265         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
33266         * m4/savedir.m4:
33267         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
33268         macros into the GNU _D_EXACT_NAMLEN.
33269
33270 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
33271
33272         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
33273         around the absolute name, to work around a problem with the HP-UX
33274         11.23 native C compiler, reported by Bob Proulx.
33275
33276 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
33277
33278         * doc/maintain.texi, make-stds.texi: Sync from
33279         <http://savannah.gnu.org/projects/gnustandards>.
33280
33281 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
33282
33283         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
33284
33285 2006-07-09  Jim Meyering  <jim@meyering.net>
33286
33287         * m4/glob.m4: Remove a doubled word in a comment.
33288
33289 2006-07-09  Jim Meyering  <jim@meyering.net>
33290
33291         * lib/argp-pv.c: Remove a doubled word in a comment.
33292         * lib/check-version.c (check_version): Likewise.
33293         * lib/javacomp.c (compile_java_class): Likewise.
33294
33295 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
33296
33297         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
33298         for the benefit of people using Autoconf 2.60.  If you want to
33299         support older Autoconf versions you can copy m4/onceonly_2_57.m4
33300         (or m4/onceonly.m4, if pre-2.57) manually.
33301
33302 2006-07-08  Jim Meyering  <jim@meyering.net>
33303
33304         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
33305         comment.
33306         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
33307         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
33308         comment.
33309
33310 2006-07-08  Jim Meyering  <jim@meyering.net>
33311
33312         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
33313
33314 2006-07-07  Simon Josefsson  <jas@extundo.com>
33315
33316         * tests/test-crc.c: Change expected crc value, the test vector
33317         were probably computed using the old broken crc.c?
33318
33319 2006-07-06  Simon Josefsson  <jas@extundo.com>
33320
33321         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
33322         now the canonical place for the M4 file).
33323
33324         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
33325         from the sys_socket dependency now.
33326
33327         * modules/inet_pton (Files): Ditto.
33328
33329         * modules/inet_ntop (Files): Ditto.
33330
33331 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
33332
33333         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
33334         not gl_PREREQ_GETUSERSHELL.
33335
33336 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33337
33338         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
33339         with only one argument, for Autoconf 2.60.
33340         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
33341         expand to nothing, so add a shell command to avoid syntax error.
33342         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
33343
33344 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33345
33346         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
33347
33348 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33349
33350         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
33351         no longer needed.  Check for isblank decl.
33352         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
33353         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
33354         of existence.
33355
33356 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33357
33358         * lib/getloadavg.c: Use __VMS, not VMS.
33359         * lib/getopt.c: Likewise.
33360         * lib/getpagesize.h: Likewise.
33361         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
33362         and probably does not work.
33363
33364 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33365
33366         * lib/.cppi-disable: Add wcwidth.
33367         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
33368         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
33369         (ISGRAPH): Remove.  All uses changed to isgraph.
33370         (FOLD) [!defined _LIBC]: Remove special case.
33371         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
33372         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
33373         HAVE_ISBLANK.
33374         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
33375         case.
33376
33377 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
33378
33379         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
33380         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
33381         brackets.  Other minor changes to suppress some compiler
33382         warnings.
33383
33384 2006-07-06  Derek R. Price  <derek@ximbiot.com>
33385         and Paul Eggert  <eggert@cs.ucla.edu>
33386
33387         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
33388         of invoking obsolescent AC_HEADER_DIRENT macro.
33389         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
33390         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
33391         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
33392         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33393         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
33394         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
33395         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
33396         * m4/readdir.m4: Remove; no longer needed.
33397
33398 2006-07-06  Derek R. Price  <derek@ximbiot.com>
33399         and Paul Eggert  <eggert@cs.ucla.edu>
33400
33401         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
33402         Don't worry about this obsolete case any more.
33403         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
33404         directories.
33405         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
33406         worry about this obsolete case any more.
33407         * lib/fts.c: Likewise.
33408         * lib/getcwd.c: Likewise.
33409         * lib/glob.h: Likewise.
33410         * lib/savedir.c: Likewise.
33411
33412 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
33413
33414         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
33415         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
33416         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
33417         needed.
33418         All uses removed.
33419         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
33420         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
33421         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
33422         needed.
33423         * m4/getdate.m4 (gl_GETDATE): Likewise.
33424         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
33425         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
33426         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
33427         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
33428         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
33429         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
33430         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
33431         needed.
33432
33433 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
33434
33435         * lib/memcasecmp.c: Include <limits.h>.
33436         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
33437         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
33438         Don't assume isdigit succeeds only on '0' through '9'.
33439
33440 2006-07-05  Eric Blake  <ebb9@byu.net>
33441
33442         * modules/getaddrinfo (Depends-on): Add snprintf.
33443
33444 2006-07-05  Eric Blake  <ebb9@byu.net>
33445
33446         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
33447         to avoid 'header present but could not be compiled' on cygwin.
33448
33449 2006-07-05  Eric Blake  <ebb9@byu.net>
33450
33451         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
33452         missing from netdb.h.
33453         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
33454
33455 2006-07-05  Derek R. Price  <derek@ximbiot.com>
33456
33457         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
33458         no longer needed.
33459         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
33460         * m4/getdate.m4 (gl_GETDATE): Likewise.
33461         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
33462         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
33463         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
33464         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
33465         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
33466
33467 2006-07-05  Derek R. Price  <derek@ximbiot.com>
33468
33469         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
33470         All uses of is_space replaced by isspace.
33471         * lib/exit.h: Don't talk about STDC_HEADERS.
33472         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
33473         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
33474         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
33475         replaced by isprint etc.
33476         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
33477         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
33478         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
33479         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
33480         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
33481         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
33482
33483 2006-07-05  Bruno Haible  <bruno@clisp.org>
33484
33485         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
33486         the function exists, before testing against AIX.
33487         Reported by Martin Lambers <marlam@marlam.de>.
33488
33489 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
33490
33491         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
33492         From Mark D. Baushke.
33493
33494 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
33495
33496         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
33497         to the absolute name, not just one, to bypass Sun C 5.8's
33498         "warning: #include of /usr/include/... may be non-portable".
33499
33500 2006-07-04  Eric Blake  <ebb9@byu.net>
33501
33502         * modules/dirname-tests: New test module.
33503         * tests/test-dirname.c: New file, replacing dirname.c
33504         TEST_DIRNAME section that was recently deleted.
33505
33506 2006-07-04  Bruno Haible  <bruno@clisp.org>
33507
33508         Assume ANSI C header files and <ctype.h> functions.
33509         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
33510         (mbsnwidth): Use isprint, iscntrl instead.
33511
33512 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
33513
33514         Merge from coreutils.
33515         * MODULES.html.sh: Add xstrtold.
33516         * modules/xstrtold: New file.
33517         * modules/cycle-check (Files): Add lib/same-inode.h.
33518         * modules/dirname (Files): Add m4/double-slash-root.m4.
33519         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
33520         * modules/mkdir-p (Files): Add lib/same-inode.h.
33521         * modules/same (Files): Add lib/same-inode.h.
33522
33523 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
33524
33525         * m4/absolute-header.m4: Renamed from full-header-path.m4.
33526         This is to keep the terminology clean; POSIX talks about
33527         "absolute pathnames", not "full pathnames", but the GNU
33528         Coding Standards say to use "path" for something else;
33529         so use "absolute" to keep both sides happy.
33530         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
33531         Set gl_absolute_header, not gl_full_header_path.
33532         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
33533         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
33534         All uses changed.
33535
33536         Merge from coreutils.
33537
33538         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
33539
33540         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
33541         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
33542         want to require the building of c-strtod.o.
33543         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
33544         needs -lm directly.
33545         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
33546
33547         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
33548
33549         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
33550         --as-needed option if available.  Problem reported by Albert Chin in
33551         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
33552         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
33553         cc merely issues a bunch of annoying warnings for --as-needed
33554         (this problem was reported by Bob Proulx).  Also, try linking with
33555         -lm to detect a bug in binutils 2.16 (this problem was reported
33556         by Ralf Wildenhues).
33557
33558         2006-06-18  Jim Meyering  <jim@meyering.net>
33559
33560         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
33561         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
33562         macro.
33563         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
33564         also check for glibc-2.4's abort-inducing bug.
33565
33566         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
33567         Low-probability clean-up should be to use rmdir to get rid of
33568         the just-created directory, not unlink.
33569
33570         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
33571         configure fail, and request a bug report to inform us about it.
33572         Add a comment that, barring reports to the contrary, in 2007 we'll
33573         assume ftruncate is universally available.
33574
33575         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
33576
33577         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
33578
33579         2006-03-12  Jim Meyering  <jim@meyering.net>
33580
33581         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
33582         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
33583         * m4/same.m4 (gl_SAME): Likewise.
33584         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
33585
33586         2006-03-11  Eric Blake  <ebb9@byu.net>
33587
33588         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
33589         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
33590         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
33591         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
33592
33593 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
33594
33595         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
33596         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
33597         reported by Mark D. Baushke, one in
33598         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
33599
33600         Merge from coreutils.
33601
33602         * lib/.cppi-disable: Add stdint_.h.
33603         * lib/.cvsignore: Add stdint.h.
33604
33605         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
33606
33607         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
33608         both double and long double versions.
33609         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
33610         * lib/xstrtold.c: New file.
33611         * lib/xstrtod.h (xstrtold): New decl.
33612
33613         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
33614
33615         * lib/filemode.c (setst): Remove.
33616         (strmode): Rewrite to avoid setst.  This makes the code shorter,
33617         (arguably) clearer, and the generated code is a bit smaller on my
33618         Debian GNU/Linux stable x86 host.
33619
33620         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
33621
33622         * lib/filemode.c: Include "filemode.h" first, to test the interface.
33623         Assume that filemode.h includes sys/types.h and sys/stat.h.
33624         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
33625         (ftypelet): Reorder to put common cases first, for efficiency.
33626         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
33627         to do 'M'.
33628         (strmode): Renamed from mode_string, and now stores 12 bytes instead
33629         of 10, for compatibility with FreeBSD.  All callers changed.
33630         (filemodestring): Now stores 12 bytes instead of 10, and sets file
33631         types that can't be deduced solely from st_mode.  First arg is now a
33632         const pointer.
33633         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
33634         (strmode): Renamed from mode_string.
33635         (filemodestring): New decl.
33636         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
33637         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
33638         needed.
33639         (S_ISPORT, S_ISWHT): New macros, if not already defined.
33640
33641         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
33642
33643         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
33644         fsusage.h now does that.  Include fsusage.h first, to test interface.
33645         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
33646         at most one method (the old code could have generated decls that
33647         didn't conform to C89, not that this was ever exercised).
33648         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
33649
33650         2006-03-19  Jim Meyering  <jim@meyering.net>
33651
33652         Work even in a chroot where d_ino values for entries in "/"
33653         don't match the stat.st_ino values for the same names.
33654         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
33655         number, iterate through all entries again, using lstat instead.
33656         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
33657         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
33658
33659         * lib/getcwd.c (__getcwd): Clarify a comment.
33660         Use memcpy in place of a call to strcpy.
33661
33662         2006-03-12  Jim Meyering  <jim@meyering.net>
33663
33664         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
33665         matches that of the current directory (which we're about to chdir ".."
33666         out of), then save the dev-ino of the parent, instead.
33667
33668         * lib/same-inode.h (SAME_INODE): New file/macro.
33669         * lib/chdir-safer.c (SAME_INODE): Remove definition.
33670         Include "same-inode.h", instead.
33671         * lib/same.c: Likewise.
33672         * lib/cycle-check.h: Include "same-inode.h".
33673         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
33674         * lib/cycle-check.c (SAME_INODE): Remove definition.
33675         * lib/root-dev-ino.h: Include "same-inode.h".
33676
33677         2006-03-11  Eric Blake  <ebb9@byu.net>
33678
33679         * lib/same.c (same_name): s/base_name/last_component/
33680         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
33681         * lib/filenamecat.c (file_name_concat): Likewise.
33682
33683         2006-03-11  Eric Blake  <ebb9@byu.net>,
33684                     Paul Eggert  <eggert@cs.ucla.edu>
33685
33686         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
33687         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
33688         drive prefix.
33689         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
33690         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
33691         (last_component): New method.
33692         * lib/dirname.c (dir_len): Determine when drive letters need a
33693         subsequent slash.  Preserve // when it is special.
33694         (dir_name): Don't append dot when drive letter is absolute.
33695         [TEST_DIRNAME]: Move into a full-blown gnulib test.
33696         * lib/basename.c (base_name): New semantics - malloc the result.
33697         Preserve // when it is special.  Preserve relative files that look
33698         like drive letters.
33699         (base_len): Preserve // when it is special.
33700         (last_component): New method, similar to old base_name semantics.
33701         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
33702         base_name.  Strip redundant slashes from ///.
33703
33704 2006-07-03  Jim Meyering  <jim@meyering.net>
33705
33706         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
33707         macro is used before the first cycle_check call.
33708
33709 2006-07-03  Eric Blake  <ebb9@byu.net>
33710
33711         * modules/dirname (Depends-on): Add xstrndup.
33712
33713 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
33714
33715         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
33716         test cases, so that config.log is a bit easier to follow.
33717
33718 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
33719
33720         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
33721         both are 64 bits, since this seems to be the tradition, and this
33722         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
33723         we ever run into a host that prefers long long to long in this
33724         case, we'll need another configure-time test.  Problem reported by
33725         Jim Meyering.
33726
33727 2006-07-02  Eric Blake  <ebb9@byu.net>
33728
33729         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
33730
33731 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
33732
33733         * modules/inttypes (Depends-on): No longer depends on stdint.
33734         * modules/stdint (Description): Say more about assumptions.
33735         Say that the fast types might differ.  Say macros are used.
33736         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
33737         (Makefile.am): Revise list of substituted symbols to match
33738         new stdint.m4.
33739         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
33740         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
33741         * tests/test-stdint.c (verify_same_types)
33742         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
33743         the code conforms to C99/C89.
33744         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
33745         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
33746
33747 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
33748
33749         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
33750         but fix a bug, by requiring at least 64 bits.
33751         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
33752         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
33753         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
33754         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
33755
33756         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
33757         changes.  Make 2.59 a prerequisite.  Check and substitute for
33758         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
33759         inttypes.h.  Do not use special include files; just use the
33760         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
33761         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
33762         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
33763         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
33764         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
33765         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
33766         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
33767         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
33768         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
33769         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
33770         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
33771         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
33772         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
33773         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
33774         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
33775         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
33776         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
33777         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
33778         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
33779         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
33780         WINT_MAX.  Check for C99 conformance more strictly, by detecting
33781         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
33782         not check for things that C99 does not require, e.g., int8_t.  If
33783         a test isn't needed unless <stdint.h> isn't working, and is
33784         unlikely to be needed for any other reason, then don't do it
33785         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
33786         size_t, since we assume C89 freestanding at least.  Do not check
33787         for sig_atomic_t, wchar_t, or wint_t, since the code now does
33788         the right thing even if the types are not defined.  Instead use:
33789         (gl_STDINT_TYPE_PROPERTIES): New macro.
33790         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
33791         testing whether <sys/types.h> clashes, as Autoconf does this for
33792         us now.  All uses removed.
33793         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
33794         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
33795         (gl_CHECK_TYPE_SAME):
33796         Remove; no longer needed.
33797         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
33798         exists, since we'll return 0 anyway in that case.
33799         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
33800
33801 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
33802
33803         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
33804         possible collision with system files.
33805         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
33806         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
33807         WCHAR_MIN and WCHAR_MAX in this case.
33808         (<stddef.h>): Do not include; no longer needed.
33809         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
33810         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
33811         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
33812         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
33813         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
33814         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
33815         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
33816         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
33817         !defined(__c99))]: Include in this case too, since it's harmless
33818         now.
33819         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
33820         dangerous to do so.
33821         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
33822         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
33823         (_STDINT_MIN, _STDINT_MAX): New macros.
33824         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
33825         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
33826         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
33827         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
33828         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
33829         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
33830         macros, not typedefs; this simplifies things quite a bit.
33831         Use long int for all types narrower than int64_t.
33832         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
33833         Define in terms of long long int or int64_t or long int,
33834         not int64_t or int32_t.  This saves some compile-time testing.
33835         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
33836         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
33837         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
33838         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
33839         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
33840         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
33841         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
33842         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
33843         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
33844         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
33845         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
33846         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
33847         undef any previous version and define our own version, for
33848         simplicity and consistency with the new macros for types.
33849         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
33850         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
33851         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
33852         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
33853         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
33854         @WINT_T_SUFFIX@ to keep things simple here.
33855         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
33856         Simplify by assuming typical 8/16/32/64 host, since we're
33857         already doing that elsewhere anyway.
33858         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
33859         and assume long long int is 64 bits if available.  This
33860         speeds up 'configure'.
33861
33862 2006-07-01  Eric Blake  <ebb9@byu.net>
33863
33864         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
33865         Reported by Andreas Buening.
33866
33867 2006-07-01  Eric Blake  <ebb9@byu.net>
33868
33869         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
33870
33871 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
33872
33873         * lib/getaddrinfo.c: fixed typo
33874
33875 2006-06-29  Jim Meyering  <jim@meyering.net>
33876
33877         * modules/strftime (Maintainer): Add my name, since with the
33878         FPRINTFTIME changes strftime.c has forked from glibc.
33879
33880 2006-06-29  Eric Blake  <ebb9@byu.net>
33881
33882         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
33883
33884 2006-06-29  Eric Blake  <ebb9@byu.net>
33885
33886         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
33887
33888 2006-06-29  Eric Blake  <ebb9@byu.net>
33889
33890         * lib/stat_.h: New file.
33891
33892 2006-06-29  Eric Blake  <ebb9@byu.net>
33893
33894         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
33895         unused static function.
33896
33897 2006-06-29  Eric Blake  <ebb9@byu.net>
33898
33899         * doc/functions.texi (Function Portability): Document missing lstat
33900         on mingw.
33901
33902 2006-06-29  Eric Blake  <ebb9@byu.net>
33903
33904         * MODULES.html.sh: Add sys_stat.
33905         * modules/sys_stat: New module.
33906         * modules/mkstemp (Depends-on): Add sys_stat.
33907
33908 2006-06-29  Derek R. Price  <derek@ximbiot.com>
33909
33910         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
33911
33912 2006-06-29  Derek R. Price  <derek@ximbiot.com>
33913
33914         * m4/c-bs-a.m4: Removed.
33915
33916 2006-06-29  Derek R. Price  <derek@ximbiot.com>
33917
33918         * lib/strftime.c: Assume strftime() exists.
33919
33920 2006-06-29  Derek Price  <derek@ximbiot.com>
33921
33922         * modules/c-bs-a: Removed - \a is C89.
33923         * MODULES.html.sh: Remove c-bs-a.
33924
33925 2006-06-29  Bruno Haible  <bruno@clisp.org>
33926
33927         * modules/wcwidth (License): Change to LGPL.
33928
33929 2006-06-28  Simon Josefsson  <jas@extundo.com>
33930
33931         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
33932         on _WIN32.
33933
33934         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
33935         getnameinfo.
33936
33937 2006-06-28  Simon Josefsson  <jas@extundo.com>
33938
33939         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
33940
33941 2006-06-28  Simon Josefsson  <jas@extundo.com>
33942
33943         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
33944         functions there.  It will succeed on Windows XP, but on Windows
33945         2000 and (presumably) earlier, it will fail, and use the internal
33946         re-implementation.
33947         (use_win32_p): New function.
33948         (getaddrinfo): Use strtoul on servname, to support numeric ports.
33949         Support AI_NUMERICSERV to disable getservbyname.
33950         (getnameinfo): New function, only supports
33951         NI_NUMERICHOST|NI_NUMERICSERV for now.
33952
33953         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
33954         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
33955         getnameinfo.
33956
33957 2006-06-28  Eric Blake  <ebb9@byu.net>
33958
33959         * modules/wcwidth: New file.
33960         * modules/mbchar (Depends-on): Add wcwidth.
33961         * modules/mbswidth (Depends-on): Add wcwidth.
33962         * MODULES.html.sh: Add wcwidth.
33963
33964 2006-06-28  Eric Blake  <ebb9@byu.net>
33965
33966         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
33967         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
33968
33969 2006-06-28  Eric Blake  <ebb9@byu.net>
33970
33971         * lib/xvasprintf.h: Fix comments.
33972
33973 2006-06-28  Eric Blake  <ebb9@byu.net>
33974
33975         * lib/mbchar.h (wcwidth): Include wcwidth.h.
33976         * lib/mbswidth.c (wcwidth): Move from here...
33977         * lib/wcwidth.h: ...to this new file.
33978
33979 2006-06-28  Derek R. Price  <derek@ximbiot.com>
33980
33981         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
33982
33983         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
33984         it's obsolete.
33985         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
33986
33987 2006-06-28  Derek R. Price  <derek@ximbiot.com>
33988
33989         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
33990         Autoconf 2.60 says this stuff was obsolete.
33991
33992 2006-06-28  Bruno Haible  <bruno@clisp.org>
33993
33994         * modules/wcwidth (Files): Add m4/wchar_t.m4.
33995
33996 2006-06-28  Bruno Haible  <bruno@clisp.org>
33997
33998         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
33999         gt_TYPE_WCHAR_T.
34000
34001 2006-06-28  Bruno Haible  <bruno@clisp.org>
34002
34003         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
34004         declaration for wcwidth.
34005         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
34006
34007 2006-06-28  Bruno Haible  <bruno@clisp.org>
34008
34009         * lib/mkdtemp.c [MINGW]: Include <io.h>.
34010         (mkdir): Define using _mkdir.
34011
34012 2006-06-28  Bruno Haible  <bruno@clisp.org>
34013
34014         * lib/getaddrinfo.h: Fix POSIX URL.
34015         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
34016         _WIN32.
34017         (use_win32_p): Make static.
34018         (getaddrinfo): Reject service name if it is empty or does not consist
34019         solely of decimal digits, or if its value is > 65535.
34020         (getnameinfo): Remove useless casts.
34021
34022 2006-06-27  Simon Josefsson  <jas@extundo.com>
34023
34024         * modules/sys_select: New file, suggested by Bruno Haible, Paul
34025         Eggert and Martin Lambers.
34026
34027 2006-06-27  Simon Josefsson  <jas@extundo.com>
34028
34029         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
34030         Eggert and Martin Lambers.
34031
34032 2006-06-27  Bruno Haible  <bruno@clisp.org>
34033
34034         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
34035         result to 0, not to empty.
34036         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
34037
34038 2006-06-27  Bruno Haible  <bruno@clisp.org>
34039
34040         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
34041
34042 2006-06-26  Simon Josefsson  <jas@extundo.com>
34043
34044         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
34045         present.
34046
34047 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
34048
34049         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
34050         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
34051         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
34052
34053 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
34054
34055         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
34056
34057 2006-06-26  Bruno Haible  <bruno@clisp.org>
34058
34059         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
34060
34061 2006-06-26  Bruno Haible  <bruno@clisp.org>
34062
34063         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
34064
34065 2006-06-26  Bruno Haible  <bruno@clisp.org>
34066
34067         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
34068         SGI C compiler in pre-C99 mode.
34069         Suggested by Mark D. Baushke and Larry Jones.
34070
34071 2006-06-26  Bruno Haible  <bruno@clisp.org>
34072
34073         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
34074         WCHAR_MAX.
34075         Reported by Mark D. Baushke and Larry Jones.
34076
34077 2006-06-26  Bruno Haible  <bruno@clisp.org>
34078
34079         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
34080         in pre-C99 mode.
34081         Suggested by Mark D. Baushke and Larry Jones.
34082
34083 2006-06-23  Simon Josefsson  <jas@extundo.com>
34084             Bruno Haible  <bruno@clisp.org>
34085
34086         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
34087         Emit mostlyclean-local rule.
34088         (func_emit_tests_Makefile_am): Likewise.
34089         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
34090
34091 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
34092
34093         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
34094
34095 2006-06-23  Bruno Haible  <bruno@clisp.org>
34096
34097         * tests/test-stdint.c: Update to match ISO C 99 Technical
34098         Corrigendum 1.
34099
34100 2006-06-23  Bruno Haible  <bruno@clisp.org>
34101
34102         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
34103
34104 2006-06-23  Bruno Haible  <bruno@clisp.org>
34105
34106         * lib/stdint_.h: Treat IRIX like OpenBSD.
34107
34108 2006-06-23  Bruno Haible  <bruno@clisp.org>
34109
34110         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
34111         ISO C 99 Technical Corrigendum 1.
34112
34113 2006-06-22  Simon Josefsson  <jas@extundo.com>
34114
34115         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
34116         MinGW.
34117
34118 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
34119
34120         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
34121         needed.  Some compiler complained about some of them.  Problem reported
34122         by Larry Jones in
34123         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
34124
34125 2006-06-21  Simon Josefsson  <jas@extundo.com>
34126
34127         * tests/test-getaddrinfo.c: New file.
34128
34129         * modules/getaddrinfo-tests: New file.
34130
34131         * MODULES.html.sh: Add inet_pton.
34132
34133         * modules/inet_pton: New file.
34134
34135 2006-06-21  Simon Josefsson  <jas@extundo.com>
34136
34137         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
34138         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
34139         of using the (limited) gnulib implementation on Windows XP.
34140
34141         * m4/inet_pton.m4: New file.
34142
34143 2006-06-21  Simon Josefsson  <jas@extundo.com>
34144
34145         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
34146         variable.
34147
34148         * lib/socket_.h: Don't define WINVER.
34149
34150         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
34151         slightly modified to work in gnulib.
34152
34153 2006-06-21  Simon Josefsson  <jas@extundo.com>
34154
34155         * doc/gnulib.texi (Windows sockets): Add.
34156
34157 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34158
34159         * lib/read-file.c (fread_file): Start with buffer allocation of
34160         0 bytes rather than 1 byte; this simplifies the code.
34161         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
34162         code to free buffer and save/restore errno.
34163         (internal_read_file): Remove unused local.
34164
34165 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34166
34167         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
34168         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
34169         Problem reported by Denis Excoffier in
34170         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
34171
34172 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34173
34174         * modules/sys_socket, modules/socklen: Include sys/types since
34175         FreeBSD 4.x's sys/socket.h needs it.
34176
34177 2006-06-19  Simon Josefsson  <jas@extundo.com>
34178
34179         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
34180
34181 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
34182
34183         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
34184
34185 2006-06-19  Bruno Haible  <bruno@clisp.org>
34186
34187         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
34188         and FULL_PATH_INTTYPES_H in angle brackets.
34189         Reported by Mark D. Baushke <mdb@gnu.org>.
34190
34191 2006-06-17  Eric Blake  <ebb9@byu.net>
34192
34193         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
34194         errno.
34195
34196 2006-06-17  Bruno Haible  <bruno@clisp.org>
34197
34198         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
34199         <sys/inttypes.h>.
34200
34201 2006-06-17  Bruno Haible  <bruno@clisp.org>
34202
34203         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
34204         whether errno is declared. Assume <errno.h> declares errno.
34205
34206 2006-06-17  Bruno Haible  <bruno@clisp.org>
34207
34208         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
34209
34210 2006-06-17  Bruno Haible  <bruno@clisp.org>
34211
34212         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
34213         problem on Solaris 2.5.1.
34214
34215 2006-06-16  Eric Blake  <ebb9@byu.net>
34216
34217         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
34218         * lib/unicodeio.c [!defined errno]: Likewise.
34219         * lib/strtol.c [!defined errno]: Likewise.
34220         * lib/strtod.c [!defined errno]: Likewise.
34221
34222 2006-06-15  Eric Blake  <ebb9@byu.net>
34223
34224         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
34225
34226 2006-06-15  Eric Blake  <ebb9@byu.net>
34227
34228         * config/srclist.txt (ssize_t.m4): Lose sync.
34229
34230 2006-06-15  Bruno Haible  <bruno@clisp.org>
34231
34232         * modules/stdint (Files): Include m4/full-header-path.m4,
34233         m4/size_max.m4, m4/wchar_t.m4.
34234         (Makefile.am): Many more substitutions.
34235         * modules/stdint-tests: New file.
34236         * tests/test-stdint.c: New file.
34237
34238 2006-06-15  Bruno Haible  <bruno@clisp.org>
34239
34240         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
34241         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
34242         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
34243         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
34244         gl_CHECK_TYPE_SAME): New macros.
34245
34246 2006-06-15  Bruno Haible  <bruno@clisp.org>
34247
34248         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
34249
34250 2006-06-15  Bruno Haible  <bruno@clisp.org>
34251
34252         * lib/stdint_.h: Rewritten to be fully auto-configured.
34253         Fixes bug on HP-UX/IA64.
34254
34255 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
34256
34257         * lib/getdate.y (__attribute__): Don't define if already defined.
34258         Problem reported by Larry Jones.
34259         * lib/utimens.c (__attribute__): Likewise.
34260
34261 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
34262
34263         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
34264         reported by Andreas Schwab.
34265
34266 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34267             Bruno Haible  <bruno@clisp.org>
34268
34269         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
34270         check for the declaration of strnlen and a run test that exposes the
34271         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
34272         rpl_strndup.
34273
34274 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34275             Bruno Haible  <bruno@clisp.org>
34276
34277         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
34278
34279 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34280
34281         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
34282         compile test, for Tru64 4.0D.
34283
34284 2006-05-28  Karl Berry  <karl@gnu.org>
34285
34286         * config/srclist.txt (printf-args.c): lose sync.
34287
34288 2006-05-26  Martin Lambers  <marlam@marlam.de>
34289
34290         * lib/getpass.c: Updates the test for the native W32 API, and adds
34291         missing includes, thus fixing compilation warnings.
34292
34293 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
34294
34295         * lib/exclude.c (exclude_fnmatch): New function.
34296         (excluded_file_name): Call exclude_fnmatch.
34297         * lib/exclude.h (excluded_file_name): New prototype
34298
34299 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
34300
34301         * lib/tempname.c (small_open, large_open): New macros.
34302         (__open, __open64) [!_LIBC]: Remove.
34303         (__gen_tempname): Use small_open and large_open instead of __open
34304         and __open64.  This fixes a portability bug on HP-UX 11.11i
34305         reported by Simon Wing-Tang in
34306         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
34307
34308 2006-05-24  Bruno Haible  <bruno@clisp.org>
34309
34310         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
34311         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
34312         Reported by Thorsten Maerz <torte@netztorte.de> via
34313         Aaron Stone <aaron@serendipity.cx>.
34314
34315 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
34316
34317         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
34318         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
34319         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
34320         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
34321         not really conditional on the cache.
34322         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
34323
34324 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
34325
34326         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
34327         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
34328         (my_usleep): Don't mishandle maximum value.
34329
34330 2006-05-19  Jim Meyering  <jim@meyering.net>
34331
34332         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
34333
34334 2006-05-17  Bruno Haible  <bruno@clisp.org>
34335
34336         Cygwin portability.
34337         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
34338
34339 2006-05-17  Bruno Haible  <bruno@clisp.org>
34340
34341         * lib/stdint_.h: Fix recognition of Cygwin.
34342
34343 2006-05-15  Bruno Haible  <bruno@clisp.org>
34344
34345         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
34346         on libtool patch by Ralf Wildenhues.
34347
34348 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
34349
34350         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
34351         test for C99 conformance; (bool) 0.5 is an integer constant
34352         expression, but (bool) -0.5 is not.  Problem reported by Fedor
34353         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
34354
34355 2006-05-11  Simon Josefsson  <jas@extundo.com>
34356
34357         * m4/xvasprintf.m4: Fix obvious typo.
34358
34359 2006-05-11  Jim Meyering  <jim@meyering.net>
34360
34361         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
34362         James Lemley.
34363
34364 2006-05-10  Simon Josefsson  <jas@extundo.com>
34365
34366         * lib/md4.c: Typo fix, update copyright years.
34367         (K1, K2): Don't use L because it turn computations into 64-bit on
34368         64-bit platforms.
34369
34370 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
34371
34372         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
34373         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
34374         unwanted sign propagation, e.g., on hosts with 64-bit int.
34375         There still are some problems with reeelly weird theoretical hosts
34376         (e.g., 33-bit int) but it's not worth worrying about now.
34377         * lib/sha1.c (rol): Likewise.
34378         (K1, K2, K3, K4): Remove unnecessary L suffix.
34379
34380 2006-05-10  Bruno Haible  <bruno@clisp.org>
34381
34382         * lib/des.c: Cast to avoid warnings.
34383
34384 2006-05-09  Bruno Haible  <bruno@clisp.org>
34385
34386         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
34387         (Depends-on): Depend also on xsize, stdarg.
34388         (configure.ac): Add gl_XVASPRINTF.
34389
34390 2006-05-09  Bruno Haible  <bruno@clisp.org>
34391
34392         * m4/xvasprintf.m4: New file.
34393
34394 2006-05-09  Bruno Haible  <bruno@clisp.org>
34395
34396         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
34397         (EOVERFLOW): Define fallback value.
34398         (xstrcat): New function.
34399         (xvasprintf): Recognize the special case of a string concatenation.
34400
34401 2006-05-08  Eric Blake  <ebb9@byu.net>
34402
34403         * gnulib-tool (func_version): Base copyright year on CVS date.
34404         (func_emit_copyright_notice): New function.
34405         (func_emit_lib_Makefile_am): Use it.
34406         (func_emit_tests_Makefile_am): Likewise.
34407         (func_import): Likewise.
34408
34409 2006-05-08  Bruno Haible  <bruno@clisp.org>
34410
34411         * modules/stdarg: New file.
34412         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
34413
34414 2006-05-08  Bruno Haible  <bruno@clisp.org>
34415
34416         * m4/stdarg.m4: New file, from GNU gettext.
34417
34418 2006-05-08  Bruno Haible  <bruno@clisp.org>
34419
34420         * config/srclist.txt (build-aux/config.rpath): different from latest
34421         release.
34422
34423 2006-05-08  Bruno Haible  <bruno@clisp.org>
34424
34425         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
34426
34427 2006-05-05  Jim Meyering  <jim@meyering.net>
34428
34429         * m4/warning.m4: New file, derived from bison's file by the same name.
34430
34431 2006-05-03  Bruno Haible  <bruno@clisp.org>
34432
34433         * lib/stdint_.h: Shorter URL.
34434         * lib/inttypes.h: Likewise.
34435
34436 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
34437
34438         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
34439
34440 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
34441
34442         * lib/verify.h: Document the internals better.  Most of this change
34443         was written by Bruno Haible.
34444
34445 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
34446
34447         * doc/verify.texi: New file, partly based on a proposal by
34448         Bruno Haible.
34449
34450 2006-05-02  Bruno Haible  <bruno@clisp.org>
34451
34452         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
34453         test from here...
34454         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
34455
34456 2006-04-29  Bruno Haible  <bruno@clisp.org>
34457
34458         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
34459         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
34460
34461 2006-04-29  Bruno Haible  <bruno@clisp.org>
34462
34463         * gnulib-tool: Make --update option actually work.
34464
34465 2006-04-29  Bruno Haible  <bruno@clisp.org>
34466
34467         * doc/gcd.texi: New file.
34468         * doc/gnulib.texi: Include it.
34469
34470 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
34471
34472         * lib/getdate.y (get_date): When adding relative date, start with the
34473         initial time, not with the result of the first mktime call.
34474
34475 2006-04-25  Bruno Haible  <bruno@clisp.org>
34476
34477         * gnulib-tool (func_import): Output the include directives in three
34478         blocks, sorted separately.
34479         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34480
34481 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
34482
34483         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
34484         to define main with arguments, for C++.  Reported by Eric Blake.
34485         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
34486         Prefer 'int main ()' to 'int main (void)', for C++.
34487         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
34488         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
34489         for 'main', for C99 and C++.
34490
34491 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
34492
34493         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
34494         Don't assume that exit status -1 is valid.
34495         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
34496         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
34497         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
34498         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
34499         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
34500         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
34501         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
34502         functions can be used without declaring them, or that you can
34503         exit with status -1.
34504         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
34505
34506 2006-04-24  Karl Berry  <karl@gnu.org>
34507
34508         * config/srclist.txt (longdouble.m4): sync lost.
34509
34510 2006-04-24  Eric Blake  <ebb9@byu.net>
34511
34512         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
34513
34514 2006-04-24  Bruno Haible  <bruno@clisp.org>
34515
34516         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
34517         poll() implementation in AIX.
34518         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34519
34520 2006-04-24  Bruno Haible  <bruno@clisp.org>
34521
34522         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
34523         assigned exactly once.
34524
34525 2006-04-23  Claudio Fontana  <claudio@gnu.org>
34526             Bruno Haible  <bruno@clisp.org>
34527
34528         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
34529         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
34530         for AM_CPPFLAGS.
34531
34532 2006-04-23  Bruno Haible  <bruno@clisp.org>
34533
34534         * modules/copy-file: Depend on unistd.
34535         * modules/execute: Likewise.
34536         * modules/fatal-signal: Likewise.
34537         * modules/findprog: Likewise.
34538         * modules/mkdtemp : Likewise.
34539         * modules/pipe: Likewise.
34540         * modules/wait-process: Likewise.
34541
34542 2006-04-23  Bruno Haible  <bruno@clisp.org>
34543
34544         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
34545         condition was already detected.
34546         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34547
34548 2006-04-23  Bruno Haible  <bruno@clisp.org>
34549
34550         * lib/copy-file.c: Include <unistd.h> unconditionally.
34551         * lib/execute.c: Likewise.
34552         * lib/fatal-signal.c: Likewise.
34553         * lib/findprog.c: Likewise.
34554         * lib/mkdtemp.c: Likewise.
34555         * lib/pipe.h: Likewise.
34556         * lib/pipe.c: Likewise.
34557         * lib/wait-process.h: Likewise.
34558
34559 2006-04-23  Bruno Haible  <bruno@clisp.org>
34560
34561         * gnulib-tool (func_usage): Fix --import description. Document
34562         --update.
34563         (func_import): Create temporary file in a temporary directory, if
34564         --dry-run is specified. Silence errors from 'grep' when there are no
34565         m4 files in $m4dir.
34566         (func_create_testdir): Silence errors from 'grep' when there are no
34567         m4 files in $m4dir.
34568         Reported by Karl Berry <karl@freefriends.org>.
34569
34570 2006-04-20  Bruno Haible  <bruno@clisp.org>
34571
34572         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
34573         one argument, so that the code will be portable to Autoconf 2.60.
34574         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
34575         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
34576         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
34577
34578 2006-04-19  Derek Price  <derek@ximbiot.com>
34579             Eric Blake  <ebb9@byu.net>
34580
34581         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
34582         rather than "/full/path.h".  Update comment to match.  Shorten &
34583         generalize m4_translit call via AS_TR_CPP.
34584
34585 2006-04-19  Derek Price  <derek@ximbiot.com>
34586             Eric Blake  <ebb9@byu.net>
34587
34588         * lib/inttypes.h: Correct grammar in comment.
34589
34590 2006-04-18  Derek Price  <derek@ximbiot.com>
34591             Paul Eggert  <eggert@cs.ucla.edu>
34592
34593         * modules/inttypes: New file.
34594         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
34595
34596 2006-04-18  Derek Price  <derek@ximbiot.com>
34597             Paul Eggert  <eggert@cs.ucla.edu>
34598
34599         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
34600         New files.
34601
34602 2006-04-18  Derek Price  <derek@ximbiot.com>
34603             Paul Eggert  <eggert@cs.ucla.edu>
34604
34605         * lib/inttypes.h: New file.
34606         * lib/strtoimax.c: Assume <inttypes.h>.
34607
34608 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
34609
34610         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
34611         isn't mounted.  Problem reported by Kir Kolyshkin.
34612
34613 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
34614
34615         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
34616         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
34617         Derek R. Price.
34618         * lib/regex.h (RE_DUP_MAX): Update comment to match current
34619         implementation.
34620
34621 2006-04-12  Eric Blake  <ebb9@byu.net>
34622
34623         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
34624         is now done automatically by the corresponding Autoconf macro.
34625
34626 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
34627
34628         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
34629         time_r.h.
34630
34631 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
34632
34633         Merge regex changes from libc, removing some of our
34634         POSIX-conformance changes that were rejected and redoing them in a
34635         less-intrusive way.
34636
34637         * lib/regcomp.c (re_compile_internal, init_dfa):
34638         Length arg is now size_t, not Idx.  All uses changed.
34639         (peek_token): Forward decl now says internal_function.
34640         (__re_error_msgid, __re_error_msgid_idx):
34641         Now static rather than extern with attribute_hidden.
34642         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
34643         For some reason libc prefers K&R style defns for external functions.
34644         (regerror) [!defined _LIBC]: Likewise.
34645         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
34646         (seek_collating_symbol_entry, lookup_collation_sequence_value):
34647         (build_range_exp, build_collating_symbol):
34648         Use K&R-style defn.
34649         (re_compile_fastmap): Use '\0' to memset, not 0.
34650         (utf8_sb_map): Make the calculations more obvious.
34651         (init_dfa, parse_bracket_exp, build_charclass_op):
34652         Call calloc and cast result, as glibc does.
34653         (init_word_char, fetch_token, peek_token, peek_token_bracket):
34654         (build_range_exp, build_collating_symbol):
34655         Now internal functions.
34656
34657         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
34658
34659         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
34660         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
34661         Don't depend on VMS; depend on __VMS instead, for POSIX
34662         namespace cleanness.
34663         (regoff_t): Define to ssize_t, not long int.
34664
34665         Remove the REG_ macros named below.  Instead, make the old names
34666         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
34667         __USE_GNU_REGEX.
34668         (REG_BACKSLASH_ESCAPE_IN_LISTS):
34669         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
34670         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
34671         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
34672         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
34673         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
34674         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
34675         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
34676         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
34677         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
34678         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
34679         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
34680         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
34681         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
34682         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
34683         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
34684         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
34685         (REG_NREGS):
34686         Remove.  All uses replaced by the old RE_* names.
34687         (RE_BACKSLASH_ESCAPE_IN_LISTS):
34688         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
34689         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
34690         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
34691         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
34692         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
34693         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
34694         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
34695         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
34696         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
34697         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
34698         Don't bother having these macros be independent of each others'
34699         values, since they no longer exist in the POSIX name space.
34700
34701         Rename the following member names back to their old names,
34702         unless !__USE_GNU_REGEX.  All uses changed back.
34703         (buffer): Renamed from re_buffer.
34704         (allocated): Renamed from re_allocated.
34705         (used): Renamed from re_used.
34706         (syntax): Renamed from re_syntax.
34707         (fastmap): Renamed from re_fastmap.
34708         (translate): Renamed from re_translate.
34709         (can_be_null): Renamed from re_can_be_null.
34710         (regs_allocated): Renamed from re_regs_allocated.
34711         (fastmap_accurate): Renamed from re_fastmap_accurate.
34712         (no_sub): Renamed from re_no_sub.
34713         (not_bol): Renamed from re_not_bol.
34714         (not_eol): Renamed from re_not_eol.
34715         (newline_anchor): Renamed from re_newline_anchor.
34716         (num_regs): Renamed from rm_num_regs.
34717         (start): Renamed from rm_start.
34718         (end): Renamed from rm_end.
34719
34720         (free_state): Move up a bit.
34721
34722         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
34723         #define to be empty.
34724         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
34725         when that is what is intended.
34726         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
34727         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
34728         (MAX): New macro.
34729         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
34730         All uses changed back to re_malloc, etc.  It's now the caller's
34731         responsibility to check for overflow; all callers changed.
34732         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
34733         (re_x2nrealloc): Remove.
34734         (free_state): Remove decl.
34735
34736         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
34737         (re_set_registers, re_exec):
34738         Use K&R-style defn.
34739
34740         2006-01-31  Roland McGrath  <roland@redhat.com>
34741
34742         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
34743         Reported by Mike Frysinger <vapier@gentoo.org>.
34744
34745         2006-01-15  Andreas Jaeger  <aj@suse.de>
34746
34747         [BZ #1950]
34748         * lib/regex_internal.c (re_string_reconstruct): Adjust for
34749         build_wcs_upper_buffer change.
34750         (build_wcs_upper_buffer): Change return type.
34751
34752         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
34753
34754         * lib/regex_internal.h: Include <stdint.h> if available.
34755
34756         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
34757
34758         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
34759
34760         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
34761
34762         * lib/regcomp.c: Adjust for changed secondary hash function.
34763
34764         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
34765
34766         * lib/regex.h: Pretty printing.
34767         Clean up namespace a bit.
34768
34769         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
34770
34771         * lib/regexec.c (update_cur_sifted_state, check_arrival,
34772         check_arrival_add_next_nodes): Avoid using uninitialized variable.
34773
34774         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
34775                     Ulrich Drepper  <drepper@redhat.com>
34776
34777         [BZ #1302]
34778         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
34779         changed.
34780         (bitset_word_t): Renamed from bitset_word.  All uses changed.
34781
34782         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
34783
34784         [BZ #281]
34785         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
34786         * lib/regcomp.c: Remove unnecessary uses of
34787         unsigned RE_TRANSLATE_TYPE.
34788         * lib/regex_internal.h: Likewise.
34789         * lib/regex_internal.c: Likewise.
34790         * lib/regexec.c: Likewise.
34791         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
34792
34793         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
34794
34795         * lib/regexec.c (find_recover_state): Remove unnecessary
34796         initialization.
34797         (transit_state_bkref): Make DFA a const pointer.
34798         (get_subexp): Likewise.
34799         (check_arrival): Likewise.
34800         (update_cur_sifted_state): Likewise.
34801         (re_search_internal): Likewise.
34802         (prune_impossible_nodes): Likewise.
34803         (acquire_init_state_context): Likewise.
34804         (proceed_next_node): Likewise.
34805         (set_regs): Likewise.
34806         (free_fail_stack_return): Likewise.
34807         (check_arrival_expand_ecl): Mark DFA parameter as const.
34808         (check_arrival_expand_ecl_sub): Likewise.
34809         (check_subexp_limits): Likewise.
34810         (sub_epsilon_src_nodes):  Likewise.
34811         (add_epsilon_src_nodes):  Likewise.
34812         (merge_state_array): Likewise.
34813         (update_regs): Likewise.
34814         (build_trtable): Likewise.
34815         (sift_states_backward): Mark MCTX parameter as const.
34816         (build_sifted_states): Likewise.
34817         (update_cur_sifted_state): Likewise.
34818         (sift_states_mkref): Likewise.
34819         (check_arrival_expand_ecl): Mark eclosure as const.
34820         (check_dst_limits_calc_pos_1): Likewise.
34821         * lib/regex_internal.h (re_match_context_t): Make dfa a const
34822         pointer.
34823
34824         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
34825
34826         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
34827         (transit_state_sb): Likewise.
34828         (transit_state_mb): Likewise.
34829         (sift_states_iter_mb): Likewise.
34830         (check_arrival_add_next_nodes): Likewise.
34831         (check_node_accept_bytes): Change first parameter to pointer-to-const.
34832         [_LIBC] (re_search_2_stub): Use mempcpy.
34833
34834         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
34835         mbrtowc for very simple UTF-8 case.
34836
34837         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
34838         a pointer-to-const.
34839         (re_acquire_state_context): Likewise.
34840         * lib/regex_internal.h: Adjust prototypes.
34841
34842         * lib/regex.c: Prevent using C++ compilers.
34843
34844         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
34845         (re_acquire_state_context): Likewise.
34846
34847 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
34848
34849         * modules/regex (Depends-on): Add ssize_t.
34850
34851 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
34852
34853         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
34854         translation table.
34855
34856 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
34857
34858         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
34859
34860 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
34861             Bruno Haible  <bruno@clisp.org>
34862
34863         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
34864         <sys/types.h> and <inttypes.h>.
34865
34866 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34867
34868         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
34869         `__error_t_defined', so argp.h will not typedef the former.
34870
34871 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
34872
34873         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
34874         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
34875         glibc names.  Even if glibc is changed to conform to POSIX, the
34876         traditional names will be available anyway, since regex depends on
34877         the extensions module.  Also, fix a longstanding typo in the
34878         implementation of Spencer ERE test #75 from grep 2.3.  Problems
34879         reported by Emanuele Giaquinta.  Also, change sense of cached
34880         variable, so that the message makes sense.
34881
34882 2006-03-24  Simon Josefsson  <jas@extundo.com>
34883
34884         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
34885         including some doc fixes.
34886         (base64_encode_alloc): Fix +1 bug on allocation failures.
34887
34888 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34889
34890         * lib/base64.c (base64_encode): Do not read past end of array with
34891         unsanitized input on systems with CHAR_BIT > 8.
34892
34893 2006-03-24  Eric Blake  <ebb9@byu.net>
34894
34895         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
34896
34897 2006-03-22  Karl Berry  <karl@gnu.org>
34898
34899         * config/srclist.txt (*setenv.[ch]): get from coreutils.
34900         * config/srclistvars.sh (COREUTILS): new var.
34901
34902 2006-03-17  Jim Meyering  <jim@meyering.net>
34903
34904         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
34905         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
34906
34907 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
34908
34909         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
34910         no longer needs it.  Instead, check that regoff_t is as least
34911         as wide as ptrdiff_t.
34912
34913         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
34914         so that our regex.h stays compatible with the installed regex.
34915         This is helpful for installers who configure --without-included-regex.
34916         Problem reported by Emanuele Giaquinta.
34917
34918 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
34919
34920         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
34921         Typedef to long int, not to off_, as POSIX will likely change
34922         in that direction.
34923
34924 2006-03-15  Eric Blake  <ebb9@byu.net>
34925
34926         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
34927
34928 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
34929
34930         * lib/argp-help.c (validate_uparams): Fix typo
34931         * lib/argp-parse.c (argp_default_options): Consistently begin help
34932         messages with a lowercase letter.
34933
34934 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
34935
34936         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
34937         overrun buffers and shouldn't be used (much as gets shouldn't be
34938         used).
34939         * lib/time_r.c (asctime_r, ctime_r): Likewise.
34940
34941 2006-03-08  Simon Josefsson  <jas@extundo.com>
34942
34943         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
34944         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34945
34946 2006-03-08  Simon Josefsson  <jas@extundo.com>
34947
34948         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
34949         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34950
34951 2006-03-08  Simon Josefsson  <jas@extundo.com>
34952
34953         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
34954         signal that configure disabled the device.
34955
34956 2006-03-08  Simon Josefsson  <jas@extundo.com>
34957
34958         * build-aux/maint.mk: Fix refresh-po, to handle no translated
34959         languages.
34960
34961 2006-03-07  Simon Josefsson  <jas@extundo.com>
34962
34963         * modules/getopt (Depends-on): Add unistd.
34964
34965         * modules/unistd: New file.
34966
34967 2006-03-07  Simon Josefsson  <jas@extundo.com>
34968
34969         * modules/gc-random: New file.
34970
34971 2006-03-07  Simon Josefsson  <jas@extundo.com>
34972
34973         * m4/unistd_h.m4: New file.
34974
34975 2006-03-07  Simon Josefsson  <jas@extundo.com>
34976
34977         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
34978         test to be side-effect free by storing the result in the cache
34979         variable gl_cv_lib_readline, and moving the assignment of
34980         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
34981         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34982
34983 2006-03-07  Simon Josefsson  <jas@extundo.com>
34984
34985         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
34986         error on missing devices (the functions will return an error).
34987
34988         * m4/gc.m4: Move random stuff to gc-random.m4
34989
34990 2006-03-07  Simon Josefsson  <jas@extundo.com>
34991
34992         * lib/unistd_.h: New file.
34993
34994 2006-03-07  Simon Josefsson  <jas@extundo.com>
34995
34996         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
34997
34998 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
34999
35000         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
35001         Problem reported by Juan Manuel Guerrero.
35002
35003 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
35004
35005         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
35006         the unistd module.
35007         * lib/getlogin_r.c: Likewise.
35008         * lib/getlogin_r.h: Likewise.
35009         * lib/glob.c: Likewise.
35010         * lib/pagealign_alloc.c: Likewise.
35011         * lib/unistd_.h: Remove; no longer needed.
35012
35013 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
35014
35015         * MODULES.html.sh (Support for systems lacking POSIX:2001):
35016         Add unistd.
35017         * modules/c-stack (Depends-on): Add unistd.
35018         * modules/getlogin_r: Likewise.
35019         * modules/glob: Likewise.
35020         * modules/pagealign_alloc: Likewise.
35021         * modules/unistd (Files): Remove lib/unistd_.h.
35022         (EXTRA_DIST): Remove.
35023         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
35024         need unistd_.h.
35025         (MOSTLYCLEANFILES): Remove unistd.h-t.
35026
35027 2006-03-03  Simon Josefsson  <jas@extundo.com>
35028
35029         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
35030
35031 2006-03-03  Simon Josefsson  <jas@extundo.com>
35032
35033         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
35034         libidn and bison.
35035
35036 2006-03-03  Simon Josefsson  <jas@extundo.com>
35037
35038         * build-aux/maint.mk: Add indent target.
35039
35040 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
35041
35042         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
35043         our replacement poll.h in any case, to avoid a differing
35044         declaration from a system header.  Seen on AIX.
35045
35046 2006-03-01  Simon Josefsson  <jas@extundo.com>
35047
35048         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
35049         <kasal@ucw.cz>.
35050
35051 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
35052
35053         * modules/gettime (Depends-on): Add extensions module.
35054         * modules/nanosleep (Depends-on): Likewise.
35055         * modules/settime (Depends-on): Likewise.
35056
35057 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
35058
35059         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
35060         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
35061         pedantically.
35062         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
35063         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
35064
35065         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
35066         not "==".  Reported by Ralf Wildenhues.
35067
35068 2006-03-01  Karl Berry  <karl@gnu.org>
35069
35070         * doc/Copyright/request-*: new files, synced from gnuorg.
35071
35072 2006-03-01  Karl Berry  <karl@gnu.org>
35073
35074         * config/srclist.txt (Copyright/*): new entries.
35075
35076 2006-02-28  Simon Josefsson  <jas@extundo.com>
35077
35078         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
35079
35080 2006-02-27  Simon Josefsson  <jas@extundo.com>
35081
35082         * lib/base64.h: Indent #define's.  From Jim Meyering
35083         <jim@meyering.net>.
35084
35085 2006-02-27  Jim Meyering  <jim@meyering.net>
35086
35087         Revert the change of 2006-02-24, so these files can continue
35088         to be sync'd from gettext.
35089         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
35090         of `config.h'.
35091
35092 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
35093
35094         * modules/intprops: New file.
35095         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
35096         Add intprops.
35097         * modules/getloadavg (Files): Remove lib/intprops.h.
35098         (Depends-on): Add intprops.
35099         * modules/human: Likewise.
35100         * modules/inttostr: Likewise.
35101         * modules/openat: Likewise.
35102         * modules/sig2str: Likewise.
35103         * modules/userspec: Likewise.
35104         * modules/utimecmp: Likewise.
35105         * modules/xnanosleep: Likewise.
35106         * modules/xstrtol: Likewise.
35107
35108 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
35109
35110         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
35111         * modules/lock-tests (TESTS): Use $(EXEEXT).
35112         * modules/tls-tests: Likewise.
35113         * modules/argp-tests: Likewise.
35114         (check_PROGRAMS): New var, replacing...
35115         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
35116
35117 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35118
35119         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
35120         `config.h'.
35121
35122 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
35123
35124         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
35125
35126 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35127
35128         Sync from coreutils.
35129         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
35130         gl_CHDIR_SAFER.
35131
35132 2006-02-22  Jim Meyering  <jim@meyering.net>
35133
35134         Sync from coreutils.
35135         * m4/chdir-safer.m4: New file.
35136
35137 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35138
35139         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
35140         AT_FDCWD exceeds INT_MAX.
35141         * lib/openat.h (AT_FDCWD): Likewise.
35142
35143 2006-02-17  Eric Blake  <address@hidden>
35144
35145         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
35146
35147 2006-02-16  Simon Josefsson  <jas@extundo.com>
35148
35149         * modules/getaddrinfo (Depends-on): Add sys_socket.
35150
35151 2006-02-15  Simon Josefsson  <jas@extundo.com>
35152
35153         * build-aux/maint.mk: Add dsyntax-check rule.
35154
35155 2006-02-15  Eric Blake  <ebb9@byu.net>
35156
35157         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
35158         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
35159         'present but cannot compile' warnings on cygwin.
35160         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
35161         use ws2tcpip.h if sys/socket.h works.
35162         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
35163         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
35164
35165 2006-02-14  Simon Josefsson  <jas@extundo.com>
35166
35167         * modules/maintainer-makefile (Files): Rename.
35168
35169         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
35170         and (the local) Makefile.cfg to maint-cfg.mk.
35171
35172         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
35173         to the latter.
35174
35175         * modules/maintainer-makefile: New module.
35176
35177         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
35178         severaly stripped to make it possible to build it up from scratch
35179         with reliable tests.
35180
35181         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
35182         fixes to permit overriding the default actions when configure and
35183         makefile are not available.
35184
35185 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
35186
35187         Sync from coreutils.
35188         * modules/lstat (Depends-on): Don't depend on xalloc.
35189         (License): Change from GPL to LGPL, since this is now simply a
35190         replacement for a libc function.
35191
35192 2006-02-14  Jim Meyering  <jim@meyering.net>
35193
35194         Sync from coreutils.
35195
35196         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
35197         failure on deficient systems, and simplify gnulib lgpl dependencies.
35198         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
35199         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
35200
35201         * lib/xalloc-die.c: Remove unused definition of N_.
35202
35203 2006-02-14  Jim Meyering  <jim@meyering.net>
35204
35205         Sync from coreutils.
35206         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
35207         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
35208         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
35209         double-quote uses of that variable, to accommodate the rare case in
35210         which getmntent is available in none of the libraries checked.  This
35211         happens at least on FreeBSD 5.0.
35212
35213 2006-02-13  Simon Josefsson  <jas@extundo.com>
35214
35215         * gnulib-tool (Usage): Fix --import, from
35216         karl@freefriends.org (Karl Berry).
35217
35218 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
35219
35220         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
35221
35222 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
35223
35224         * lib/argp-namefrob.h: Restore changes accidentally lost during the
35225         "autoupdate" on 2005-12-12.
35226
35227 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
35228
35229         * modules/closeout (Depends-on): Remove atexit.
35230
35231 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
35232
35233         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
35234         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
35235
35236 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
35237
35238         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
35239         __EXTENSIONS__ if this causes compilation to fail.  Problem
35240         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
35241         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
35242
35243 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
35244
35245         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
35246         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
35247         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
35248         All uses changed.
35249
35250 2006-01-26  Simon Josefsson  <jas@extundo.com>
35251
35252         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
35253         prototype is visible on mingw32.
35254
35255         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
35256         for mingw32.
35257
35258         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
35259         mingw32).
35260
35261 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
35262
35263         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
35264         attempt to open for write; this always fails, at least on POSIX
35265         hosts.  This reinstates the 2006-01-09 change, which was
35266         inadvertently removed.
35267
35268 2006-01-26  Bruno Haible  <bruno@clisp.org>
35269
35270         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
35271         Reported by Paul Eggert.
35272
35273 2006-01-26  Bruno Haible  <bruno@clisp.org>
35274             Paul Eggert  <eggert@cs.ucla.edu>
35275
35276         * lib/stdbool_.h (_Bool)
35277         [(! (defined __cplusplus || defined __BEOS__)
35278           && !defined __GNUC__
35279           && !(defined __HP_cc || defined __xlc__
35280                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
35281                || defined __sgi))]:
35282         #define to signed char in these cases too; this simplifies
35283         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
35284         etc., separately) and makes it more conservative.
35285
35286 2006-01-25  Simon Josefsson  <jas@extundo.com>
35287
35288         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
35289         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
35290         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
35291
35292 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
35293
35294         * lib/argp-namefrob.h: Bugfix. Remove stray #
35295
35296 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
35297
35298         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
35299         so that we test the test.
35300         Check for yet another HP-UX cc bug involving *bool |= bool.
35301
35302 2006-01-25  Karl Berry  <karl@gnu.org>
35303
35304         * config/srclist.txt (vasnprintf.c): sync lost.
35305
35306 2006-01-25  Jim Meyering  <jim@meyering.net>
35307
35308         Sync from the stable (b5) branch of coreutils:
35309
35310         * lib/fts.c (fts_children): Don't let close() clobber errno from
35311         failed fchdir().
35312
35313         * lib/fts.c (fts_stat): When following a symlink-to-directory,
35314         don't necessarily interpret stat-fails+lstat-succeeds as indicating
35315         a dangling symlink.  That can also happen at least for ELOOP.
35316         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
35317         FYI, this bug predates the inclusion of fts.c in coreutils.
35318
35319         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
35320         in their own block, so pre-c99 compilers don't object.
35321
35322         Avoid the double-free (first in fts_read, second in fts_close) that
35323         would occur when an `active' directory is made inaccessible (e.g.,
35324         via chmod a-x) during a traversal.
35325         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
35326         before returning.  Reproduce this failure by
35327         mkdir -p a/b; cd a; chmod a-x . b
35328         Reported by Stavros Passas.
35329
35330 2006-01-25  Jim Meyering  <jim@meyering.net>
35331
35332         * lib/fileblocks.c: Remove more useless parentheses.
35333         * lib/readutmp.h: Likewise.
35334
35335 2006-01-25  Bruno Haible  <bruno@clisp.org>
35336
35337         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
35338         warnings.
35339         Reported by Paul Eggert.
35340
35341 2006-01-25  Bruno Haible  <bruno@clisp.org>
35342
35343         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
35344         rid of a trap command. For Solaris sh.
35345         Reported by Mark D. Baushke <mdb@gnu.org>.
35346
35347 2006-01-24  Simon Josefsson  <jas@extundo.com>
35348
35349         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
35350         Bruno.
35351
35352 2006-01-24  Karl Berry  <karl@gnu.org>
35353
35354         * config/srclist.txt (argp-namefrob.h): sync lost.
35355
35356 2006-01-24  Jim Meyering  <jim@meyering.net>
35357
35358         * modules/openat (Files): Add lib/intprops.h.
35359         From Mark D. Baushke.
35360
35361 2006-01-24  Jim Meyering  <jim@meyering.net>
35362
35363         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
35364         Reported by Mark D. Baushke.
35365
35366 2006-01-24  Jim Meyering  <jim@meyering.net>
35367
35368         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
35369
35370 2006-01-24  Bruno Haible  <bruno@clisp.org>
35371
35372         * modules/strnlen (Maintainer): Change from glibc to all.
35373
35374 2006-01-24  Bruno Haible  <bruno@clisp.org>
35375
35376         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
35377         Patch by Paul Eggert.
35378
35379 2006-01-24  Bruno Haible  <bruno@clisp.org>
35380
35381         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
35382         already has it.
35383         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
35384         2005-11-26.
35385
35386         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
35387         'signed char' to avoid problems with the built-in _Bool type.
35388         Reported by Paul Eggert on 2005-11-26.
35389
35390 2006-01-24  Bruno Haible  <bruno@clisp.org>
35391
35392         * gnulib-tool (func_import): Avoid constructing complicated sed
35393         expressions inside backquote.
35394         Report and solution by Mark D. Baushke <mdb@gnu.org>.
35395
35396 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
35397
35398         These changes imported from libc.
35399         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
35400         test and two separate function calls.
35401         * lib/strndup.c (__strndup): Add libc_hidden_def.
35402
35403 2006-01-23  Simon Josefsson  <jas@extundo.com>
35404
35405         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
35406         Remove the test_*_SOURCES variable: automake infers it by default.
35407         * modules/tls-tests: Likewise.
35408
35409 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35410
35411         Work around porting bugs reported by Dieter in
35412         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
35413         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
35414         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
35415         Include "getopt.h" first, to check interface.
35416         (getenv): Declare only if defined HAVE_DECL_GETENV &&
35417         !HAVE_DECL_GETENV.
35418         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
35419         (__strndup): Revert to K&R-style function dfns, the glibc style.
35420         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
35421         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
35422         Include strnlen.h first, to get prototype properly.
35423         (strnlen): Renamed from __strnlen.
35424         Remove weak alias.
35425
35426 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35427
35428         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
35429
35430 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35431
35432         * config/srclist.txt: Adjust to reflect glibc reorganization.
35433         This affects only comments.
35434
35435 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
35436
35437          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
35438          Reported by Bruce Korb <bkorb@gnu.org>.
35439
35440 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
35441
35442         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
35443         to pacify gcc -Wswitch-default.
35444
35445 2006-01-22  Bruno Haible  <bruno@clisp.org>
35446
35447         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
35448         temporary buffer for sprintf, take into account the precision also
35449         for 'd', 'i', 'u', 'o', 'x', 'X'.
35450
35451 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
35452
35453         * modules/argp-tests: New module
35454         * tests/test-argp.c: New file
35455         * tests/test-argp-2.sh: New file
35456
35457 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
35458
35459         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
35460         (__argp_base_name): Removed
35461         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
35462         typo.
35463         (__argp_base_name): Provide macro definition or extern declaration
35464         depending on the configuration
35465
35466 2006-01-20  Simon Josefsson  <jas@extundo.com>
35467
35468         * modules/inet_ntop (Depends-on): Depend on sys_socket.
35469
35470 2006-01-20  Simon Josefsson  <jas@extundo.com>
35471
35472         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
35473
35474 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
35475
35476         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
35477         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
35478         Suggested by Bruno Haible.
35479
35480 2006-01-20  Karl Berry  <karl@gnu.org>
35481
35482         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
35483         until changes propagate, I guess.
35484
35485 2006-01-19  Simon Josefsson  <jas@extundo.com>
35486
35487         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
35488
35489 2006-01-19  Simon Josefsson  <jas@extundo.com>
35490
35491         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
35492
35493 2006-01-19  Simon Josefsson  <jas@extundo.com>
35494
35495         * gnulib-tool: Set check_PROGRAMS.
35496
35497         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
35498         modules/des-tests, modules/gc-arcfour-tests,
35499         modules/gc-arctwo-tests, modules/gc-des-tests,
35500         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
35501         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
35502         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
35503         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
35504         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
35505         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
35506         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
35507         test_*_SOURCES.
35508
35509 2006-01-18  Simon Josefsson  <jas@extundo.com>
35510
35511         * modules/socklen (Depends-on): Depend on sys_socket.
35512
35513 2006-01-18  Simon Josefsson  <jas@extundo.com>
35514
35515         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
35516         modules/des-tests, modules/gc-arcfour-tests,
35517         modules/gc-arctwo-tests, modules/gc-des-tests,
35518         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
35519         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
35520         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
35521         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
35522         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
35523         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
35524         $(EXEEXT) to automake TESTS variable, for mingw32.
35525
35526 2006-01-17  Simon Josefsson  <jas@extundo.com>
35527
35528         * modules/socklen (Include): Need sys/socket.h.
35529
35530 2006-01-17  Bruno Haible  <bruno@clisp.org>
35531
35532         * modules/ssize_t (Include): Add <sys/types.h>.
35533
35534 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
35535
35536         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
35537         it's not portable and it doesn't work with cross-compiles.
35538         Problem reported by Bruno Haible.  Fix missing-$ typo in
35539         'test "gl_cv_ignore_unused_libraries" ...' that prevented
35540         -zignore from being used with Sun's C compiler.
35541
35542 2006-01-12  Simon Josefsson  <jas@extundo.com>
35543
35544         * lib/base64.c: Fix warning, reported by Bruno Haible
35545         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
35546
35547 2006-01-12  Bruno Haible  <bruno@clisp.org>
35548
35549         * modules/ldd: New file.
35550         * build-aux/ldd.sh.in: New file.
35551         * MODULES.html.sh (Support for building libraries and executables): Add
35552         ldd.
35553
35554 2006-01-12  Bruno Haible  <bruno@clisp.org>
35555
35556         * m4/ldd.m4: New file.
35557
35558 2006-01-12  Bruno Haible  <bruno@clisp.org>
35559
35560         * gnulib-tool (func_import, func_create_testdir): Don't go into an
35561         endless loop while replacing $auxdir with build-aux.
35562
35563 2006-01-11  Simon Josefsson  <jas@extundo.com>
35564
35565         * lib/stdint_.h (SIZE_MAX): Add missing (.
35566
35567 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
35568
35569         Sync from coreutils.
35570         * lib/md5.c: Fix commentary typos.
35571         (alignof, UNALIGNED_P): No need for a GCC-specific version.
35572         * lib/md5.h (__attribute__): Remove; unused.
35573         * lib/sha1.c: Fix commentary to match md5 better.
35574         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
35575         so that we don't need to worry about alignment.  All uses changed.
35576         This merges the 2005-10-28 md5 change into sha1.
35577
35578 2006-01-11  Jim Meyering  <jim@meyering.net>
35579
35580         Sync from coreutils.
35581         * lib/md5.c (OP): Fix spacing.
35582
35583 2006-01-11  Bruno Haible  <bruno@clisp.org>
35584
35585         Ensure automatic ordering between gl_LOCK and gl_ARGP.
35586         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
35587         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
35588
35589 2006-01-11  Bruno Haible  <bruno@clisp.org>
35590
35591         Ensure automatic ordering between gl_LOCK and gl_ARGP.
35592         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
35593         the "early" section as well.
35594
35595 2006-01-11  Bruno Haible  <bruno@clisp.org>
35596
35597         Avoid "ar: no archive members specified" error on MacOS X.
35598         * gnulib-tool (func_modules_add_dummy): New function.
35599         (func_import, func_create_testdir): Invoke it.
35600
35601 2006-01-11  Bruno Haible  <bruno@clisp.org>
35602
35603         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
35604         with $auxdir in AC_CONFIG_FILES statements.
35605
35606 2006-01-11  Bruno Haible  <bruno@clisp.org>
35607
35608         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35609         Initialize also noinst_HEADERS to empty.
35610
35611 2006-01-11  Bruno Haible  <bruno@clisp.org>
35612
35613         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
35614         variables.
35615         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
35616         autoreconf.
35617
35618 2006-01-11  Bruno Haible  <bruno@clisp.org>
35619
35620         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
35621         overridable by the user.
35622         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35623
35624 2006-01-10  Simon Josefsson  <jas@extundo.com>
35625
35626         * modules/sys_socket: New file.
35627
35628 2006-01-10  Simon Josefsson  <jas@extundo.com>
35629
35630         * m4/sys_socket_h.m4: New file.
35631
35632 2006-01-10  Simon Josefsson  <jas@extundo.com>
35633
35634         * lib/socket_.h: New file.
35635
35636 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35637
35638         * modules/readutmp (Maintainer): Add myself.
35639
35640 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35641
35642         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
35643         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
35644         People who are still concerned with buggy memcmp implementations
35645         can invoke gl_FUNC_MEMCMP themselves.
35646
35647 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35648
35649         * lib/regex_internal.h (BITSET_WORD_BITS):
35650         Work around a bug in 64-bit PGC (before version 6.1-2), where the
35651         preprocessor mishandles large unsigned values as if they were signed.
35652         Problem reported by Claudio Fontana in
35653         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
35654
35655 2006-01-10  Jim Meyering  <jim@meyering.net>
35656
35657         Avoid the double-free (first in fts_read, second in fts_close) that
35658         would occur when an `active' directory is made inaccessible (e.g.,
35659         via chmod a-x) during a traversal.
35660         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
35661         before returning.  Reproduce this failure by
35662         mkdir -p a/b; cd a; chmod a-x . b
35663         Reported by Stavros Passas.
35664
35665         Sync from coreutils.
35666         * lib/sha1.c: Tweak grammar in a comment.
35667
35668 2006-01-10  Jim Meyering  <jim@meyering.net>
35669
35670         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
35671         Patch by Joerg Sonnenberger.
35672
35673 2006-01-10  Bruno Haible  <bruno@clisp.org>
35674
35675         * modules/readutmp: Depend on module free.
35676         * modules/strtok_r: Depend on module restrict.
35677
35678 2006-01-10  Bruno Haible  <bruno@clisp.org>
35679
35680         * modules/gettext (configure.ac): Add an invocation of
35681         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
35682
35683 2006-01-10  Bruno Haible  <bruno@clisp.org>
35684
35685         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
35686         Reported by Werner Lemberg <wl@gnu.org>.
35687
35688 2006-01-10  Bruno Haible  <bruno@clisp.org>
35689
35690         * lib/localcharset.c: Update from GNU gettext.
35691
35692 2006-01-10  Bruno Haible  <bruno@clisp.org>
35693
35694         * lib/argp.h (__const): Remove macro. Use const instead.
35695         * lib/argp-fmtstream.h (__const): Likewise.
35696         * lib/glob_.h (__const): Remove macro.
35697         * lib/glob-libc.h: Use const instead of __const.
35698
35699 2006-01-10  Bruno Haible  <bruno@clisp.org>
35700
35701         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
35702         variable.
35703         Needed to avoid an automake error regarding the 'gettext' module.
35704
35705 2006-01-09  Simon Josefsson  <jas@extundo.com>
35706
35707         * modules/inet_ntop (Depends-on): Add restrict.
35708
35709 2006-01-09  Simon Josefsson  <jas@extundo.com>
35710
35711         * modules/gc-rijndael-tests (License): Put under LGPL.
35712
35713         * modules/gc-des-tests (License): Likewise.
35714
35715         * modules/gc-arcfour-tests (License): Likewise.
35716
35717         * modules/gc-arctwo-tests (License): Likewise.
35718
35719         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
35720
35721         * modules/gc-hmac-sha1-tests (Files): Likewise.
35722
35723         * modules/gc-hmac-md5-tests (License): Likewise.
35724
35725         * modules/gc-sha1-tests (License): Likewise.
35726
35727         * modules/gc-md5-tests (License): Likewise.
35728
35729         * modules/gc-md4-tests (License): Likewise.
35730
35731         * modules/gc-md2-tests (License): Likewise.
35732
35733         * modules/gc-tests (License): Likewise.
35734
35735         * modules/des-tests (License): Likewise.
35736
35737         * modules/md4-tests (License): Likewise.
35738
35739         * modules/md2-tests (License): Likewise.
35740
35741 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
35742
35743         Sync from coreutils:
35744
35745         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
35746         * modules/lib-ignore: New file.
35747         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
35748         chdir-safer.m4, lchmod.m4.
35749         * modules/openat: Add mkdirat.c, openat-priv.h.
35750
35751 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
35752
35753         Sync from coreutils.
35754         * m4/lib-ignore.m4: New file.
35755         * m4/lchmod.m4: New file.
35756
35757 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
35758
35759         Sync from coreutils.
35760         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
35761         for write access: POSIX says that must fail.
35762         * lib/fts.c (diropen): Likewise.
35763         * lib/save-cwd.c (save_cwd): Likewise.
35764         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
35765         well, for minor improvements on hosts that lack O_DIRECTORY.
35766         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
35767         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
35768         Fall back on chown if open failed with EACCES.
35769
35770         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
35771         Report an error at compile-time if only a 1-second nominal clock
35772         resolution is found.
35773
35774         * lib/lchmod.h: New file.
35775         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
35776         (make_dir_parents): Use lchown rather than chown, and
35777         lchmod rather than chmod.
35778
35779         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
35780         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
35781         "proc" reported by n0dalus.
35782
35783         * lib/mountlist.c: Include <limits.h>.
35784         (dev_from_mount_options)
35785         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
35786         New function.  It no longer assumes "dev=" has the System V meaning
35787         on Linux (since it doesn't).  It also parses "dev=" more carefully.
35788         (read_file_system_list)
35789         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
35790         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
35791         dev= in that case.
35792
35793         * lib/posixtm.h (PDS_PRE_2000): New macro.
35794         * lib/posixtm.c (year): Arg is now syntax_bits rather than
35795         allow_century.  All usages changed.  Reject dates outside the range
35796         1969-1999 if PDS_PRE_2000 is used.
35797
35798 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
35799
35800         Sync from coreutils.
35801         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
35802         (Time of day items): Mention the possibility of leap seconds.
35803         Problem reported by Dr. David Alan Gilbert.
35804
35805 2006-01-09  Jim Meyering  <jim@meyering.net>
35806
35807         Sync from coreutils.
35808
35809         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
35810
35811         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
35812
35813         * lib/modechange.c (mode_compile): Reject an invalid mode string
35814         that starts with an octal digit.  From Andreas Gruenbacher.
35815
35816         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
35817         and dup to open_safer and dup_safer, respectively.
35818         (openat_permissive): Fix typo in comment.
35819
35820         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
35821         "gettext.h"; either no longer needed or are guaranteed by openat.h.
35822         (_): Remove; no longer needed.
35823         (openat): Renamed from rpl_openat; no need for rpl_openat
35824         since openat.h renames openat for us.
35825         Replace most of the body with a call to openat_permissive,
35826         to avoid duplicate code.
35827         Port to (probably hypothetical) environments were mode_t is
35828         wider than int.
35829         (openat_permissive): Require mode arg, so that we can check
35830         types better.  Put it just after flags.  Change cwd failure
35831         indicator from pointer-to-bool to pointer-to-errno-value.
35832         All callers changed.
35833         Invoke openat_save_fail and/or openat_restore_fail if
35834         cwd_errno is null, so that openat can call us.
35835         (openat_permissive, fdopendir, fstatat, unlinkat):
35836         Simplify errno handling to avoid some duplicate code,
35837         as it's OK to set errno on success.
35838         * lib/openat.h: Revamp code so that function macros depend on
35839         __OPENAT_PREFIX only, not also on AT_FDCWD.
35840         (openat_ro): Remove.  Caller changed to use openat_permissive.
35841         (openat_permissive): Now a macro, if not a function.
35842         (openat_restore_fail, openat_save_fail): Now always functions,
35843         since mkdirat needs them even if __OPENAT_PREFIX is defined.
35844
35845         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
35846         and openat.c.
35847         * lib/mkdirat.c: Include openat-priv.h.
35848         Remove definitions of macros defined therein.
35849         * lib/openat.c: Likewise.
35850
35851         * lib/mkdirat.c (mkdirat): New file and function.
35852         * lib/openat.h (mkdirat): Declare.
35853
35854         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
35855
35856         * lib/openat.h (openat_permissive): Declare.
35857         (openat_ro): Define.
35858
35859         * lib/openat.c (EXPECTED_ERRNO): New macro.
35860         (openat_permissive): New function -- used in remove.c rewrite.
35861         (all functions): Set errno just before returning, only if there
35862         was an actual failure.
35863         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
35864
35865         Emulate openat-family functions using Linux's procfs, if possible.
35866         Idea and some code based on Ulrich Drepper's glibc changes.
35867
35868         * lib/openat.c: (BUILD_PROC_NAME): New macro.
35869         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
35870         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
35871         before falling back on save_cwd and restore_cwd.
35872         (fdopendir, fstatat, unlinkat): Likewise.
35873
35874         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
35875         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
35876
35877         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
35878         as second argument to va_arg.  Otherwise, some versions of gcc
35879         warn that `if this code is reached, the program will abort'.
35880
35881 2006-01-09  Jim Meyering  <jim@meyering.net>
35882
35883         Sync from coreutils.
35884         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
35885         Require openat-priv.h.
35886
35887 2006-01-09  Bruno Haible  <bruno@clisp.org>
35888
35889         * modules/strnlen (Include): Use strnlen.h.
35890
35891 2006-01-09  Bruno Haible  <bruno@clisp.org>
35892
35893         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
35894
35895 2006-01-09  Bruno Haible  <bruno@clisp.org>
35896
35897         * lib/sysexit_.h (EX_OK): New macro.
35898         Suggested by Martin Lambers <marlam@marlam.de>.
35899
35900 2006-01-09  Bruno Haible  <bruno@clisp.org>
35901
35902         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
35903         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
35904
35905 2006-01-09  Bruno Haible  <bruno@clisp.org>
35906
35907         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
35908         numbers.
35909
35910 2006-01-09  Bruno Haible  <bruno@clisp.org>
35911
35912         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
35913         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
35914         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
35915         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
35916
35917 2006-01-09  Bruno Haible  <bruno@clisp.org>
35918
35919         * build-aux/javacomp.sh.in: New file, moved from lib/.
35920         * modules/javacomp-script (Files): Update.
35921         (configure.ac): Add AC_CONFIG_FILES invocation.
35922         (EXTRA_DIST): Remove variable.
35923
35924         * build-aux/javaexec.sh.in: New file, moved from lib/.
35925         * modules/javaexec (Files): Update.
35926         (configure.ac): Add AC_CONFIG_FILES invocation.
35927         (EXTRA_DIST): Remove javaexec.sh.in.
35928
35929         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
35930         * modules/csharpcomp-script (Files): Update.
35931         (configure.ac): Add AC_CONFIG_FILES invocation.
35932         (EXTRA_DIST): Remove variable.
35933
35934         * build-aux/csharpexec.sh.in: New file, moved from lib/.
35935         * modules/csharpexec (Files): Update.
35936         (configure.ac): Add AC_CONFIG_FILES invocation.
35937         (EXTRA_DIST): Remove csharpexec.sh.in.
35938
35939 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
35940
35941         Sync from coreutils.
35942
35943         Add POSIX ACL support
35944         * lib/acl.h (copy_acl, set_acl): Add declarations.
35945         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
35946         systems other than Linux.
35947         (chmod_or_fchmod): New function: use fchmod when possible,
35948         and chmod otherwise.
35949         (file_has_acl): Add a POSIX ACL implementation, with a
35950         Linux-specific subcase.
35951         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
35952         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
35953         acls are unsupported.
35954         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
35955         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
35956         are unsupported.
35957
35958 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
35959
35960         Sync from coreutils.
35961         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
35962
35963 2006-01-07  Bruno Haible  <bruno@clisp.org>
35964
35965         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
35966         gl_EARLY.
35967
35968 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
35969
35970         * lib/strftime.c (tzname): Don't declare if it is already #defined.
35971         Problem reported for Mingw by Mark Junker.
35972
35973 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
35974
35975         * README: Gnulib normally doesn't generate a tarball.
35976
35977 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
35978
35979         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
35980         long int, not int, for nanosecond counts, so that people who are
35981         used to POSIX struct timespec won't be surprised.  Reported by Jim
35982         Meyering.
35983
35984 2005-12-28  Bruno Haible  <bruno@clisp.org>
35985
35986         * build-aux/config.rpath: Update from GNU gettext.
35987
35988 2005-12-16  Jim Meyering  <jim@meyering.net>
35989
35990         * modules/fprintftime: New module.
35991         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
35992
35993 2005-12-16  Jim Meyering  <jim@meyering.net>
35994
35995         * m4/fprintftime.m4: New file.
35996
35997 2005-12-16  Jim Meyering  <jim@meyering.net>
35998
35999         * lib/fprintftime.c, lib/fprintftime.h: New files.
36000
36001 2005-12-15  Simon Josefsson  <jas@extundo.com>
36002
36003         * modules/socklen (configure.ac): Fix M4 macro name, to align with
36004         new m4/socklen.m4.
36005
36006 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
36007
36008         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
36009         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
36010
36011 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
36012
36013         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
36014         * lib/argp-help.c (fill_in_uparams): Check if the constructed
36015         struct uparams is valid. Fall back to the default values if it is
36016         not.
36017
36018 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
36019
36020         * modules/argp (Files): Add argp-pin.c
36021         (Depends-on): dirname
36022         (lib_SOURCES): Add argp-pin.c
36023
36024 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
36025
36026         * m4/argp.m4:  Check if program_invocation_name and
36027         program_invocation_short_name are declared and define appropriate
36028         macros if they are not.
36029
36030 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
36031
36032         * lib/argp-help.c (__argp_base_name): New function
36033         (__argp_short_program_name): Rewrite using __argp_base_name
36034         * lib/argp-namefrob.h: Define program_invocation_name and
36035         program_invocation_short_name if requested
36036         (__argp_base_name): Add prototype
36037         * lib/argp-parse.c (argp_def): Use gettext wrappers
36038         (argp_default_parser): Use __argp_base_name
36039         * lib/argp-pin.c: New file. Defines program_invocation_name and
36040         program_invocation_short_name on systems that lack them.
36041
36042 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36043
36044         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
36045         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
36046         porting problem reported by Georg Schwarz in
36047         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
36048
36049 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36050
36051         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
36052         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
36053         porting problem reported by Georg Schwarz in
36054         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
36055
36056 2005-12-05  Bruno Haible  <bruno@clisp.org>
36057
36058         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
36059         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
36060         Reported by Mark Junker <mjscod@gmx.de>.
36061
36062 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
36063
36064         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
36065         Use implementation from Albert Chin, with some
36066         comments/corrections by Stepan Kasal and myself.
36067
36068 2005-12-02  Bruno Haible  <bruno@clisp.org>
36069
36070         * gnulib-tool (func_import): Accept GPLed build tool modules when
36071         --lgpl is given.
36072         * modules/csharpcomp-script: New file.
36073         * modules/csharpcomp: Depend on it.
36074         * modules/javacomp-script: New file.
36075         * modules/javacomp: Depend on it.
36076         Suggested by Simon Josefsson.
36077
36078 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
36079
36080         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
36081         statement, to work around an HP-UX 10.20 compiler bug reported by
36082         Peter O'Gorman.
36083
36084 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
36085
36086         * modules/savedir (Depends-on): Add openat.
36087
36088 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
36089
36090         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
36091         (uintmax_t) [defined uintmax_t]: Do not declare.
36092         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
36093         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
36094         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
36095         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
36096         sake of portability to weird hosts that C allows (though we don't
36097         know of any practical examples).
36098
36099         * lib/savedir.h (fdsavedir): New decl.
36100         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
36101         contains most of the former guts of savedir.
36102         (savedir): Use savedirstream.
36103         Include "openat.h".
36104
36105 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
36106
36107         * modules/obstack (Files): Add m4/ulonglong.m4.
36108         Problem reported by Davide Angelocola.
36109
36110 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
36111
36112         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
36113         coreutils no longer futzes with rounding modes.
36114
36115 2005-11-14  Jim Meyering  <jim@meyering.net>
36116
36117         * lib/mkstemp-safer.c: Include <config.h>, required for possible
36118         replacement of mkstemp.
36119
36120 2005-11-10  Simon Josefsson  <jas@extundo.com>
36121
36122         * lib/readline.c: Remove EOL.
36123
36124 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
36125
36126         * modules/gethrxtime (Depends-on): Add gettime.
36127
36128 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
36129
36130         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
36131         or gettimeofday; no longer needed.
36132
36133 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
36134
36135         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
36136         time business.
36137         (gethrxtime) [! (HAVE_NANOUPTIME
36138         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
36139         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
36140         our own approximation.
36141
36142 2005-11-08  Eric Blake  <ebb9@byu.net>
36143
36144         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
36145
36146 2005-11-08  Eric Blake  <ebb9@byu.net>
36147
36148         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
36149
36150 2005-11-04  Bruno Haible  <bruno@clisp.org>
36151
36152         * gnulib-tool: Implement --update mode.
36153
36154 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
36155
36156         Fix porting problem reported by Theodoros V. Kalamatianos.
36157         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
36158         Don't assume that futimes failing means we must fail.
36159
36160 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
36161
36162         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
36163         variables to suggest the intended function of the PATH_MAX check.
36164
36165 2005-10-30  Kean Johnston  <jkj@sco.com>
36166
36167         Trivial changes to support SCO systems.
36168         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
36169         as PATH_MAX.
36170         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
36171         where __ptr is null when no I/O is pending.
36172
36173 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
36174
36175         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
36176         leave errno alone.  Problem reported by Dmitry V. Levin.
36177
36178 2005-10-28  Simon Josefsson  <jas@extundo.com>
36179
36180         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
36181         Test more.
36182
36183         * tests/test-gc-md2.c, tests/test-md2.c: New files.
36184
36185         * modules/md2, modules/md2-tests: New files.
36186
36187 2005-10-28  Simon Josefsson  <jas@extundo.com>
36188
36189         * m4/inet_ntop.m4: More tests.
36190
36191         * m4/gc-md2.m4, md2.m4: New file.
36192
36193 2005-10-28  Simon Josefsson  <jas@extundo.com>
36194
36195         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
36196         "restrict" keywords, as per POSIX.  Protect the function
36197         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
36198         Don't use K&R prototypes.  Check the sprintf return values.
36199         Re-define EAFNOSUPPORT if not present.  Indent.
36200
36201         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
36202         suggested by Bruno Haible <bruno@clisp.org>.
36203
36204         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
36205
36206         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
36207
36208         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
36209         libgcrypt).
36210
36211         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
36212
36213         * lib/md2.h, lib/md2.c: New files.
36214
36215 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
36216
36217         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
36218         errno alone.  Problem reported by Frederic Jolliton.
36219
36220 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
36221
36222         * modules/verify (License): Change from GPL to LGPL.  This is a
36223         tiny module and there are apparently near-equivalents that are
36224         under the BSD license.
36225
36226 2005-10-24  Simon Josefsson  <jas@extundo.com>
36227
36228         * modules/sha1: Relicense to LGPL.
36229
36230 2005-10-24  Simon Josefsson  <jas@extundo.com>
36231
36232         * lib/md4.h: Shrink buffer size, now that we changed the type.
36233
36234 2005-10-23  Simon Josefsson  <jas@extundo.com>
36235
36236         * gnulib-tool (func_import): Fix --tests-base.
36237
36238 2005-10-22  Simon Josefsson  <jas@extundo.com>
36239
36240         * modules/arcfour (Depends-on): Need stdint.
36241
36242 2005-10-22  Simon Josefsson  <jas@extundo.com>
36243
36244         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
36245         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
36246
36247 2005-10-22  Simon Josefsson  <jas@extundo.com>
36248
36249         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
36250         suggested by Bruno Haible <bruno@clisp.org>.
36251
36252 2005-10-22  Simon Josefsson  <jas@extundo.com>
36253
36254         * lib/crc.h: Include stddef.h, for size_t.
36255
36256 2005-10-22  Simon Josefsson  <jas@extundo.com>
36257
36258         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
36259         arcfour_context struct (simplify test vector testing in GNU
36260         Shishi).
36261
36262 2005-10-21  Simon Josefsson  <jas@extundo.com>
36263
36264         * modules/des, modules/des-tests: New files.
36265
36266         * modules/gc-des, modules/gc-des-tests: New files.
36267
36268         * tests/test-des.c, tests/test-gc-des.c: New file.
36269
36270 2005-10-21  Simon Josefsson  <jas@extundo.com>
36271
36272         * modules/arctwo, modules/arctwo-tests: New files.
36273
36274         * tests/test-arctwo.c: New file.
36275
36276         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
36277
36278         * tests/test-gc-arctwo.c: New file.
36279
36280 2005-10-21  Simon Josefsson  <jas@extundo.com>
36281
36282         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
36283         Bruno Haible <bruno@clisp.org>.
36284
36285         * m4/gc-des.m4: New file.
36286
36287 2005-10-21  Simon Josefsson  <jas@extundo.com>
36288
36289         * m4/arctwo.m4: New file.
36290
36291         * m4/gc-arctwo.m4: New file.
36292
36293 2005-10-21  Simon Josefsson  <jas@extundo.com>
36294
36295         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
36296         block.
36297
36298 2005-10-21  Simon Josefsson  <jas@extundo.com>
36299
36300         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
36301         <bruno@clisp.org>.
36302
36303         * lib/hmac-sha1.c (hmac_sha1): Likewise.
36304
36305         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
36306         Bruno Haible <bruno@clisp.org>.
36307
36308         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
36309         <bruno@clisp.org>.
36310
36311 2005-10-21  Simon Josefsson  <jas@extundo.com>
36312
36313         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
36314
36315 2005-10-21  Simon Josefsson  <jas@extundo.com>
36316
36317         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
36318
36319 2005-10-21  Simon Josefsson  <jas@extundo.com>
36320
36321         * lib/des.h, lib/des.c: New files.
36322
36323         * lib/gc-gnulib.c: Support DES.c
36324
36325 2005-10-21  Simon Josefsson  <jas@extundo.com>
36326
36327         * lib/arctwo.h, lib/arctwo.c: New files.
36328
36329         * lib/gc-gnulib.c: Support ARCTWO.
36330
36331 2005-10-21  Simon Josefsson  <jas@extundo.com>
36332
36333         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
36334         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36335
36336 2005-10-21  Simon Josefsson  <jas@extundo.com>
36337
36338         * gnulib-tool (func_import, func_create_testdir): Define automake
36339         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
36340         Makefile.am snippet),
36341         suggested by Bruno Haible <bruno@clisp.org>.
36342
36343         * modules/gc (Makefile.am): Use it.
36344
36345 2005-10-21  Bruno Haible  <bruno@clisp.org>
36346
36347         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
36348         patch.
36349
36350 2005-10-19  Simon Josefsson  <jas@extundo.com>
36351
36352         * tests/test-gc-rijndael.c: New file.
36353
36354         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
36355
36356 2005-10-19  Simon Josefsson  <jas@extundo.com>
36357
36358         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
36359         interface too.
36360
36361 2005-10-19  Simon Josefsson  <jas@extundo.com>
36362
36363         * tests/test-gc-arcfour.c: New file.
36364
36365         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
36366
36367 2005-10-19  Simon Josefsson  <jas@extundo.com>
36368
36369         * modules/gc-md4, modules/gc-md4-tests: New file.
36370
36371         * tests/test-gc-md4.c: New file.
36372
36373 2005-10-19  Simon Josefsson  <jas@extundo.com>
36374
36375         * m4/gc-md4.m4: New file.
36376
36377 2005-10-19  Simon Josefsson  <jas@extundo.com>
36378
36379         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
36380         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
36381         <kasal@ucw.cz>.
36382
36383 2005-10-19  Simon Josefsson  <jas@extundo.com>
36384
36385         * m4/gc-arcfour.m4: New file.
36386
36387         * m4/gc-rijndael.m4: New file.
36388
36389 2005-10-19  Simon Josefsson  <jas@extundo.com>
36390
36391         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
36392
36393 2005-10-19  Simon Josefsson  <jas@extundo.com>
36394
36395         * lib/gc-gnulib.c: Support ARCFOUR.
36396
36397 2005-10-19  Simon Josefsson  <jas@extundo.com>
36398
36399         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
36400         support.
36401
36402         * lib/gc.h: Add ECB enum type.
36403
36404         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
36405
36406 2005-10-18  Simon Josefsson  <jas@extundo.com>
36407
36408         * tests/test-md5.c: New file.
36409
36410         * modules/md5-tests: New file.
36411
36412 2005-10-18  Simon Josefsson  <jas@extundo.com>
36413
36414         * tests/test-md4.c: New file.
36415
36416         * modules/md4, modules/md4-tests: New files.
36417
36418 2005-10-18  Simon Josefsson  <jas@extundo.com>
36419
36420         * m4/md4.m4: New file.
36421
36422 2005-10-18  Simon Josefsson  <jas@extundo.com>
36423
36424         * lib/md4.h, lib/md4.c: New files, based on md5.?.
36425
36426 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
36427
36428         * gnulib-tool (func_create_testdir): Omit the second check whether
36429         BUILT_SOURCES in nonempty.
36430
36431 2005-10-17  Simon Josefsson  <jas@extundo.com>
36432
36433         * tests/test-rijndael.c: New file.
36434
36435 2005-10-17  Simon Josefsson  <jas@extundo.com>
36436
36437         * modules/sha1: Depend on stdint instead of md5.
36438
36439         * modules/md5: Depend on stdint, remove uint32_t.
36440
36441 2005-10-17  Simon Josefsson  <jas@extundo.com>
36442
36443         * modules/gc-sha1-tests: New file.
36444
36445         * tests/test-gc-sha1.c: New file.
36446
36447 2005-10-17  Simon Josefsson  <jas@extundo.com>
36448
36449         * m4/md5.m4: Remove call to uint32_t.m4.
36450
36451 2005-10-17  Simon Josefsson  <jas@extundo.com>
36452
36453         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
36454
36455         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
36456         md5.h.
36457
36458         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
36459
36460         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
36461
36462 2005-10-17  Simon Josefsson  <jas@extundo.com>
36463
36464         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
36465
36466 2005-10-17  Simon Josefsson  <jas@extundo.com>
36467
36468         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
36469
36470 2005-10-17  Simon Josefsson  <jas@extundo.com>
36471
36472         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
36473
36474         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
36475
36476 2005-10-17  Bruno Haible  <bruno@clisp.org>
36477
36478         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
36479         that it can also be used in a test.
36480
36481 2005-10-16  Bruno Haible  <bruno@clisp.org>
36482
36483         * gnulib-tool (func_emit_tests_Makefile_am): Also define
36484         TESTS_ENVIRONMENT, so that individual tests can augment it.
36485
36486         * gnulib-tool (func_create_testdir): Use an intermediate target for
36487         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
36488         macros, like $(ALLOCA_H), which cannot be passed through the command
36489         line.
36490
36491 2005-10-15  Simon Josefsson  <jas@extundo.com>
36492
36493         * modules/rijndael-tests: New file.
36494
36495         * modules/rijndael: New file.
36496
36497 2005-10-15  Simon Josefsson  <jas@extundo.com>
36498
36499         * m4/rijndael.m4: New file.
36500
36501 2005-10-15  Simon Josefsson  <jas@extundo.com>
36502
36503         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
36504
36505         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
36506
36507 2005-10-14  Simon Josefsson  <jas@extundo.com>
36508
36509         * tests/test-arcfour.c: New file.
36510
36511         * modules/arcfour, modules/arcfour-tests: New files.
36512
36513 2005-10-14  Simon Josefsson  <jas@extundo.com>
36514
36515         * m4/arcfour.m4: New file.
36516
36517 2005-10-14  Simon Josefsson  <jas@extundo.com>
36518
36519         * lib/arcfour.h, lib/arcfour.c: New files.
36520
36521 2005-10-14  Roland McGrath  <roland@redhat.com>
36522
36523         Import from libc.  [BZ #1331]
36524         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
36525         macro argument.
36526         Reported by Matej Vela <vela@debian.org>.
36527
36528 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
36529
36530         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
36531         include <wchar.h>; no longer needed.
36532
36533 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
36534
36535         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
36536
36537 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
36538         and  Ulrich Drepper  <drepper@redhat.com>
36539
36540         Import from libc.
36541         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
36542         instead of inline stream orientation test and two separate
36543         function calls.  Pay no attention to USE_IN_LIBIO.
36544
36545 2005-10-13  Simon Josefsson  <jas@extundo.com>
36546
36547         * modules/gc-hmac-md5-tests: New file.
36548
36549         * tests/test-gc-hmac-sha1.c: New file.
36550
36551         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
36552
36553         * modules/gc-hmac-md5-tests: New file.
36554
36555         * tests/test-gc-md5.c: New file.
36556
36557         * modules/gc-md5-tests: New file.
36558
36559 2005-10-13  Simon Josefsson  <jas@extundo.com>
36560
36561         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
36562         Move memory allocation outside of loop.
36563
36564 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
36565
36566         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
36567         intermediate directory is in a read-only file system.  Problem
36568         reported by Eric Blake.
36569
36570 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
36571
36572         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
36573
36574 2005-10-12  Simon Josefsson  <jas@extundo.com>
36575
36576         * tests/test-hmac-sha1.c: New file.
36577
36578         * modules/hmac-sha1-tests: New file.
36579
36580         * modules/hmac-sha1: New file.
36581
36582 2005-10-12  Simon Josefsson  <jas@extundo.com>
36583
36584         * modules/gc-sha1: New file.
36585
36586 2005-10-12  Simon Josefsson  <jas@extundo.com>
36587
36588         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
36589
36590         * tests/test-gc-pbkdf2-sha1.c: New file.
36591
36592 2005-10-12  Simon Josefsson  <jas@extundo.com>
36593
36594         * modules/gc-md5, modules/gc-hmac-md5: New files.
36595
36596         * modules/gc (Files): Remove md5, memxor and hmac files.
36597
36598 2005-10-12  Simon Josefsson  <jas@extundo.com>
36599
36600         * m4/gc-pbkdf2-sha1.m4: New file.
36601
36602         * m4/gc-hmac-sha1.m4: New file.
36603
36604         * m4/gc-sha1: New file.
36605
36606         * m4/hmac-sha1.m4: New file.
36607
36608 2005-10-12  Simon Josefsson  <jas@extundo.com>
36609
36610         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
36611
36612         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
36613
36614 2005-10-12  Simon Josefsson  <jas@extundo.com>
36615
36616         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
36617         suggested by Bruno Haible <bruno@clisp.org>.
36618
36619 2005-10-12  Simon Josefsson  <jas@extundo.com>
36620
36621         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
36622
36623 2005-10-12  Simon Josefsson  <jas@extundo.com>
36624
36625         * lib/gc-pbkdf2-sha1.c: New file.
36626
36627         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
36628
36629 2005-10-12  Simon Josefsson  <jas@extundo.com>
36630
36631         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
36632
36633         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
36634
36635 2005-10-12  Simon Josefsson  <jas@extundo.com>
36636
36637         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
36638         GC_USE_HMAC_MD5, respectively.
36639
36640         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
36641         (gc_md5): Fix typo.
36642
36643         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
36644
36645         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
36646
36647         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
36648
36649 2005-10-12  Bruno Haible  <bruno@clisp.org>
36650
36651         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
36652         Reported by Stepan Kasal <kasal@ucw.cz>.
36653
36654 2005-10-11  Simon Josefsson  <jas@extundo.com>
36655
36656         * tests/test-crc.c: New file.
36657
36658         * modules/crc, modules/crc-tests: New files.
36659
36660 2005-10-11  Simon Josefsson  <jas@extundo.com>
36661
36662         * m4/crc.m4: New file.
36663
36664 2005-10-11  Simon Josefsson  <jas@extundo.com>
36665
36666         * lib/gc.h: Add gc_hash and gc_hash_buffer.
36667
36668         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
36669
36670         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
36671
36672 2005-10-11  Simon Josefsson  <jas@extundo.com>
36673
36674         * lib/crc.h, lib/crc.c: New files.
36675
36676         * lib/gc.h (gc_hash_buffer): Add doc.
36677
36678 2005-10-11  Bruno Haible  <bruno@clisp.org>
36679
36680         * modules/c-strcasestr: New file.
36681         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
36682
36683 2005-10-11  Bruno Haible  <bruno@clisp.org>
36684
36685         * modules/c-strcase: New file.
36686         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
36687
36688 2005-10-11  Bruno Haible  <bruno@clisp.org>
36689
36690         * lib/strcasecmp.c: Include limits.h.
36691         (strcasecmp): Avoid integer overflow on exotic platforms.
36692         * lib/strncasecmp.c: Include limits.h.
36693         (strncasecmp): Avoid integer overflow on exotic platforms.
36694         Reported by Paul Eggert.
36695
36696 2005-10-11  Bruno Haible  <bruno@clisp.org>
36697
36698         * lib/c-strcasestr.h: New file, from GNU gettext.
36699         * lib/c-strcasestr.c: New file, from GNU gettext.
36700
36701 2005-10-11  Bruno Haible  <bruno@clisp.org>
36702
36703         * lib/c-strcase.h: New file, from GNU gettext.
36704         * lib/c-strcasecmp.c: New file, from GNU gettext.
36705         * lib/c-strncasecmp.c: New file, from GNU gettext.
36706
36707 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
36708
36709         * modules/mempcpy (License): GPL -> LGPL.
36710         * modules/strchrnul (License): Likewise.
36711         * modules/sysexits (License): Likewise.
36712
36713 2005-10-08  Simon Josefsson  <jas@extundo.com>
36714
36715         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
36716
36717 2005-10-07  Simon Josefsson  <jas@extundo.com>
36718
36719         * m4/memxor.m4: Remove gl_C_RESTRICT call.
36720
36721 2005-10-06  Simon Josefsson  <jas@extundo.com>
36722
36723         * tests/test-hmac-md5.c: New file.
36724
36725         * modules/hmac-md5-tests: New file.
36726
36727         * modules/hmac-md5: New file.
36728
36729 2005-10-06  Simon Josefsson  <jas@extundo.com>
36730
36731         * m4/hmac-md5.m4: New file.
36732
36733         * m4/memxor.m4: Require gl_C_RESTRICT.
36734
36735 2005-10-06  Simon Josefsson  <jas@extundo.com>
36736
36737         * lib/memxor.c (memxor): Avoid casts and warnings.
36738
36739 2005-10-06  Simon Josefsson  <jas@extundo.com>
36740
36741         * lib/hmac-md5.c: New file.
36742
36743         * lib/hmac.h: New file.
36744
36745 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
36746
36747         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
36748         promotes to int, not unsigned int, to catch the AIX 5.3
36749         compiler bug.
36750
36751 2005-10-05  Simon Josefsson  <jas@extundo.com>
36752
36753         * modules/memxor: New file.
36754
36755         * modules/iconv (Files): Move config.rpath to havelib, it is used
36756         there.
36757
36758         * modules/havelib (Files): Add config.rpath.
36759
36760 2005-10-05  Simon Josefsson  <jas@extundo.com>
36761
36762         * m4/memxor.m4: New file.
36763
36764 2005-10-05  Simon Josefsson  <jas@extundo.com>
36765
36766         * lib/memxor.c (memxor): Fix compiler error.
36767
36768         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
36769         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
36770
36771         * lib/memxor.h, lib/memxor.c: New files.
36772
36773         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
36774         we assume all systems have it, suggested by Jim Meyering
36775         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
36776         any systems lack sys/socket.h; mingw32 is known to lack it, but we
36777         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
36778         same reasons.
36779
36780 2005-10-05  Simon Josefsson  <jas@extundo.com>
36781
36782         * config/srclist.txt: Add glibc bug 1423 for md5.h.
36783
36784 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
36785
36786         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
36787         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
36788         needed, since the source code now assumes these .h files.
36789
36790 2005-10-05  Derek Price  <derek@ximbiot.com>
36791
36792         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
36793
36794 2005-10-05  Bruno Haible  <bruno@clisp.org>
36795
36796         * modules/stdint (License): Change to LGPL.
36797
36798 2005-10-04  Simon Josefsson  <jas@extundo.com>
36799
36800         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
36801         D. Baushke" <mdb@gnu.org>.
36802
36803 2005-10-04  Bruno Haible  <bruno@clisp.org>
36804
36805         * lib/verify.h (verify_true): Provide alternative definition for C++.
36806
36807 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
36808
36809         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
36810         (SSIZE_MAX): New macro, if not already defined.
36811         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
36812         than 2 GiB.
36813
36814 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
36815
36816         Sync from coreutils.
36817         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
36818         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
36819         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
36820         ULLONG_MAX doesn't work with 2.7.2.1.
36821
36822 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
36823
36824         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
36825         From Ben Pfaff.
36826
36827         * modules/exclude (Depends-on): Depend on verify.
36828         * modules/strtoimax (Depends-on): Likewise.
36829         * modules/utimecmp (Depends-on): Likewise.
36830
36831 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
36832
36833         * lib/exclude.c: Include verify.h.
36834         (verify): Remove.  All callers changed to use verify.h's version.
36835         * lib/strtoimax.c: Likewise.
36836         * lib/utimecmp.c: Likewis.e
36837
36838         Sync from coreutils.
36839         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
36840         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
36841         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
36842         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
36843         bother returning ENOSYS if settimeofday or stime fails; just let
36844         them return whatever errno they want to return.
36845         * lib/utimens.c: Include unistd.h, for dup2.
36846         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
36847         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
36848
36849 2005-10-02  Jim Meyering  <jim@meyering.net>
36850
36851         Sync from coreutils.
36852         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
36853         from glibc-2.2.5 that fails for read-only files.
36854
36855 2005-10-02  Jim Meyering  <jim@meyering.net>
36856
36857         Sync from coreutils.
36858         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
36859         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
36860         `#if HAVE_CONFIG_H'.
36861         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
36862         Remove AT_FDCWD test.
36863         Do not consume the fd unless successful.
36864         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
36865         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
36866         block, so that we don't even try to compile it if settimeofday is
36867         available.  This works around a compilation failure on OSF1 V5.1,
36868         due to stime requiring a `long int*' while tv_sec is `int'.
36869
36870 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
36871
36872         Sync from coreutils.
36873         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
36874         against `yes', rather than just testing for nonempty.
36875
36876 2005-10-01  Simon Josefsson  <jas@extundo.com>
36877
36878         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
36879         and Darwin.
36880
36881         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
36882         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
36883         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
36884         freeaddrinfo and gai_strerror are declared by the POSIX headers.
36885         Check if struct addrinfo is declared.
36886
36887 2005-10-01  Simon Josefsson  <jas@extundo.com>
36888
36889         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
36890         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
36891         AI_* and EAI_* definitions.  Protect function declarations.
36892
36893 2005-10-01  Jim Meyering  <jim@meyering.net>
36894
36895         Sync from coreutils.
36896
36897         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
36898         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
36899         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
36900         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
36901         in the inet and nsl libraries.  Required on Solaris 5.7.
36902
36903 2005-10-01  Jim Meyering  <jim@meyering.net>
36904
36905         Sync from coreutils.
36906         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
36907         in the inet and nsl libraries.  Required on Solaris 5.7.
36908
36909 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
36910
36911         * lib/getdelim.c (getdelim): Remove unused variables.
36912
36913 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
36914
36915         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
36916         so that the code works even with ancient cpp.  Portability problem
36917         with GCC 2.7.2.1 reported by Thomas M.Ott.
36918
36919 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
36920
36921         * modules/regex (Depends-on): Add strcase.
36922
36923         * modules/gethostname (Licence): Change from GPL to LGPL, since
36924         gethostname.c is a trivial implementation of a standard library
36925         function.
36926         * modules/poll (License): Change from GPL to LGPL, since it's
36927         derived from LGPL code.
36928
36929 2005-09-27  Jim Meyering  <jim@meyering.net>
36930
36931         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
36932         HAVE_CONFIG_H.
36933
36934         * lib/intprops.h (signed_type_or_expr__): Define.
36935         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
36936         for unsigned types.
36937
36938 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
36939
36940         * lib/verify.h (verify_expr): Remove, replacing with:
36941         (verify_true): New macro that returns true instead of void.
36942         (verify_type__): Remove.
36943         (verify): Use verify_true rather than verify_type__.
36944
36945 2005-09-26  Bruno Haible  <bruno@clisp.org>
36946
36947         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
36948         is necessary.
36949         (lib_SOURCES): Remove mbchar.c.
36950         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
36951         (Files): Add m4/mbrtowc.m4.
36952         * modules/mbiter: Likewise.
36953         * modules/mbuiter: Likewise.
36954
36955 2005-09-26  Bruno Haible  <bruno@clisp.org>
36956
36957         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
36958         compile mbchar.c if they are not both present.
36959         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
36960         * m4/mbiter.m4 (gl_MBITER): Likewise.
36961         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
36962         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
36963         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
36964
36965 2005-09-25  Jim Meyering  <jim@meyering.net>
36966
36967         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
36968         also uses socklen_t.
36969
36970 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
36971
36972         * lib/utimens.c (ENOSYS): Define if not already defined.
36973         (futimens): Support having a null PATH if the file descriptor
36974         is nonnegative.
36975
36976         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
36977         Remove.
36978         (__attribute): Define to empty unless GCC 3.1 or later.
36979         This works around a core dump on OpenBSD 3.4, which has GCC
36980         2.95.3, which dumps core when given __attribute__(()).  It also
36981         simplifies other tests, since we really don't want to bother with
36982         worrying about which ancient version of GCC supported what.
36983         Original problem reported by Yoann Vandoorselaere, with part of
36984         the fix suggested by Derek Price.
36985
36986 2005-09-24  Jim Meyering  <jim@meyering.net>
36987
36988         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
36989         so we can once again use a positive bitfield width of 1 -- now we
36990         don't have to explain why we were using a bitfield width of 2.
36991
36992 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
36993
36994         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
36995         and similarly for the other external symbols.  Problem reported
36996         by James Gallager.
36997
36998         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
36999         bug reported by Jim Meyering.
37000
37001         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
37002         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
37003         not needed, since socklen is a prerequisite module.
37004
37005 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
37006
37007         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
37008         Problem reported by Eric Blake.
37009         (getaddrinfo): Initialize se so that it's not garbage.
37010         Redo internal storage allocation so that it doesn't make unportable
37011         assumptions about alignment.
37012         Fix a memory leak.
37013
37014         * lib/utimens.c (futimens): Use futimesat if available.
37015         Prefer it to futimes since it doesn't have the futimes bug.
37016
37017         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
37018         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
37019         Instead, declare a function that returns a pointer to an array,
37020         and use verify_type__ to declare the size of the array.
37021         Problem and germ of a solution reported by Bruno Haible.
37022         (verify_type__): Use 2, not 1, for bitfield size, to avoid
37023         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
37024
37025 2005-09-23  Jim Meyering  <jim@meyering.net>
37026
37027         Sync from coreutils.
37028         Correct build failure (socklen_t not defined) on at least
37029         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
37030         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
37031
37032 2005-09-23  Jim Meyering  <jim@meyering.net>
37033
37034         * modules/getaddrinfo (Depends-on): Add socklen.
37035
37036 2005-09-23  Bruno Haible  <bruno@clisp.org>
37037
37038         * tests/test-verify.c: New file.
37039
37040 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37041
37042         Sync from coreutils.
37043
37044         * modules/argmatch (Depends-on): Add verify.
37045         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
37046         unistd-safer.
37047         * modules/save-cwd (Depends-on): Likewise.
37048
37049         * modules/openat (Files): Add lib/openat-die.c.
37050         (Depends-on): Remove error, exitfail.
37051         Add dirname.
37052
37053         * modules/verify: New file.
37054         * MODULES.html.sh (Diagnostics <assert.h>): New section,
37055         with "verify" module.
37056
37057 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37058
37059         Sync from coreutils.
37060
37061         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
37062         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
37063         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
37064         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
37065         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
37066         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
37067         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
37068         Don't bother checking for string.h, stdlib.h, unistd.h.
37069         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
37070         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
37071         module's job.
37072         * m4/jm-macros.m4 (gl_MACROS): Likewise.
37073         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
37074
37075         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
37076         (gl_GETDATE): Use it.
37077
37078         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
37079
37080 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37081
37082         Sync from coreutils.
37083
37084         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
37085         stat-time.h.
37086         * lib/argmatch.h: Include verify.h
37087         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
37088         (ARGMATCH_ASSERT): Remove; unused.
37089         * lib/canonicalize.c: Assume STDC_HEADERS.
37090         * lib/exclude.c: Include "strcase.h".
37091         * lib/regex_internal.h [!defined _LIBC]: Likewise.
37092         * lib/getusershell.c: Include stdio--.h rather than stdio.h
37093         and stdio-safer.h.
37094         (getusershell): Call fopen, not fopen_safer.
37095         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
37096         Do not include unistd-safer.h.
37097         (save_cwd): Don't call fd_safer; no longer needed
37098         now that we include fcntl--.h.
37099
37100         * lib/getdate.y (relative_time): New type.
37101         (RELATIVE_TIME_0): New constant.
37102         (parser_control): Use relative_time instead of doing it ourselves.
37103         (%union): Add new relative_time rel member.
37104         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
37105         Now typeless.
37106         (relunit, relunit_snumber): Now of type rel.
37107         (zone, rel, relunit, get_date): Adjust to above changes.
37108
37109         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
37110         Do not include unistd-safer.h.
37111         (getloadavg): Don't call fd_safer; no longer needed
37112         now that we include fcntl--.h.
37113
37114         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
37115         (make_dir_parents): Treat ENOSYS like EEXIST.
37116
37117         Improve quality of diagnostics on restore_cwd failure.
37118         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
37119         (make_dir_parents): Last arg is now int * (for errno), not bool *.
37120         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
37121         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
37122         each time through the loop.  Do not diagnose restore_cwd failure;
37123         that is the caller's job (and perhaps the caller does not care).
37124
37125         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
37126         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
37127         If the file already exists but is not a directory, don't bother
37128         to try to make its parents.
37129         Close potential file descriptor leak if we can't chdir("/") (!).
37130         Don't always return true if chdir($PWD) fails; return true only
37131         if the requested action was done successfully (except for the
37132         chdir($PWD)).
37133         Don't log final directory unless we actually made it.
37134         Refactor to avoid duplicate code to fix up permissions.
37135         Don't attempt to fix up parent permissions if chdir($PWD) fails.
37136
37137         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
37138         to make it a bit faster and (I hope) clearer.
37139         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
37140         Fix bug in formats like %2N.
37141
37142         * lib/verify.h: New file.
37143
37144 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37145
37146         Sync from coreutils.
37147         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
37148
37149 2005-09-22  Jim Meyering  <jim@meyering.net>
37150
37151         Sync from coreutils.
37152
37153         * m4/lstat.m4 (gl_FUNC_LSTAT):
37154         Use AC_LIBSOURCES to require lstat.c and lstat.h.
37155         Remove obsolete comment.
37156         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
37157         * m4/xstrtod.m4: Likewise.
37158
37159         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
37160
37161 2005-09-22  Jim Meyering  <jim@meyering.net>
37162
37163         Sync from coreutils.
37164
37165         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
37166
37167         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
37168         the .tm_year member, since otherwise gcc-4.0 would now warn about
37169         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
37170
37171         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
37172         order to avoid an unsuppressible warning from gcc on 64-bit systems.
37173
37174         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
37175         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
37176         when run in a time zone for which daylight savings time is in effect
37177         for the starting date.
37178
37179         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
37180         stop us from restricting permissions of just-created absolute-named
37181         directories.
37182         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
37183         to restore initial working directory.
37184         * lib/mkdir-p.c (make_dir_parents): New parameter:
37185         different_working_dir, to tell caller if/when we change the working
37186         directory and are unable to return to the initial one.
37187         * lib/mkdir-p.h (make_dir_parents): Update prototype.
37188         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
37189         `return false'.  This fixes a bug introduced on 2004-07-30.
37190
37191         * lib/openat.c (fdopendir): Be sure to close the supplied
37192         file descriptor before returning.  This makes our replacement
37193         implementation a little closer to Solaris's, where fdopendir
37194         ties the file descriptor to the returned DIR* pointer.
37195         * lib/openat.c (unlinkat): New function.
37196         * lib/openat.h (unlinkat): Add prototype.
37197         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
37198         (openat_restore_fail): Rename from openat_restore_die.
37199         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
37200
37201         Provide an alternative to exiting immediately upon save_cwd or
37202         restore_cwd failure.  Now, an application can arrange e.g.,
37203         to perform a longjump in that case.
37204         * lib/openat.c: Include dirname.h.
37205         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
37206         (rpl_openat, fdopendir, fstatat): Call openat_save_die
37207         and openat_restore_die rather than calling error directly.
37208         Don't include "error.h" or "exitfail.h"; they're no longer needed.
37209
37210         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
37211         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
37212         define.
37213
37214         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
37215         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
37216                             int utc, int nanoseconds);
37217         Background:
37218         date should not have to allocate a megabyte of virtual memory to
37219         handle a format argument like +%1048575T.  When implemented with
37220         strftime, it must allocate such a buffer, use strftime to fill it
37221         in, print it, then free it.
37222         With fprintftime, it simply prints everything and exits.
37223         With no need for memory allocation, that's one fewer way to fail.
37224         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
37225         optional field width, not before, so we accept %9:z, not %:9z.
37226         (my_strftime): Be sure to use L_('x') for literals.
37227
37228         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
37229         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
37230         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
37231         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
37232         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
37233         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
37234         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
37235         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
37236         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
37237         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
37238         * lib/xgethostname.c, lib/xreadlink.c:
37239         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
37240
37241         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
37242         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
37243         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
37244         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
37245         and don't include <sys/file.h>).
37246
37247 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
37248
37249         Sync from coreutils.
37250
37251         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
37252         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
37253         [!LDAV_DONE]: Avoid unused variable warning.
37254
37255 2005-09-21  Bruno Haible  <bruno@clisp.org>
37256
37257         * lib/unicodeio.h (unicode_to_mb): New declaration.
37258
37259 2005-09-20  Derek Price  <derek@ximbiot.com>
37260
37261         * lib/getaddrinfo.c: Don't include <netdb.h> included from
37262         getaddrinfo.h.
37263
37264 2005-09-20  Bruno Haible  <bruno@clisp.org>
37265
37266         * gnulib-tool: Remove trailing slashes from the values specified for
37267         --source-base, --m4-base, --tests-base, --aux-dir.
37268         Suggested by Simon Josefsson <jas@extundo.com>.
37269
37270 2005-09-20  Bruno Haible  <bruno@clisp.org>
37271
37272         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
37273         func_modules_to_filelist, func_import, func_create_testdir): Make all
37274         sorting results locale-independent, so that gnulib-cache.m4 doesn't
37275         change when gnulib-tool is invoked in a different locale.
37276
37277 2005-09-19  Simon Josefsson  <jas@extundo.com>
37278
37279         * m4/socklen.m4: Fix typo.
37280
37281 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37282
37283         Use a consistent style for including <config.h>.
37284         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
37285         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
37286         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
37287         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
37288         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
37289         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
37290         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
37291         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
37292         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
37293         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
37294         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
37295         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
37296         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
37297         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
37298         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
37299         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
37300         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
37301         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
37302         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
37303         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
37304         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
37305         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
37306         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
37307         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
37308         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
37309         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
37310         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
37311         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
37312         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
37313         lib/xstrtoumax.c, lib/yesno.c:
37314         Standardize inclusion of config.h.
37315         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
37316         lib/inttostr.h:  Removed inclusion of config.h from header files.
37317         * lib/inttostr.c:  Adjusted in-tree users.
37318         * lib/timespec.h: Remove superfluous warning to include config.h.
37319         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
37320         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
37321         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
37322         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
37323         config.h with HAVE_CONFIG_H.
37324
37325 2005-09-19  Jim Meyering  <jim@meyering.net>
37326
37327         * modules/pathmax (License): Change to LGPL.
37328
37329 2005-09-19  Derek Price  <derek@ximbiot.com>
37330
37331         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
37332
37333 2005-09-19  Bruno Haible  <bruno@clisp.org>
37334
37335         * gnulib-tool (import): Provide default for --tests-base.
37336
37337 2005-09-19  Bruno Haible  <bruno@clisp.org>
37338
37339         * doc/quote.texi: New file, extracted from gnulib.texi.
37340         * doc/ctime.texi: New file, extracted from gnulib.texi.
37341         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
37342         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
37343         * doc/gnulib.texi: Include them.
37344
37345 2005-09-18  Bruno Haible  <bruno@clisp.org>
37346
37347         Portability fix.
37348         * gnulib-tool (func_readlink): New function.
37349         (func_ln_if_changed): Use it.
37350
37351 2005-09-18  Bruno Haible  <bruno@clisp.org>
37352
37353         * gnulib-tool: Support --with-tests also with --import.
37354         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
37355         (func_import): Use variables $testsbase and $inctests. Emit a
37356         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
37357         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
37358         SUBDIRS += $testsdir.
37359         (func_create_testdir): Update.
37360
37361 2005-09-18  Bruno Haible  <bruno@clisp.org>
37362
37363         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
37364         instead of $dry_run.
37365         (func_cp_if_changed, func_mv_if_changed): Remove functions.
37366         (func_ln_if_changed): Don't handle dry-run here.
37367         (func_import): In dry-run mode, detect more precisely which actions
37368         would be performed, and don't use "...ing" verbs.
37369
37370 2005-09-18  Bruno Haible  <bruno@clisp.org>
37371
37372         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
37373         (func_import): Use join on two temporary files instead of three nested
37374         loops, in order to determine which files are new or old.
37375
37376 2005-09-18  Bruno Haible  <bruno@clisp.org>
37377
37378         * gnulib-tool (func_import): Comment out code that spits out the
37379         new files with --dry-run.
37380
37381 2005-09-18  Bruno Haible  <bruno@clisp.org>
37382
37383         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
37384
37385 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37386
37387         * lib/stat-time.h: New file.
37388         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
37389         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
37390         in a different way.
37391         (timespec_cmp): New function.
37392         * lib/utimecmp.c: Include stat-time.h.
37393         (SYSCALL_RESOLUTION): Depend on whether various struct stat
37394         members exist, not on the obsolescent ST_MTIM_NSEC.
37395         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
37396
37397 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37398
37399         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
37400
37401 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37402
37403         * MODULES.html.sh (File system functions): Add stat-time.
37404         * modules/stat-time: New file.
37405         * modules/timespec (Files): Remove m4/st_mtim.m4; this
37406         is now done in a different way, by the stat-time module.
37407         * modules/utimecmp (Depends-on): Add stat-time.
37408
37409 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
37410
37411         * m4/st_mtim.m4: Remove.  Superseded by...
37412         * m4/stat-time.m4: New file.
37413         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
37414         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
37415
37416 2005-09-15  Derek Price  <derek@ximbiot.com>
37417
37418         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
37419
37420 2005-09-15  Derek Price  <derek@ximbiot.com>
37421
37422         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
37423         * lib/regex_internal.c: Ditto, using this...
37424         (__GNUC_PREREQ): ...new macro.
37425         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
37426         using...
37427         (__GNUC_PREREQ): ...this new macro.
37428
37429         * lib/strstr.h: Include string.h. Define strstr as a macro here.
37430
37431 2005-09-15  Derek Price  <derek@ximbiot.com>
37432             Paul Eggert  <eggert@cs.ucla.edu>
37433
37434         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
37435         changes, consolidating in...
37436         * lib/regex_internal.h: ...this file.
37437
37438 2005-09-13  Jim Meyering  <jim@meyering.net>
37439
37440         * lib/canon-host.c: Filter through gnu indent and reword comments
37441         slightly.
37442         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
37443
37444 2005-09-13  Derek Price  <derek@ximbiot.com>
37445
37446         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
37447         failure.
37448         Reported by Jim Meyering  <jim@meyering.net>.
37449
37450 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
37451
37452         * lib/base64.c: Typo.
37453         (base64_encode): Put b64str in initialized data section.
37454
37455 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
37456
37457         Merge glibc and coreutils changes into gnulib, plus a few
37458         extra fixes.
37459         * lib/md5.c: Use #error rather than a string.
37460         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
37461         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
37462         (__attribute__): Define to empty for non recent-GCC.
37463         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
37464         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
37465         Renamed from their non-__ counterparts, with new macros replacing
37466         them if not _LIBC.  Add __THROW attribute.
37467         (rol): Remove.
37468         (struct md5_ctx): Align buffer if using GCC.
37469         * lib/sha1.h (struct sha1_ctx): Likewise.
37470         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
37471         The old name was backwards.
37472         (NOTSWAP): Remove; not used.
37473         (rol): New macro, moved here from md5.h.
37474         (sha1_process_block): Remove a FIXME that doesn't make sense.
37475
37476 2005-09-12  Derek Price  <derek@ximbiot.com>
37477
37478         Return usable errors from canon-host.
37479         * lib/canon-host.h: New file.
37480         * lib/canon-host.c (canon_host): Wrap...
37481         (canon_host_r): ...this new function, which now relies exclusively on
37482         getaddrinfo.
37483         (ch_strerror): New function.
37484         (last_cherror): New global.
37485         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
37486         interface.
37487         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
37488         void *.
37489         (freeaddrinfo): Free ai->ai_canonname when set.
37490
37491 2005-09-12  Derek Price  <derek@ximbiot.com>
37492
37493         Make canon-host require getaddrinfo.
37494         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
37495         AC_LIBSOURCE canon-host.h.  Call...
37496         (gl_PREREQ_CANON_HOST): ...this new function, which requires
37497         gl_GETADDRINFO.
37498         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
37499
37500 2005-09-12  Derek Price  <derek@ximbiot.com>
37501
37502         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
37503         LGPL.
37504         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
37505
37506 2005-09-12  Derek Price  <derek@ximbiot.com>
37507
37508         * lib/gai_strerror.c: Include config.h when available.  Include
37509         getaddrinfo.h before other headers to test interface.
37510         Reported by Larry Jones <lawrence.jones@ugs.com>.
37511
37512 2005-09-12  Derek Price  <derek@ximbiot.com>
37513             Paul Eggert  <eggert@cs.ucla.edu>
37514
37515         * modules/glob (Files): Add glob-libc.h.
37516
37517 2005-09-12  Derek Price  <derek@ximbiot.com>
37518             Paul Eggert  <eggert@cs.ucla.edu>
37519
37520         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
37521         glob_.h, glob-libc.h.
37522         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
37523
37524 2005-09-12  Derek Price  <derek@ximbiot.com>
37525             Paul Eggert  <eggert@cs.ucla.edu>
37526
37527         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
37528         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
37529         protecting things that should be done only in gnulib contexts.
37530         * lib/glob_.h: New file, containing only the glob things needed for
37531         gnulib.
37532         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
37533         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
37534         (glob, globfree, glob_pattern_p): Now defined simply in terms of
37535         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
37536         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
37537         and to respect the namespace rules better.
37538
37539 2005-09-08  Simon Josefsson  <jas@extundo.com>
37540
37541         * modules/socklen: New file.
37542
37543 2005-09-08  Simon Josefsson  <jas@extundo.com>
37544
37545         * m4/socklen.m4: New file.
37546
37547 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
37548
37549         * modules/utimens (Files): Add m4/utimbuf.m4, since
37550         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
37551         Reported by Sergey Poznyakoff.
37552
37553 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
37554
37555         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
37556         definitions, since that's the preferred style in glibc.
37557         Fix a minor spacing issue, and update copyright notice to match
37558         glibc's.
37559
37560 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
37561
37562         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
37563
37564 2005-09-06  Simon Josefsson  <jas@extundo.com>
37565
37566         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
37567         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
37568
37569 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
37570
37571         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
37572         warning.
37573
37574 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
37575
37576         * config/srclist.txt: Add glibc bug 1302.
37577
37578 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
37579
37580         Change bitset word type from unsigned int to unsigned long int,
37581         as this has better performance on typical 64-bit hosts.
37582         Port bitset code to hosts with unusual word sizes.
37583         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
37584         (build_collating_symbol):
37585         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
37586         argument is a bitset.  This is merely a style issue, but it makes
37587         it clearer that an entire array is expected.
37588         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
37589         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
37590         Port to the case where bitset_word is not the same as unsigned int.
37591         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
37592         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
37593         Likewise.
37594         * lib/regexec.c (check_dst_limits_calc_pos_1,
37595         check_subexp_matching_top):
37596         (build_trtable, group_nodes_into_DFAstates):
37597         Likewise.
37598         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
37599         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
37600         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
37601         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
37602         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
37603         * lib/regcomp.c (optimize_subexps, lower_subexp):
37604         Work even if bitset_word has holes in its bitwise representation.
37605         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
37606         * lib/regexec.c (check_dst_limits_calc_pos_1,
37607         check_subexp_matching_top):
37608         Likewise.
37609         * lib/regex_internal.c (re_string_reconstruct):
37610         Don't assume UCHAR_MAX == 255.
37611         * lib/regex_internal.h (bitset_set_all): Likewise.
37612         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
37613         All uses changed.
37614         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
37615         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
37616         All uses changed.
37617         (BITSET_WORD_MAX): New macro.
37618         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
37619         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
37620         (bitset_empty, bitset_copy):
37621         Prefer sizeof (bitset) to multiplying it out ourselves.
37622         (bitset_not_merge): Remove; unused.
37623         (bitset_contain): Return bool, not unsigned int with one bit on.
37624         All callers changed.
37625         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
37626         alignment than re_node_set; do this by defining a new internal
37627         type struct dests_alloc and using it to allocate memory.
37628
37629 2005-09-05  Bruno Haible  <bruno@clisp.org>
37630
37631         * gnulib-tool (func_import): Fix comparison in handling of symbolic
37632         links.
37633
37634 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
37635
37636         * modules/size_max (Makefile.am): Add size_max.h
37637
37638 2005-09-04  Derek Price  <derek@ximbiot.com>
37639
37640         * gnulib-tool (func_import): Fix reversed $symbolic logic.
37641
37642 2005-09-03  Simon Josefsson  <jas@extundo.com>
37643
37644         * gnulib-tool: Fix typo.
37645
37646 2005-09-03  Simon Josefsson  <jas@extundo.com>
37647
37648         * config/srclist.txt: Add glibc bug 1293.
37649
37650 2005-09-03  Derek Price  <derek@ximbiot.com>
37651
37652         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
37653         From Larry Jones <lawrence.jones@ugs.com>.
37654
37655 2005-09-02  Simon Josefsson  <jas@extundo.com>
37656
37657         * modules/socklen: New file.
37658
37659 2005-09-02  Simon Josefsson  <jas@extundo.com>
37660
37661         * modules/havelib: New module.
37662
37663         * modules/gettext, modules/iconv, modules/lock, modules/readline:
37664         Use havelib.
37665
37666 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
37667
37668         Check for arithmetic overflow when calculating sizes, to prevent
37669         some buffer-overflow issues.  These patches are conservative, in the
37670         sense that when I couldn't determine whether an overflow was possible,
37671         I inserted a run-time check.
37672         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
37673         macros.
37674         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
37675         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
37676         (re_xnrealloc, re_x2nrealloc): New inline functions.
37677         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
37678         parse_bracket_exp):
37679         (build_equiv_class, build_charclass): Check for arithmetic overflow
37680         in size expression calculations.
37681         * lib/regex_internal.c (re_string_realloc_buffers):
37682         (build_wcs_upper_buffer, re_node_set_add_intersect):
37683         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
37684         (re_dfa_add_node, register_state): Likewise.
37685         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
37686         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
37687         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
37688         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
37689
37690 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
37691
37692         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
37693         m4/ulonglong.m4.  Problem reported by Martin Lambers.
37694
37695 2005-09-02  Bruno Haible  <bruno@clisp.org>
37696
37697         Support for lib vs. lib64 distinction on biarch platforms.
37698         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
37699         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
37700         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
37701
37702 2005-09-02  Bruno Haible  <bruno@clisp.org>
37703
37704         * gnulib-tool (import): In the other first-use case, provide defaults
37705         as well.
37706
37707 2005-09-02  Bruno Haible  <bruno@clisp.org>
37708
37709         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
37710         patches not yet found in the latest gettext release.
37711
37712 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
37713
37714         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
37715         to avoid a collision with bits/local_lim.h in glibc.
37716         All uses changed.  Problem reported by Dmitry V. Levin in
37717         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
37718
37719         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
37720         bugs in int versus size_t comparisons.
37721         (re_string_context_at): Fix bug where the code assumed that
37722         Idx is signed.
37723
37724         Use bool where appropriate.
37725         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
37726         All callers changed.
37727         (calc_eclosure_iter): Likewise, for ROOT arg.
37728         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
37729         (build_charclass_op): Likewise, for NON_MATCH arg.
37730         * lib/regex_internal.c (re_string_allocate, re_string_construct):
37731         (re_string_construct_common): Likewise, for ICASE arg.
37732         * lib/regexec.c (re_search_2_stub, re_search_stub):
37733         Likewise, for RET_LEN arg.
37734         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
37735         (set_regs): Likewise, for FL_BACKTRACK arg.
37736         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
37737         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
37738         (calc_eclosure_iter, parse_bracket_exp):
37739         Use bool for internal variables that are booleans.
37740         * lib/regexec.c (re_search_internal, check_matching,
37741         proceed_next_node):
37742         (set_regs, build_sifted_states, sift_states_bkref):
37743         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
37744         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
37745         (find_collation_sequence_value):
37746         Likewise.
37747         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
37748         (re_node_set_compare):
37749         Return bool, not int. All callers changed.
37750         * lib/regexec.c (check_halt_node_context, check_dst_limits):
37751         (build_trtable, check_node_accept): Likewise.
37752         * lib/regex_internal.h: Include stdbool.h.
37753
37754         Fix bugs uncovered when converting to bool.
37755         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
37756         failure instead of charging ahead blindly.
37757         * lib/regex_internal.c (register_state): Likewise.
37758         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
37759         for freeing internal storage.
37760         (group_nodes_into_DFA_states): Use unsigned int, not int, for
37761         bitset pieces used as boolean, to avoid undefined behavior
37762         on hosts that do int overflow checking.
37763
37764 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
37765
37766         * config/srclist.txt: Add glibc bugs 1285-1287.
37767
37768 2005-09-01  Jim Meyering  <jim@meyering.net>
37769
37770         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
37771         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
37772         Require gl_STAT_MACROS, too.
37773
37774 2005-09-01  Bruno Haible  <bruno@clisp.org>
37775
37776         * gnulib-tool (import): In the first-use case, provide defaults.
37777
37778 2005-09-01  Bruno Haible  <bruno@clisp.org>
37779
37780         * gnulib-tool (func_import): Remove the .tmp files.
37781
37782 2005-09-01  Bruno Haible  <bruno@clisp.org>
37783
37784         * gnulib-tool (func_import): Fix handling of symbolic links.
37785
37786 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
37787
37788         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
37789         old glibc regex code mishandles strings longer than 2**31 bytes.
37790         This patch fixes this when the regex code is used in gnulib
37791         (i.e., outside glibc).
37792
37793         This patch should not affect the use of the regex code inside
37794         glibc.  No doubt this problem also needs to be handled for glibc
37795         as well, but the result will be an incompatible change to the
37796         glibc ABI, and the old ABI will have to be supported too.  That
37797         can be the the subject for another patch.
37798
37799         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
37800         governing whether the rest of this patch is active.  By default,
37801         the macro is disabled and the patch has no effect.
37802         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
37803         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
37804         (struct re_pattern_buffer, re_search, re_search_2, re_match):
37805         (re_match_2, re_set_registers): Use the new types.
37806         * lib/regex_internal.h (Idx, re_hashval_t): New types.
37807         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
37808         New macros.
37809         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
37810         (re_string_context_at, bin_tree_t, re_dfastate_t):
37811         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
37812         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
37813         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
37814         (re_string_char_size_at, re_string_wchar_at):
37815         (re_string_elem_size_at):
37816         Use the new types and macros to port to 64-bit hosts.
37817         Use unsigned types for internal values, so that the code
37818         mostly works even for arrays larger than SSIZE_MAX.
37819         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
37820         (search_duplicated_node, calc_eclosure_iter, fetch_number):
37821         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
37822         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
37823         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
37824         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
37825         (calc_inveclosure, parse_dup_op, build_range_exp):
37826         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
37827         (fetch_number, create_token_tree, mark_opt_subexp):
37828         Likewise.
37829         * lib/regex_internal.c (re_string_construct_common,
37830         create_ci_newstate):
37831         (create_cd_newstate, re_string_allocate, re_string_construct):
37832         (re_string_realloc_buffers, build_wcs_upper_buffer):
37833         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
37834         (re_string_reconstruct, re_string_peek_byte_case):
37835         (re_string_fetch_byte_case, re_string_context_at):
37836         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
37837         (re_node_set_init_copy, re_node_set_add_intersect):
37838         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
37839         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
37840         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
37841         (re_acquire_state, re_acquire_state_context, register_state):
37842         Likewise.
37843         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
37844         search_cur_bkref_entry):
37845         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
37846         (re_search_internal, re_search_2_stub, re_search_stub)
37847         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
37848         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
37849         (update_cur_sifted_state, check_dst_limits):
37850         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
37851         (check_subexp_limits, sift_states_bkref, merge_state_array):
37852         (check_subexp_matching_top, get_subexp, get_subexp_sub):
37853         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
37854         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
37855         (expand_bkref_cache, check_node_accept_bytes):
37856         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
37857         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
37858         (acquire_init_state_context, check_halt_node_context):
37859         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
37860         (sift_states_backward, clean_state_log_if_needed):
37861         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
37862         (find_recover_state, transit_state_sb, transit_state_mb):
37863         (transit_state_bkref, build_trtable, match_ctx_clean):
37864         Likewise.
37865         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
37866         to work around an assumption that REG_MISSING is negative.
37867
37868         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
37869         (seek_collating_symbol_entry) [defined _LIBC]:
37870         (lookup_collation_sequence_value) [defined _LIBC]:
37871         (build_range_exp, build_collating_symbol) [defined _LIBC]:
37872         Use prototypes rather than old-style function definitions.
37873         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
37874         (transit_state_sb) [0]:
37875         (find_collation_sequence_value) [defined _LIBC]: Likewise.
37876
37877         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
37878         rm_eo.
37879
37880         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
37881         (optimize_subexps, lower_subexp):
37882         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
37883         since the signed shift might overflow.  Use 1u<<31 instead.
37884         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
37885         Likewise.
37886         * lib/regexec.c (check_dst_limits_calc_pos_1,
37887         check_subexp_matching_top): Likewise.
37888
37889         * lib/regcomp.c (optimize_subexps, lower_subexp):
37890         Use CHAR_BIT rather than 8, for clarity.
37891         * lib/regexec.c (check_dst_limits_calc_pos_1):
37892         (check_subexp_matching_top): Likewise.
37893         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
37894         have to worry about portability issues when shifting it left.
37895         Remove no-longer-needed test for table_size > 0.
37896         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
37897         in a word, as the resulting behavior is undefined.
37898         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
37899         in one case, a <= should have been an <, and in another case the
37900         whole test was missing.
37901         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
37902         the standard name CHAR_BIT.
37903         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
37904         this is not true on one's complement and signed-magnitude hosts.
37905
37906         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
37907         next_last_offset.
37908         (struct re_dfa_t): Remove unused member states_alloc.
37909         * lib/regcomp.c (init_dfa): Don't initialize unused members.
37910
37911 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
37912
37913         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
37914         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
37915         and large-file glibc and in 32-bit large-file Solaris.
37916
37917 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
37918
37919         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
37920         lengths fit in regoff_t; this isn't true if regoff_t is the same
37921         width as size_t.
37922         * lib/regex.c (re_search_internal): 5th arg is LAST_START
37923         (= START + RANGE) instead of RANGE.  This avoids overflow
37924         problems when regoff_t is the same width as size_t.
37925         All callers changed.
37926         (re_search_2_stub): Check for overflow when adding the
37927         sizes of the two strings.
37928         (re_search_stub): Check for overflow when adding START
37929         to RANGE; if it occurs, substitute the extreme value.
37930
37931 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
37932
37933         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
37934
37935 2005-08-31  Jim Meyering  <jim@meyering.net>
37936
37937         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
37938         a pointer-to-const.
37939         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
37940         (register_state): Likewise.
37941         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
37942         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
37943         (group_nodes_into_DFAstates): Likewise.
37944
37945 2005-08-31  Jim Meyering  <jim@meyering.net>
37946
37947         * check-module: Add a FIXME comment.
37948
37949 2005-08-31  Eric Blake  <ebb9@byu.net>
37950
37951         * modules/unistd-safer (Files): Add unistd--.h.
37952         * modules/stdio-safer (Files): Add stdio--.h.
37953
37954 2005-08-31  Derek Price  <derek@ximbiot.com>
37955
37956         * lib/getdelim.c (getdelim): Return EOF on EOF.
37957         Reported by Larry Jones <lawrence.jones@ugs.com>.
37958
37959 2005-08-31  Bruno Haible  <bruno@clisp.org>
37960
37961         Avoid unnecessary diffs in the generated lib/Makefile.am.
37962         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
37963         the generated files.
37964         (func_import): Don't set cmd.
37965
37966 2005-08-31  Bruno Haible  <bruno@clisp.org>
37967
37968         * lib/strstr.c: Include <stddef.h>, for NULL.
37969         * lib/strcasestr.c: Likewise.
37970         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37971
37972 2005-08-31  Bruno Haible  <bruno@clisp.org>
37973
37974         * gnulib-tool: New option --macro-prefix.
37975         (func_import): Use macro_prefix.
37976         (import): Handle option --macro-prefix.
37977
37978 2005-08-31  Bruno Haible  <bruno@clisp.org>
37979
37980         * gnulib-tool (import): Rename most ac_* variables to cached_*.
37981         Also use new variables cached_lgpl, cached_libtool.
37982
37983 2005-08-31  Bruno Haible  <bruno@clisp.org>
37984
37985         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
37986         always instantiating them.
37987
37988 2005-08-31  Bruno Haible  <bruno@clisp.org>
37989
37990         * gnulib-tool (func_import): Read the previous cached settings
37991         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
37992         earlier added by gnulib but are now dropped. Warn when a gnulib file
37993         overwrites a non-gnulib file.
37994
37995 2005-08-31  Bruno Haible  <bruno@clisp.org>
37996
37997         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
37998         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
37999         projects that don't keep autogenerated files in CVS. Put into
38000         actioncmd only the specified modules, not the transitive closure.
38001
38002 2005-08-31  Bruno Haible  <bruno@clisp.org>
38003
38004         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
38005         Create directories that shall be filled.
38006         (import): Don't look for gl_* macros in configure.ac. Recurse across
38007         all directories containing a gnulib-cache.m4 files, if meaningful.
38008
38009 2005-08-31  Bruno Haible  <bruno@clisp.org>
38010
38011         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
38012         (import): Set seen_libtool when we see gl_LIBTOOL.
38013
38014 2005-08-31  Bruno Haible  <bruno@clisp.org>
38015
38016         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
38017         declaration macro definitions from generated gnulib.m4.
38018
38019 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
38020
38021         * lib/iconvme.h: Add prototype for iconv_alloc.
38022
38023 2005-08-29  Simon Josefsson  <jas@extundo.com>
38024
38025         * lib/iconvme.c: Fix errno.
38026
38027 2005-08-29  Bruno Haible  <bruno@clisp.org>
38028
38029         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
38030         that it works when the directory contains spaces.
38031
38032 2005-08-29  Bruno Haible  <bruno@clisp.org>
38033
38034         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
38035
38036 2005-08-29  Bruno Haible  <bruno@clisp.org>
38037
38038         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
38039         Emit more advice.
38040
38041 2005-08-29  Bruno Haible  <bruno@clisp.org>
38042         and Stepan Kasal  <kasal@ucw.cz>
38043
38044         * check-module: If more parameters are given, check each of them
38045         separately; add more exceptions, as noted by Jim Meyering.
38046         (check_module): New procedure.
38047         (%exempt_header): Now contains all exceptions.
38048
38049 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
38050
38051         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
38052
38053 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
38054
38055         * lib/iconvme.c: Split iconv_string into iconv_alloc.
38056
38057 2005-08-28  Bruno Haible  <bruno@clisp.org>
38058
38059         * m4/gnulib-tool.m4: New file.
38060
38061 2005-08-27  Jim Meyering  <jim@meyering.net>
38062
38063         * modules/unistd-safer (Files): Add pipe-safer.c.
38064         * modules/fcntl-safer (Files): Add creat-safer.c.
38065
38066 2005-08-27  Jim Meyering  <jim@meyering.net>
38067
38068         * m4/stdlib-safer.m4: New file.  From coreutils.
38069         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
38070         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
38071         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
38072         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
38073         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
38074
38075 2005-08-27  Jim Meyering  <jim@meyering.net>
38076
38077         * lib/fopen-safer.c: Merge minor changes from coreutils.
38078         * lib/dup-safer.c: Likewise.
38079         * lib/fd-safer.c: Likewise.
38080
38081         Merge from coreutils.
38082         * lib/stdio--.h: New file.
38083         * lib/stdlib--.h: New file.
38084         * lib/mkstemp-safer.c: New file.
38085
38086         GNU tar needs these.
38087         * lib/pipe-safer.c: New file.
38088         * lib/creat-safer.c: New file.
38089         * lib/fcntl--.h (creat): Define to creat_safer.
38090         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
38091         * lib/unistd--.h (pipe): Define to pipe_safer.
38092         * lib/unistd-safer.h: Declare pipe_safer.
38093
38094 2005-08-26  Simon Josefsson  <jas@extundo.com>
38095
38096         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
38097         Haible <bruno@clisp.org>.
38098
38099 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
38100
38101         * lib/regex_internal.h: Remove all references to
38102         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
38103         or better.
38104         (bitset_not, bitset_merge, bitset_not_merge):
38105         (bitset_mask, re_string_allocate, re_string_construct):
38106         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
38107         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
38108         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
38109         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
38110         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
38111         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
38112         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
38113         (re_acquire_state_context):
38114         Remove unnecessary forward decls.
38115         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
38116         Put __attribute at function definition,
38117         now that the function decl has been removed.
38118         * lib/regex_internal.c (re_string_peek_byte_case):
38119         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
38120         Likewise.
38121
38122 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
38123
38124         * m4/regex.m4: Add AC_PREREQ(2.50).
38125         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
38126
38127 2005-08-25  Simon Josefsson  <jas@extundo.com>
38128
38129         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
38130         __fsetlocking.
38131
38132 2005-08-25  Simon Josefsson  <jas@extundo.com>
38133
38134         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
38135         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
38136         GLIBC specific code.
38137
38138 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
38139
38140         Make regex safe for g++.  This fixes one real bug (an "err"
38141         that should have been "*err").  g++ problem reported by
38142         Sam Steingold.
38143         * lib/regex_internal.h (re_calloc): New macro, consistent with
38144         re_malloc etc.  All callers of calloc changed to use re_calloc.
38145         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
38146         not int.  All callers changed.
38147         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
38148         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
38149         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
38150         (find_recover_state): Change "err" to "*err"; this fixes what
38151         appears to be a real bug.
38152         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
38153         versus int.
38154
38155 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
38156
38157         * modules/regex (Depends-on): Add malloc, since the code
38158         assumes that !malloc(0) means failure.
38159
38160 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
38161
38162         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
38163
38164         alloca modernization/simplification for regex.
38165         * lib/regex.c: Remove portability cruft for alloca.  This no longer
38166         needs to be at the start of the file, and can be moved into
38167         regex_internal.h and simplified.
38168         * lib/regex_internal.h: Include <alloca.h>.
38169         (__libc_use_alloca) [!defined _LIBC]: New macro.
38170         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
38171         now works outside glibc.
38172
38173 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
38174
38175         * config/srclist.txt: Add glibc bugs 1241, 1245.
38176
38177 2005-08-25  Jim Meyering  <jim@meyering.net>
38178
38179         * lib/open-safer.c: Include <config.h>.
38180         Otherwise, we'd lose LARGEFILE support in any file using
38181         e.g. "fcntl--.h"
38182
38183 2005-08-25  Bruno Haible  <bruno@clisp.org>
38184
38185         * m4/minmax.m4: Require autoconf 2.52.
38186         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
38187         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
38188         alternatives of translit over the alphabet.
38189         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
38190
38191 2005-08-24  Simon Josefsson  <jas@extundo.com>
38192
38193         * tests/test-getpass.c: New file.
38194
38195 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38196
38197         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
38198         for GNU regex features.
38199
38200 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38201
38202         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
38203         * lib/regex.h (regerror): Likewise.
38204
38205         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
38206         requires this.  (The code never needed it.)
38207
38208         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
38209         All uses of recently-renamed identifiers changed to use the new,
38210         POSIX-compliant names.  The code will build and run just fine
38211         without these changes, but it's better to eat our own dog food
38212         and use the standard-conforming names.
38213
38214         * lib/regex.h: Fix a multitude of POSIX name space violations.
38215         These changes have an effect only for programs that define
38216         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
38217         do not change anything for programs compiled in the normal way.
38218         Also, there is no effect on the ABI.
38219
38220         (_REGEX_SOURCE): New macro.
38221         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
38222         defined and _GNU_SOURCE is not; this fixes a name space violation.
38223
38224         Rename the following macros to obey POSIX requirements.
38225         The old names are still visible as macros if _REGEX_SOURCE is defined.
38226         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
38227         RE_BACKSLASH_ESCAPE_IN_LISTS.
38228         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
38229         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
38230         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
38231         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
38232         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
38233         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
38234         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
38235         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
38236         (REG_INTERVALS): renamed from RE_INTERVALS.
38237         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
38238         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
38239         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
38240         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
38241         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
38242         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
38243         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
38244         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
38245         RE_UNMATCHED_RIGHT_PAREN_ORD.
38246         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
38247         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
38248         (REG_DEBUG): renamed from RE_DEBUG.
38249         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
38250         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
38251         unusual, since we can't clash with the POSIX REG_ICASE.
38252         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
38253         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
38254         (REG_NO_SUB): renamed from RE_NO_SUB.
38255         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
38256         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
38257         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
38258         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
38259         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
38260         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
38261         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
38262         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
38263         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
38264         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
38265         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
38266         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
38267         RE_SYNTAX_POSIX_MINIMAL_BASIC.
38268         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
38269         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
38270         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
38271         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
38272         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
38273         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
38274         (REG_FIXED): Renamed from REGS_FIXED.
38275         (REG_NREGS): Renamed from RE_NREGS.
38276
38277         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
38278         of other REG_* macros, since POSIX says the user is allowed to
38279         #undef these macros selectively.
38280
38281         (reg_errcode_t): Update comment stating what other tables need
38282         to be consistent.
38283
38284         Rename the following enum values to obey POSIX requirements.
38285         The old names are still visible as macros.
38286         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
38287         is not defined, since GNU is supposed to be a superset of POSIX as
38288         much as possible, and since we want reg_errcode_t to be a signed
38289         type for implementation consistency.
38290         (_REG_NOERROR): Renamed from REG_NOERROR.
38291         (_REG_NOMATCH): Renamed from REG_NOMATCH.
38292         (_REG_BADPAT): Renamed from REG_BADPAT.
38293         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
38294         (_REG_ECTYPE): Renamed from REG_ECTYPE.
38295         (_REG_EESCAPE): Renamed from REG_EESCAPE.
38296         (_REG_ESUBREG): Renamed from REG_ESUBREG.
38297         (_REG_EBRACK): Renamed from REG_EBRACK.
38298         (_REG_EPAREN): Renamed from REG_EPAREN.
38299         (_REG_EBRACE): Renamed from REG_EBRACE.
38300         (_REG_BADBR): Renamed from REG_BADBR.
38301         (_REG_ERANGE): Renamed from REG_ERANGE.
38302         (_REG_ESPACE): Renamed from REG_ESPACE.
38303         (_REG_BADRPT): Renamed from REG_BADRPT.
38304         (_REG_EEND): Renamed from REG_EEND.
38305         (_REG_ESIZE): Renamed from REG_ESIZE.
38306         (_REG_ERPAREN): Renamed from REG_ERPAREN.
38307         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
38308         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
38309         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
38310         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
38311
38312         (_REG_RE_NAME, _REG_RM_NAME): New macros.
38313         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
38314         changed.  But support the old name if the new one is not defined
38315         and if _REGEX_SOURCE.
38316
38317         Change the following member names in struct re_pattern_buffer.
38318         The old names are still supported if !_REGEX_SOURCE.
38319         The new names are always supported, regardless of _REGEX_SOURCE.
38320         (re_buffer): Renamed from buffer.
38321         (re_allocated): Renamed from allocated.
38322         (re_used): Renamed from used.
38323         (re_syntax): Renamed from syntax.
38324         (re_fastmap): Renamed from fastmap.
38325         (re_translate): Renamed from translate.
38326         (re_can_be_null): Renamed from can_be_null.
38327         (re_regs_allocated): Renamed from regs_allocated.
38328         (re_fastmap_accurate): Renamed from fastmap_accurate.
38329         (re_no_sub): Renamed from no_sub.
38330         (re_not_bol): Renamed from not_bol.
38331         (re_not_eol): Renamed from not_eol.
38332         (re_newline_anchor): Renamed from newline_anchor.
38333
38334         Change the following member names in struct re_registers.
38335         The old names are still supported if !_REGEX_SOURCE.
38336         The new names are always supported, regardless of _REGEX_SOURCE.
38337         (rm_num_regs): Renamed from num_regs.
38338         (rm_start): Renamed from start.
38339         (rm_end): Renamed from end.
38340
38341         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
38342         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
38343         Prepend __ to parameter names.
38344
38345         Undo yesterday's changes.
38346
38347 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38348
38349         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
38350         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
38351         lib/regex.c.
38352
38353 2005-08-24  Jim Meyering  <jim@meyering.net>
38354
38355         Sync from coreutils.
38356         * m4/fcntl-safer.m4: New file.
38357
38358         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
38359         and object files for this module.
38360
38361 2005-08-24  Jim Meyering  <jim@meyering.net>
38362
38363         Sync from coreutils.
38364         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
38365
38366 2005-08-24  Jim Meyering  <jim@meyering.net>
38367
38368         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
38369         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
38370
38371 2005-08-24  Jim Meyering  <jim@meyering.net>
38372
38373         * modules/fcntl-safer: New module.
38374         * modules/fts (Depends-on): Add fcntl-safer.
38375         * MODULES.html.sh (File descriptor based Input/Output):
38376         Add fcntl-safer.
38377
38378 2005-08-24  Bruno Haible  <bruno@clisp.org>
38379
38380         Support for unit test modules.
38381         * modules/README: Mention tests modules.
38382         * modules/TEMPLATE-TESTS: New file.
38383         * gnulib-tool: New options --extract-tests-module, --with-tests and
38384         --tests-base (unused for the moment).
38385         (testsbase, inctests): New variables.
38386         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
38387         (func_verify_module): Exclude TEMPLATE-TESTS.
38388         (func_verify_nontests_module, func_verify_tests_module): New functions.
38389         (func_get_dependencies): Add implicit dependency for tests modules.
38390         (func_get_tests_module): New function.
38391         (func_modules_transitive_closure): When --with-tests was specified,
38392         include the unit tests as well, unless explicitly avoided.
38393         (func_emit_lib_Makefile_am): Ignore the tests modules here.
38394         (func_emit_tests_Makefile_am): New function.
38395         (func_create_testdir): When --with-tests was specified, emit a
38396         tests/ directory.
38397         * MODULES.html.sh (Future developments): Update.
38398
38399 2005-08-24  Bruno Haible  <bruno@clisp.org>
38400
38401         * modules/tls-tests: New file.
38402         * tests/test-tls.c: New file, from GNU gettext.
38403
38404 2005-08-24  Bruno Haible  <bruno@clisp.org>
38405
38406         * modules/lock-tests: New file.
38407         * tests/test-lock.c: New file, from GNU gettext.
38408
38409 2005-08-24  Bruno Haible  <bruno@clisp.org>
38410
38411         * lib/lock.h: Add multiple inclusion guard.
38412         * lib/tls.h: Add multiple inclusion guard.
38413
38414 2005-08-24  Bruno Haible  <bruno@clisp.org>
38415
38416         * gnulib-tool: Add support for the --aux-dir option to
38417         --create-testdir, --create-megatestdir, --test, --megatest.
38418         (func_create_testdir, func_create_megatestdir): Optionally emit a
38419         AC_CONFIG_AUX_DIR directive.
38420         (create-testdir, create-megatestdir, test, megatest): Provide a
38421         default value for $auxdir.
38422
38423 2005-08-24  Bruno Haible  <bruno@clisp.org>
38424
38425         * gnulib-tool (import): Use compound statement instead of subshell
38426         where possible.
38427
38428 2005-08-24  Bruno Haible  <bruno@clisp.org>
38429
38430         * gnulib-tool (import): Change --aux-dir default to "build-aux".
38431
38432 2005-08-24  Bruno Haible  <bruno@clisp.org>
38433
38434         * gnulib-tool (func_version): Update.
38435
38436 2005-08-24  Bruno Haible  <bruno@clisp.org>
38437
38438         * gnulib-tool (func_import, func_create_testdir,
38439         func_create_megatestdir): Quote all autoconf macro arguments.
38440
38441 2005-08-24  Bruno Haible  <bruno@clisp.org>
38442
38443         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
38444         option --force, because --force causes the aclocal.m4 of each
38445         subdirectory to be newer than the corresponding config.h.in.
38446
38447 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
38448
38449         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
38450         All contents moved to gl_REGEX.
38451         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
38452         assume that it does.
38453
38454 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
38455
38456         * lib/regex.h (REG_NOSYS)
38457         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
38458         Define, since POSIX requires it as of 2001.
38459         (_REG_ENOSYS)
38460         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
38461         New private symbol, used to keep the enum signed in all cases.
38462         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
38463         Youngman in
38464         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
38465
38466         * lib/regex_internal.c (re_string_skip_chars, register_state):
38467         (calc_state_hash):
38468         Remove forward decls; no longer needed now that we use prototypes.
38469         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
38470         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
38471         (clean_state_log_if_needed): Likewise.
38472
38473 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
38474
38475         * config/srclist.txt: Add glibc bugs 1231-1233.
38476
38477 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
38478
38479         Fix problems reported by Sam Steingold in
38480         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
38481         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
38482         assumed that reg_errcode_t is a signed type, which is not
38483         necessarily true if _XOPEN_SOURCE is not defined.
38484         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
38485         since some compilers warn about it otherwise.
38486
38487 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
38488
38489         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
38490         (init_word_char, create_initial_state, duplicate_node_closure):
38491         (fetch_token, peek_token_bracket, build_range_exp):
38492         (build_collating_symbol): Remove forward decls; no longer needed
38493         now that we use prototypes.
38494
38495         * lib/regcomp.c:
38496         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
38497         (re_compile_fastmap_iter, regcomp, regerror, regfree):
38498         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
38499         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
38500         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
38501         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
38502         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
38503         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
38504         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
38505         (build_range_exp, build_collating_symbol, parse_bracket_exp):
38506         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
38507         (build_charclass, build_charclass_op, fetch_number, create_tree):
38508         (create_token_tree, mark_opt_subexp, duplicate_tree):
38509         Use prototypes rather than old-style definitions.
38510
38511         * lib/regex_internal.c:
38512         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
38513         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
38514         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
38515         (re_string_reconstruct, re_string_peek_byte_case):
38516         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
38517         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
38518         (re_node_set_init_copy, re_node_set_add_intersect):
38519         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
38520         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
38521         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
38522         (re_acquire_state, re_acquire_state_context, register_state):
38523         (create_ci_newstate, create_cd_newstate, free_state):
38524         Likewise.
38525         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
38526         re_search_2):
38527         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
38528         (re_search_internal, prune_impossible_nodes):
38529         (acquire_init_state_context, check_matching, static):
38530         (check_halt_node_context, check_halt_state_context, proceed_next_node):
38531         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
38532         (update_regs, sift_states_backward, build_sifted_states):
38533         (clean_state_log_if_needed, merge_state_array):
38534         (update_cur_sifted_state, add_epsilon_src_nodes):
38535         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
38536         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
38537         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
38538         (find_recover_state, check_subexp_matching_top, transit_state_mb):
38539         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
38540         (check_arrival, check_arrival_add_next_nodes):
38541         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
38542         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
38543         (check_node_accept_bytes, check_node_accept, extend_buffers):
38544         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
38545         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
38546         (sift_ctx_init):
38547         Likewise.
38548
38549         * lib/regex_internal.h:
38550         (re_string_allocate, re_string_construct, re_string_reconstruct):
38551         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
38552         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
38553         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
38554         (re_string_context_at, re_string_peek_byte_case):
38555         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
38556         is defined, since we now use prototypes always.
38557
38558         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
38559         C89 or better.  All uses removed.
38560
38561 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
38562
38563         * config/srclist.txt: Add glibc bugs 1220-1227.
38564
38565 2005-08-20  Jim Meyering  <jim@meyering.net>
38566
38567         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
38568         of unused local, dfa.
38569
38570 2005-08-20  Bruno Haible  <bruno@clisp.org>
38571
38572         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
38573
38574 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
38575
38576         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
38577         (re_node_set_insert_last, re_dfa_add_node):
38578         Rename local variables to avoid GCC shadowing warnings.
38579
38580 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
38581
38582         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
38583         [defined lint]: Suppress bogus uninitialized-variable warnings.
38584
38585         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
38586         and let the caller return REG_ESPACE if out of space.  This
38587         removes an uninitialied-variable warning with GCC 4.0.1, and also
38588         avoids taking the address of a local variable.  All callers
38589         changed.
38590
38591 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
38592
38593         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
38594         $LIBCSRC/posix/regexec.c.
38595         Add glibc bug 1217 for regcomp.c.
38596
38597 2005-08-19  Jim Meyering  <jim@meyering.net>
38598
38599         * lib/regexec.c (proceed_next_node): Redo local variables to
38600         avoid GCC shadowing warnings.
38601
38602 2005-08-18  Bruno Haible  <bruno@clisp.org>
38603
38604         * lib/strstr.c (strstr): Fix return value in multibyte case.
38605         * lib/strcasestr.c (strcasestr): Likewise.
38606
38607 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
38608
38609         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
38610
38611 2005-08-17  Jim Meyering  <jim@meyering.net>
38612
38613         Make the %s format (seconds since the epoch) work for a negative
38614         number and when used with a zero-padded field width, e.g. %015s.
38615
38616         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
38617         label so that it precedes the code to set `digits'.  Otherwise,
38618         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
38619         print `00-22'.  Now, it prints `-0022', as it should.
38620
38621 2005-08-17  Bruno Haible  <bruno@clisp.org>
38622
38623         * modules/strstr (Files): Add m4/mbrtowc.m4.
38624         (Depends-on): Add mbuiter.
38625
38626 2005-08-17  Bruno Haible  <bruno@clisp.org>
38627
38628         * modules/strcasestr: New file.
38629         * MODULES.html.sh (String handling, based on ANSI C 89): Add
38630         strcasestr.
38631
38632 2005-08-17  Bruno Haible  <bruno@clisp.org>
38633
38634         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
38635
38636 2005-08-17  Bruno Haible  <bruno@clisp.org>
38637
38638         * modules/mbuiter: New file.
38639         * MODULES.html.sh (Extended multibyte and wide character utilities):
38640         Add mbuiter.
38641
38642 2005-08-17  Bruno Haible  <bruno@clisp.org>
38643
38644         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
38645         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
38646
38647 2005-08-17  Bruno Haible  <bruno@clisp.org>
38648
38649         * m4/strcasestr.m4: New file.
38650
38651 2005-08-17  Bruno Haible  <bruno@clisp.org>
38652
38653         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
38654         * lib/strstr.c: Completely rewritten, with multibyte locale support.
38655
38656 2005-08-17  Bruno Haible  <bruno@clisp.org>
38657
38658         * lib/strcasestr.h: New file.
38659         * lib/strcasestr.c: New file.
38660
38661 2005-08-17  Bruno Haible  <bruno@clisp.org>
38662
38663         * lib/strcasecmp.c: Use mbuiter.h.
38664
38665 2005-08-17  Bruno Haible  <bruno@clisp.org>
38666
38667         * lib/mbuiter.h: New file.
38668
38669 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
38670
38671         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
38672         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
38673         and gl_GETOPT are both invoked via different paths (as happens
38674         with GNU tar CVS because it uses both argp and getopt), the former
38675         wins.
38676
38677 2005-08-16  Bruno Haible  <bruno@clisp.org>
38678
38679         * modules/tls: New file.
38680         * MODULES.html.sh (Multithreading): Add tls.
38681
38682 2005-08-16  Bruno Haible  <bruno@clisp.org>
38683
38684         * modules/strnlen1: New file.
38685         * MODULES.html.sh (String handling): Add strnlen1.
38686
38687 2005-08-16  Bruno Haible  <bruno@clisp.org>
38688
38689         * modules/strcase (Files): Add m4/mbrtowc.m4.
38690         (Depends-on): Add strnlen1, mbchar.
38691
38692 2005-08-16  Bruno Haible  <bruno@clisp.org>
38693
38694         * modules/mbiter: New file.
38695         * MODULES.html.sh (Extended multibyte and wide character utilities):
38696         Add mbiter.
38697
38698 2005-08-16  Bruno Haible  <bruno@clisp.org>
38699
38700         * modules/mbfile: New file.
38701         * MODULES.html.sh (Extended multibyte and wide character utilities):
38702         Add mbfile.
38703
38704 2005-08-16  Bruno Haible  <bruno@clisp.org>
38705
38706         * modules/mbchar: New file.
38707         * MODULES.html.sh (Extended multibyte and wide character utilities):
38708         New section.
38709
38710 2005-08-16  Bruno Haible  <bruno@clisp.org>
38711
38712         * m4/tls.m4: New file, from GNU gettext.
38713
38714 2005-08-16  Bruno Haible  <bruno@clisp.org>
38715
38716         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
38717         always.
38718         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
38719
38720 2005-08-16  Bruno Haible  <bruno@clisp.org>
38721
38722         * m4/mbiter.m4: New file.
38723
38724 2005-08-16  Bruno Haible  <bruno@clisp.org>
38725
38726         * m4/mbfile.m4: New file.
38727
38728 2005-08-16  Bruno Haible  <bruno@clisp.org>
38729
38730         * m4/mbchar.m4: New file.
38731
38732 2005-08-16  Bruno Haible  <bruno@clisp.org>
38733
38734         * lib/tls.h: New file, from GNU gettext.
38735         * lib/tls.c: New file, from GNU gettext.
38736
38737 2005-08-16  Bruno Haible  <bruno@clisp.org>
38738
38739         * lib/strnlen1.h: New file.
38740         * lib/strnlen1.c: New file.
38741
38742 2005-08-16  Bruno Haible  <bruno@clisp.org>
38743
38744         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
38745         (mbi_init): Update.
38746         (mbi_avail, mbi_advance): Let the iteration end before the terminating
38747         NUL byte, not after it.
38748
38749 2005-08-16  Bruno Haible  <bruno@clisp.org>
38750
38751         * lib/strcase.h (strcasecmp): Add note in comments.
38752         * lib/strncasecmp.c: Use code from strcasecmp.c.
38753         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
38754         (strcasecmp): Work correctly in multibyte locales.
38755
38756 2005-08-16  Bruno Haible  <bruno@clisp.org>
38757
38758         * lib/mbiter.h: New file.
38759
38760 2005-08-16  Bruno Haible  <bruno@clisp.org>
38761
38762         * lib/mbfile.h: New file.
38763
38764 2005-08-16  Bruno Haible  <bruno@clisp.org>
38765
38766         * lib/mbchar.h: New file.
38767         * lib/mbchar.c: New file.
38768
38769 2005-08-16  Bruno Haible  <bruno@clisp.org>
38770
38771         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
38772         the valid ones. Makes the comparison operations transitive:
38773         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
38774         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
38775
38776 2005-08-15  Simon Josefsson  <jas@extundo.com>
38777
38778         * modules/ssize_t (License): Change to 'unlimited'.
38779
38780         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
38781
38782 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
38783
38784         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
38785         Add comments for each pending glibc patch.
38786
38787 2005-08-15  Bruno Haible  <bruno@clisp.org>
38788
38789         * lib/regex.h (__restrict_arr): Don't define to __restrict if
38790         __cplusplus is defined.
38791
38792 2005-08-14  Jim Meyering  <jim@meyering.net>
38793
38794         Sync from coreutils.
38795
38796         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
38797         Use the hash-table-based cycle-detection code not just when
38798         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
38799         Reported by James Youngman in
38800         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
38801         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
38802         FTS_TIGHT_CYCLE_CHECK.
38803         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
38804         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
38805         once again.
38806         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
38807         * lib/fts.c (fd_safer): Remove decl.
38808         Include fcntl--.h rather than unistd-safer.h
38809         (fts_safe_changedir): Don't call fd_safer; no longer needed
38810         now that we include fcntl--.h.
38811
38812 2005-08-12  Simon Josefsson  <jas@extundo.com>
38813
38814         * modules/getndelim2: Use ssize_t module.
38815         * modules/getnline: Likewise.
38816         * modules/safe-read: Likewise.
38817         * modules/xreadlink: Likewise.
38818
38819         * modules/ssize_t: New file.
38820
38821 2005-08-12  Simon Josefsson  <jas@extundo.com>
38822
38823         * m4/readline.m4: Look for termcap, curses or ncurses if required.
38824
38825 2005-08-12  Simon Josefsson  <jas@extundo.com>
38826
38827         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38828         ssize_t.
38829
38830 2005-08-12  Simon Josefsson  <jas@extundo.com>
38831
38832         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
38833         readline, getdelim and check_version.
38834         (Support for systems lacking ISO C 99: Sizes of integer types):
38835         Add size_max.
38836
38837 2005-08-12  Bruno Haible  <bruno@clisp.org>
38838
38839         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
38840
38841 2005-08-11  Simon Josefsson  <jas@extundo.com>
38842
38843         * modules/readline: New file.
38844
38845         * modules/strnlen (Files): Add strnlen.h.
38846
38847 2005-08-11  Simon Josefsson  <jas@extundo.com>
38848
38849         * m4/readline.m4: New file.
38850
38851 2005-08-11  Simon Josefsson  <jas@extundo.com>
38852
38853         * lib/readline.h, readline.c: New file.
38854
38855 2005-08-11  Simon Josefsson  <jas@extundo.com>
38856
38857         * doc/gnulib.texi (Initial import, Finishing touches): Mention
38858         gl_AVOID.
38859
38860 2005-08-11  Bruno Haible  <bruno@clisp.org>
38861
38862         * lib/strnlen.h (strnlen): Change parameter name to match comment.
38863
38864 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
38865
38866         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
38867
38868 2005-08-10  Simon Josefsson  <jas@extundo.com>
38869
38870         * tests/test-iconvme.c: New file.
38871
38872 2005-08-10  Simon Josefsson  <jas@extundo.com>
38873
38874         * m4/strnlen.m4: New file.
38875
38876         * m4/strndup.m4: Don't check for strnlen declaration, done in
38877         strnlen.m4.
38878
38879 2005-08-10  Simon Josefsson  <jas@extundo.com>
38880
38881         * lib/strndup.c: Use strnlen.h.
38882
38883         * lib/strnlen.h: New file.
38884
38885 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
38886
38887         * README: Typos.
38888
38889 2005-08-02  Simon Josefsson  <jas@extundo.com>
38890
38891         * modules/readline: New file.
38892
38893 2005-08-02  Simon Josefsson  <jas@extundo.com>
38894
38895         * modules/getdelim: New file.
38896
38897         * modules/getline: Rewrite, don't use getndelim2.
38898
38899 2005-08-02  Simon Josefsson  <jas@extundo.com>
38900
38901         * m4/getline.m4: Separate out getdelim stuff into separate module.
38902
38903         * m4/getdelim.m4: New file.
38904
38905 2005-08-02  Simon Josefsson  <jas@extundo.com>
38906
38907         * lib/getline.h, getline.c: Rewrite.
38908
38909         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
38910
38911 2005-07-31  Bruno Haible  <bruno@clisp.org>
38912
38913         * lib/lock.h (gl_lock_initializer): New macro.
38914         (gl_lock_define_initialized): Use it.
38915         (gl_rwlock_initializer): New macro.
38916         (gl_rwlock_define_initialized): Use it.
38917         (gl_recursive_lock_initializer): New macro.
38918         (gl_recursive_lock_define_initialized): Use it.
38919
38920 2005-07-30  Karl Berry  <karl@gnu.org>
38921
38922         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
38923         Report from Ben Pfaff, regarding getopt.
38924
38925 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
38926
38927         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
38928         normal way.
38929         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
38930         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
38931         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
38932         (gl_GETOPT): Use the new macros.  Most of the implementation
38933         is moved to the new macros.  This is for programs like Emacs
38934         that don't want all the functionality of gl_GETOPT.
38935
38936 2005-07-26  Bruno Haible  <bruno@clisp.org>
38937
38938         * m4/lock.m4: Update from GNU gettext.
38939
38940 2005-07-26  Bruno Haible  <bruno@clisp.org>
38941
38942         * lib/lock.h: Update from GNU gettext.
38943         * lib/lock.c: Update from GNU gettext.
38944
38945 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
38946
38947         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
38948         obsolescent AC_TRY_RUN.  Include the default includes files, for
38949         'exit'.
38950
38951 2005-07-24  Bruno Haible  <bruno@clisp.org>
38952
38953         * modules/visibility: New file.
38954         * MODULES.html.sh (Misc): Add visibility.
38955
38956 2005-07-24  Bruno Haible  <bruno@clisp.org>
38957
38958         * m4/visibility.m4: New file.
38959
38960 2005-07-24  Bruno Haible  <bruno@clisp.org>
38961
38962         * doc/visibility.texi: New file.
38963
38964 2005-07-22  Bruno Haible  <bruno@clisp.org>
38965
38966         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
38967         $(ALLOCA_H), redundant through BUILT_SOURCES.
38968         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
38969         redundant through BUILT_SOURCES.
38970         * modules/byteswap (Makefile.am): Remove explicit dependency on
38971         $(BYTESWAP_H), redundant through BUILT_SOURCES.
38972         * modules/fnmatch (Makefile.am): Remove explicit dependency on
38973         $(FNMATCH_H), redundant through BUILT_SOURCES.
38974         * modules/getopt (Makefile.am): Remove explicit dependency on
38975         $(GETOPT_H), redundant through BUILT_SOURCES.
38976         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
38977         redundant through BUILT_SOURCES.
38978         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
38979         redundant through BUILT_SOURCES.
38980         * modules/stdbool (Makefile.am): Remove explicit dependency on
38981         $(STDBOOL_H), redundant through BUILT_SOURCES.
38982         * modules/stdint (Makefile.am): Remove explicit dependency on
38983         $(STDINT_H), redundant through BUILT_SOURCES.
38984         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
38985         Remove explicit dependency on $(SYSEXITS_H).
38986         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
38987
38988 2005-07-18  Simon Josefsson  <jas@extundo.com>
38989
38990         * lib/check-version.c (check_version): Accept identical versions too.
38991
38992 2005-07-18  Bruno Haible  <bruno@clisp.org>
38993
38994         * modules/lock: New file.
38995         * MODULES.html.sh (Multithreading): New section.
38996
38997 2005-07-18  Bruno Haible  <bruno@clisp.org>
38998
38999         * m4/lock.m4: New file, from GNU gettext.
39000
39001 2005-07-18  Bruno Haible  <bruno@clisp.org>
39002
39003         * lib/lock.h: New file, from GNU gettext.
39004         * lib/lock.c: New file, from GNU gettext.
39005
39006 2005-07-18  Bruno Haible  <bruno@clisp.org>
39007
39008         * lib/lock.h (gl_once_t): New type.
39009         (gl_once_define, gl_once): New macros.
39010         * lib/lock.c (fresh_once): New variable.
39011         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
39012         functions.
39013
39014 2005-07-16  Simon Josefsson  <jas@extundo.com>
39015
39016         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
39017         workaround, suggested by Bruno.
39018
39019 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
39020
39021         * modules/xalloc (Depends-on): Add xalloc-die.
39022         * modules/xvasprintf (Depends-on): Add xalloc-die.
39023
39024 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
39025
39026         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
39027         with a minor change.
39028
39029 2005-07-15  Bruno Haible  <bruno@clisp.org>
39030
39031         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
39032         When using lib/poll.c, define poll as rpl_poll.
39033
39034 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
39035
39036         * modules/argp (Depends-on): Remove unlocked-io.
39037
39038 2005-07-14  Derek Price  <derek@ximbiot.com>
39039
39040         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
39041         for glob symlink bug.
39042
39043 2005-07-14  Bruno Haible  <bruno@clisp.org>
39044
39045         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
39046         Instead, test for *_unlocked function declarations directly.
39047
39048 2005-07-11  Simon Josefsson  <jas@extundo.com>
39049
39050         * modules/size_max: New file.
39051
39052         * modules/xsize: Depend on size_max module for size_max.m4.
39053
39054 2005-07-11  Simon Josefsson  <jas@extundo.com>
39055
39056         * lib/size_max.h: New file.
39057
39058 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
39059
39060         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
39061         copyright symbol and the year.
39062         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
39063         (version_etc_va): Use parameterized copyright notice.
39064         Reword to conform to the current GNU coding standards.
39065
39066 2005-07-11  Karl Berry  <karl@gnu.org>
39067
39068         * doc/gnulib.texi (Quoting): new node.
39069         (Initial import): more info, from Patrice.
39070
39071 2005-07-11  Bruno Haible  <bruno@clisp.org>
39072
39073         * gnulib-tool (func_usage): Document option --avoid.
39074         (Command line options): Handle --avoid.
39075         (func_acceptable): New function.
39076         (func_modules_transitive_closure): Use it.
39077
39078 2005-07-11  Bruno Haible  <bruno@clisp.org>
39079
39080         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
39081         Reported by Jim Meyering.
39082
39083 2005-07-10  Bruno Haible  <bruno@clisp.org>
39084
39085         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
39086         Needed when size_t is smaller than 'unsigned int'.
39087         Reported by Paul Eggert.
39088
39089 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
39090
39091         * modules/argp (Depends-on): Add unlocked-io
39092
39093 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
39094
39095         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
39096         block of defines.
39097
39098 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
39099
39100         * config/srclist.txt: Comment out regcomp.c, since we have a porting
39101         fix now.
39102
39103 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
39104         and Paul Eggert  <eggert@cs.ucla.edu>
39105
39106         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
39107         in wint_t, not wchar_t.  Remove now-unnecessary cast.
39108
39109 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
39110
39111         * modules/regex (Files): Add lib/regex_internal.c,
39112         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
39113         (Depends-on): Add extensions.
39114         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
39115
39116 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
39117
39118         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
39119         pathconf.
39120         * m4/same.m4 (gl_SAME): Likewise.
39121         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
39122
39123         * m4/regex.m4: Adjust to new libc regex implementation.
39124         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
39125         all the .c and .h parts of (the new) regex.
39126         Quote the m4 stuff better.
39127         Check for RE_ICASE bug of old gnulib.
39128         Check for REG_STARTEND of recent libc.
39129         Rename local variables from jm_* to gl_*.
39130         Quote operand of "test -f".
39131         Say "recent enough" version of libc, not "version 2".
39132         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
39133         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
39134         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
39135         Remove check for btowc, isascii.
39136         Require AM_LANGINFO_CODESET.
39137
39138 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
39139
39140         * lib/regex.c, regex.h: Sync from libc.
39141         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
39142         * lib/regexec.c:
39143         New files, synced from libc, except that regex_internal.h
39144         currently has a small porting fix.
39145
39146 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
39147
39148         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
39149         regex_internal.c, regexec.c.
39150         Add regex_internal.h too, but as a comment, since the libc version
39151         is currently broken in gnulib mode.
39152
39153 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
39154
39155         Support programs like Emacs that use gnulib but not gettext.
39156         * MODULES.html.sh (Internationalization functions): Add gettext-h.
39157         * modules/gettext-h: New file.
39158         * modules/gettext (Files): Remove lib/gettext.h.
39159         (Depends-on): Add gettext-h.
39160         (Makefile.am): Remove lib_SOURCES.
39161         * modules/argmatch, modules/c-stack, modules/closeout:
39162         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
39163         * modules/execute, modules/file-type, modules/getaddrinfo:
39164         * modules/getopt, modules/human, modules/javacomp:
39165         * modules/javaexec, modules/mkdir-p, modules/obstack:
39166         * modules/openat, modules/pagealign_alloc, modules/pipe:
39167         * modules/quotearg, modules/regex, modules/rpmatch:
39168         * modules/unicodeio, modules/userspec, modules/version-etc:
39169         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
39170         * modules/xsetenv:
39171         Depend on gettext-h, not gettext.
39172
39173 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
39174
39175         * gnulib-tool (func_import): Add support for 'public domain' license.
39176         * modules/alloca, modules/atexit, modules/memmove:
39177         Now public domain, not GPL.
39178         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
39179         * modules/realloc, modules/strerror, modules/strtod:
39180         Now LGPL, not GPL.
39181
39182 2005-07-05  Bruno Haible  <bruno@clisp.org>
39183
39184         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
39185         autoconf CVS. Needed for mingw.
39186
39187 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
39188
39189         Remove the dependency of the strftime module on the tzset module.
39190         * modules/strftime (Depends-on): Remove dependency on tzset.
39191
39192 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
39193
39194         Remove the dependency of the strftime module on the tzset module.
39195         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
39196         gl_FUNC_TZSET_CLOBBER.
39197
39198 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
39199
39200         Remove the dependency of the strftime module on the tzset module.
39201         * lib/strftime.c (my_strftime)
39202         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
39203         Copy the input structure, to work around some of the bug with
39204         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
39205         Solaris releases, you should also use the tzset module, but we won't
39206         require it as a dependency any more since we don't want LGPLed code
39207         to depend on GPLed code.
39208
39209 2005-07-02  Jim Meyering  <jim@meyering.net>
39210
39211         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
39212         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
39213         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
39214         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
39215
39216 2005-07-02  Jim Meyering  <jim@meyering.net>
39217
39218         * lib/backupfile.c (backup_args): Change a `0' to NULL.
39219
39220 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
39221
39222         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
39223         declares only 'struct timespec;' (!).
39224
39225 2005-07-01  Jim Meyering  <jim@meyering.net>
39226
39227         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
39228         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
39229         * lib/save-cwd.c, tempname.c:
39230         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
39231         and don't include <sys/file.h>).
39232
39233 2005-06-29  Jim Meyering  <jim@meyering.net>
39234
39235         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
39236         type name.  Use the variable name instead.
39237         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
39238         Likewise.
39239
39240 2005-06-28  Simon Josefsson  <jas@extundo.com>
39241
39242         * modules/check-version (Files): Add check-version.m4.
39243
39244 2005-06-28  Simon Josefsson  <jas@extundo.com>
39245
39246         * m4/check-version.m4: New file, suggested by Jim Meyering
39247         <jim@meyering.net>.
39248
39249 2005-06-28  Simon Josefsson  <jas@extundo.com>
39250
39251         * lib/check-version.h, lib/check-version.c: New files.
39252
39253 2005-06-28  Simon Josefsson  <jas@extundo.com>
39254
39255         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
39256         collision with global variable.  Better indentation.  Don't
39257         increment buffer pointer beyond buffer end.  Based on comments
39258         from Paul Eggert <eggert@cs.ucla.edu>.
39259
39260         * lib/base64.h: Indent.
39261
39262 2005-06-28  Simon Josefsson  <jas@extundo.com>
39263
39264         * doc/gnulib.texi (Library version handling): New section.
39265
39266 2005-06-28  Jim Meyering  <jim@meyering.net>
39267
39268         * check-module (find_included_lib_files): Hard-code another
39269         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
39270         but modules/fts-lgpl (correctly) does not list those files.
39271
39272         * modules/canonicalize (Files): Add lib/pathmax.h.
39273
39274 2005-06-25  Simon Josefsson  <jas@extundo.com>
39275
39276         * modules/check-version: New file.
39277
39278 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
39279
39280         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
39281         initializer of struct addrinfo, as an indication that we don't
39282         care how many members the structure has.
39283
39284 2005-06-24  Derek Price  <derek@ximbiot.com>
39285         and Bruno Haible  <bruno@clisp.org>
39286
39287         Remove stat module & update lstat.
39288         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
39289         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
39290         * m4/stat.m4: Remove this file.
39291
39292 2005-06-24  Derek Price  <derek@ximbiot.com>
39293         and Bruno Haible  <bruno@clisp.org>
39294
39295         Remove stat module & update lstat.
39296         * lib/stat.c: Remove this file...
39297         (slash_aware_lstat): ...moving this content and its support...
39298         * lib/lstat.c (rpl_lstat): ...into here.
39299         * lib/lstat.h: New file.
39300
39301 2005-06-24  Derek Price  <derek@ximbiot.com>
39302         and Bruno Haible  <bruno@clisp.org>
39303
39304         Remove stat module & update lstat.
39305         * config/srclist.txt (libc sources): Remove stat.
39306
39307 2005-06-24  Derek Price  <derek@ximbiot.com>
39308         and Bruno Haible  <bruno@clisp.org>
39309
39310         Remove stat module & update lstat.
39311         * MODULES.html.sh (stat): Remove.
39312         * MODULES.html: Regenerated.
39313         * modules/lstat (Description): Correct function name.
39314         (Files): Add "lstat.h".
39315         (Depends-on): Remove stat, add xalloc, stat-macros.
39316         * modules/stat: Remove this file.
39317         (Include): Add "lstat.h", remove <sys/stat.h>.
39318
39319 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39320
39321         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
39322         (ranged_convert): Don't save conversion in a temporary struct.
39323         This causes a warning with GCC 4.0.0, and anyway in the typical
39324         case it's not worth the extra 100 bytes or so of code.
39325         (ranged_convert, __mktime_internal): When calling a function via a
39326         pointer P, use P () rather than (*P) (), as we now assume C89 or
39327         better.
39328
39329 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
39330
39331         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
39332         "who -r" failed to give output.  Problem reported by Tim Waugh.
39333
39334         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
39335         (xcalloc): Use it to avoid needless tests.
39336         Problem reported by Jim Meyering.
39337
39338 2005-06-20  Derek Price  <derek@ximbiot.com>
39339
39340         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
39341         unnecessary for Autoconfs > 2.59c.
39342
39343 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39344
39345         * lib/argp.h (__option_is_short): Check upper limit of
39346         __key. Isprint() requires its argument to have the value
39347         of an unsigned char or EOF.
39348
39349 2005-06-16  Jim Meyering  <jim@meyering.net>
39350
39351         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
39352         when either N or S is zero.
39353
39354 2005-06-16  Derek Price  <derek@ximbiot.com>
39355
39356         * m4/bison.m4: Declare YACC & YFLAGS precious.
39357
39358 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
39359
39360         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
39361         multibyte string or pattern, fall back on unibyte matching.
39362         Problem reported by James Youngman.
39363
39364 2005-06-08  Bruno Haible  <bruno@clisp.org>
39365
39366         * modules/csharpcomp: New file.
39367         * MODULES.html.sh (C#): Add csharpcomp.
39368
39369 2005-06-08  Bruno Haible  <bruno@clisp.org>
39370
39371         * m4/csharpcomp.m4: New file, from GNU gettext.
39372
39373 2005-06-08  Bruno Haible  <bruno@clisp.org>
39374
39375         * lib/csharpcomp.h: New file, from GNU gettext.
39376         * lib/csharpcomp.c: New file, from GNU gettext.
39377         * lib/csharpcomp.sh.in: New file, from GNU gettext.
39378
39379 2005-06-08  Bruno Haible  <bruno@clisp.org>
39380
39381         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
39382         warning on mingw.
39383
39384 2005-06-07  Derek Price  <derek@ximbiot.com>
39385
39386         Sync from CVS.
39387         * lib/glob_.h: Indent nested #ifdef.
39388
39389 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
39390
39391         Sync from coreutils.
39392         Use "file name" when talking about file names, instead of "filename"
39393         or "path", as per the GNU coding standards.
39394         * lib/mkdir-p.c: Renamed from makepath.c.
39395         (make_dir_parents): Renamed from make_path.  All callers changed.
39396         * lib/mkdir-p.h: Likewise.  All includers changed.
39397         * lib/filenamecat.c: Renamed from path-concat.c.
39398         (file_name_concat): Renamed from path_concat.  All callers changed.
39399         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
39400         * lib/filenamecat.h: Likewise.  All includers changed.
39401         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
39402         in comments or local variable names.
39403         * lib/basename.c: Likewise.
39404         * lib/canonicalize.c, canonicalize.h: Likewise.
39405         * lib/dirname.c, dirname.h: Likewise.
39406         * lib/euidaccess.c: Likewise.
39407         * lib/exclude.c: Likewise
39408         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
39409         * lib/fsusage.c, fsuage.h: Likewise.
39410         * lib/fts.c, fts_.h: Likewise.
39411         * lib/getcwd.c: Likewise.
39412         * lib/getloadavg.c: Likewise.
39413         * lib/mkstemp.c: Likewise.
39414         * lib/mountlist.c, mountlist.h: Likewise.
39415         * lib/openat.c, openat.h: Likewise.
39416         * lib/readlink-stub.c: Likewise.
39417         * lib/readutmp.c, readutmp.h: Likewise.
39418         * lib/rename.c: Likewise.
39419         * lib/rmdir.c: Likewise.
39420         * lib/same.c: Likewise.
39421         * lib/savedir.c: Likewise.
39422         * lib/stripslash.c: Likewise.
39423         * lib/tempname.c: Likewise.
39424         * lib/xreadlink.c: Likewise.
39425         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
39426         All uses changed.
39427         * lib/exclude.h: Likewise.
39428
39429         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
39430         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
39431         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
39432         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
39433         * lib/pathmax.h: Include <limits.h> unconditionally, since other
39434         files have been getting away with it for years (MORE/BSD 4.3
39435         is extinct now).
39436         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
39437         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
39438
39439         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
39440         Define to 256, not 255, as per modern POSIX.
39441
39442 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
39443
39444         Sync from coreutils.
39445         Use "file name" when talking about file names, instead of "filename"
39446         or "path", as per the GNU coding standards.
39447         * MODULES.html.sh: mkdir-p renamed from makepath.
39448         filenamecat renamed from path-concat.
39449         * modules/filenamecat: Renamed from modules/path-concat.
39450         (Files): filenamecat.h and filenamecat.c renamed from
39451         path-concat.h and path-concat.c.
39452         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
39453         (Include): filenamecat.h, not path-concat.h.
39454         * modules/mkdir-p: Renamed from modules/makepath.
39455         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
39456         makepath.c.
39457         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
39458         (Include): mkdir-p.h, not makepath.h.
39459
39460 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
39461
39462         Sync from coreutils.
39463         * m4/mkdir-p.m4: Renamed from makepath.m4.
39464         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
39465         Rename files from makepath.c to mkdir-p.c, and from
39466         makepath.h to mkdir-p.h.
39467         * m4/filenamecat.m4: Renamed from path-concat.m4.
39468         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
39469         Rename files from path-concat.c to filenamecat.c,
39470         and from path-concat.h to filenamecat.h.
39471         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
39472         "file name" in local variables or comments.
39473         * m4/rename.m4: Likewise.
39474
39475 2005-06-01  Bruno Haible  <bruno@clisp.org>
39476
39477         * modules/csharpexec: New file.
39478         * MODULES.html.sh (C#): New section.
39479
39480 2005-06-01  Bruno Haible  <bruno@clisp.org>
39481
39482         * m4/csharp.m4: New file, from GNU gettext.
39483         * m4/csharpexec.m4: New file, from GNU gettext.
39484
39485 2005-06-01  Bruno Haible  <bruno@clisp.org>
39486
39487         * lib/csharpexec.h: New file, from GNU gettext.
39488         * lib/csharpexec.c: New file, from GNU gettext.
39489         * lib/csharpexec.sh.in: New file, from GNU gettext.
39490
39491 2005-05-31  Derek Price  <derek@ximbiot.com>
39492             Paul Eggert  <eggert@cs.ucla.edu>
39493
39494         Sync from cvs.
39495         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
39496
39497 2005-05-31  Derek Price  <derek@ximbiot.com>
39498             Paul Eggert  <eggert@cs.ucla.edu>
39499
39500         Sync from cvs.
39501         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
39502
39503 2005-05-29  Derek Price  <derek@ximbiot.com>
39504
39505         * config/srclist.txt (glob_.h, glob.c): Add these files.
39506
39507 2005-05-29  Derek Price  <derek@ximbiot.com>
39508
39509         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
39510         * modules/glob: New file.
39511         * modules/getlogin_r: Add link to POSIX spec in description.
39512
39513 2005-05-29  Derek Price  <derek@ximbiot.com>
39514             Paul Eggert  <eggert@cs.ucla.edu>
39515
39516         * m4/glob.m4: New file.
39517
39518 2005-05-29  Derek Price  <derek@ximbiot.com>
39519             Paul Eggert  <eggert@cs.ucla.edu>
39520
39521         * lib/glob_.h, lib/glob.c: New files.
39522
39523 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39524
39525         * modules/fts (Files): Remove m4/inttypes-pri.m4.
39526         * modules/fts-lgpl (Depends-on): Remove gettext.
39527
39528 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39529
39530         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
39531         and don't require gt_INTTYPES_PRI.
39532
39533 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39534
39535         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
39536
39537         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
39538         the configuration hassle isn't worth it.
39539         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
39540         (LONGEST_MODIFIER, PRIuMAX): Remove.
39541
39542 2005-05-27  Bruno Haible  <bruno@clisp.org>
39543
39544         * lib/getlogin_r.h: Remove second include of <stddef.h>.
39545
39546 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39547
39548         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
39549         _POSIX_PTHREAD_SEMANTICS for Solaris.
39550
39551 2005-05-25  Derek Price  <derek@ximbiot.com>
39552
39553         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
39554
39555 2005-05-25  Derek Price  <derek@ximbiot.com>
39556             Paul Eggert  <eggert@cs.ucla.edu>
39557
39558         * modules/getlogin_r, m4/getlogin_r.m4: New files.
39559         * lib/getlogin_r.c, getlogin_r.h: New files.
39560
39561 2005-05-25  Bruno Haible  <bruno@clisp.org>
39562             Derek Price  <derek@ximbiot.com>
39563
39564         * lib/getlogin_r.h: Simplify API documentation.
39565
39566 2005-05-23  Derek Price  <derek@ximbiot.com>
39567
39568         * modules/minmax (Files): Add m4/minmax.m4.
39569         (configure.ac): Add gl_MINMAX.
39570
39571 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
39572
39573         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
39574         so that unistd-safer.h (GPL'ed code) need not be included.
39575
39576 2005-05-22  Bruno Haible  <bruno@clisp.org>
39577
39578         * m4/minmax.m4: New file.
39579         Based on a patch by Derek Price <derek@ximbiot.com>.
39580
39581 2005-05-22  Bruno Haible  <bruno@clisp.org>
39582
39583         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
39584         (INT64_MIN): Fix definition.
39585         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
39586
39587         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
39588         NEED_SIGNED_INT_TYPES.
39589
39590         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
39591         HAVE_SYSTEM_INTTYPES.
39592
39593 2005-05-22  Bruno Haible  <bruno@clisp.org>
39594
39595         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
39596         Also include <sys/param.h> if it defines MIN, MAX.
39597         Based on a patch by Derek Price <derek@ximbiot.com>.
39598
39599 2005-05-21  Jim Meyering  <jim@meyering.net>
39600
39601         * modules/fts (Files): Add m4/inttypes-pri.m4.
39602         (Depends-on): Add lstat and remove gettext.  Alphabetize.
39603
39604 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
39605
39606         New fts module.
39607         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
39608         (setup_dir, free_dir): New functions.
39609         (enter_dir, leave_dir): Define trivial
39610         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
39611         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
39612         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
39613         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
39614         Move to fts-cycle.c.
39615         (fts_open): Use setup_dir.
39616         (fts_close): Use free_dir.
39617         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
39618         This adds a label and some gotos, but the alternatives were messier.
39619         Check for memory allocation failure when entering a dir.
39620         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
39621         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
39622         (FTS): New member fts_cycle, that is a union that contains the
39623         old active_dir_ht and cycle_state.  All uses changed to mention
39624         fts_cycle.ht and fts_cycle.state.
39625         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
39626         fts.c, with the following changes:
39627         (setup_dir, free_dir): New functions.
39628         (enter_dir): Now returns bool.  Return true if successful, false
39629         if memory exhausted.  All callers changed.
39630         Do not bother partly cleaning up on
39631         memory allocation failure; that is free_dir's job.
39632         However, free ad if hash_insert fails, to avoid memory leak.
39633         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
39634         fts->fts_options to see which union member to use.
39635
39636 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
39637
39638         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
39639         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
39640
39641 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
39642
39643         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
39644
39645 2005-05-20  Jim Meyering  <jim@meyering.net>
39646
39647         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
39648         Now a macro, to pacify GCC.
39649
39650 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
39651
39652         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
39653         of -1.
39654
39655 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
39656
39657         * lib/chown.c (rpl_chown): Return -1 on failure.
39658
39659 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39660
39661         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
39662         Don't check for stddef.h.
39663         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
39664         don't use its results.
39665         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
39666         since we include them unconditionally.  Don't require
39667         AM_STDBOOL_H, since stdbool is a prerequisite.
39668         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
39669         since we assume C89 or better.
39670         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
39671         as we don't use their results.
39672         Don't check for fchdir, memmove, memset, strrchr, as we use
39673         them unconditionally.
39674         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
39675         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
39676
39677 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39678
39679         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
39680         Include <stddef.h> unconditionally, since we assume C89 now.
39681         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
39682         * lib/fts.c: Include fts_.h first, to check interface.
39683         Do not include intprops.h; no longer needed.
39684         Include cycle-check.h and hash.h, since fts_.h no longer does.
39685         Remove unnecessary casts of closedir to void.
39686         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
39687         decide whether to decrement nlinks.
39688         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
39689         (FTS): Use struct hash_table * instead of Hash_table, so that
39690         we no longer need to include hash.h here.
39691
39692 2005-05-18  Jim Meyering  <jim@meyering.net>
39693
39694         * modules/dirfd (License): Change to LGPL.  Most of the code
39695         is already in the public domain.
39696
39697 2005-05-18  Jim Meyering  <jim@meyering.net>
39698
39699         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
39700         Reported by Yoann Vandoorselaere.
39701
39702 2005-05-17  Jim Meyering  <jim@meyering.net>
39703
39704         * m4/fts.m4: New file, from coreutils.
39705
39706 2005-05-17  Jim Meyering  <jim@meyering.net>
39707
39708         * lib/fts.c, lib/fts_.h: New files, from coreutils.
39709
39710 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39711
39712         Sync from coreutils.
39713         * m4/unlinkdir.m4: New file.
39714
39715 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39716
39717         Sync from coreutils.
39718         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
39719         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
39720         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
39721         White space changes only.
39722         * lib/makepath.c (make_path): Port to hosts where leading "//" is
39723         special.
39724         * lib/yesno.c: Include getline.h, not ctype.h.
39725         (yesno): Don't remove leading white space; POSIX doesn't allow it.
39726         Use getline to remove arbitrary restriction on response length.
39727
39728 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39729
39730         * config/srclist-update: Spell out "Street" in FSF postal
39731         mail address; this is the style the FSF seems to prefer.
39732
39733         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
39734         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
39735         this updates FSF postal mail address.
39736
39737         Sync from coreutils.
39738         * modules/unlinkdir: New file.
39739         * modules/yesno (Depends-on): Add getline.
39740         * MODULES.html.sh (File system functions): Add unlinkdir.
39741
39742 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
39743
39744         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
39745         lib/strsep.h:
39746         Change the initial comment to refer to GPL, not LGPL.
39747         gnulib-tool will change it to LGPL as needed.
39748
39749         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
39750         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
39751         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
39752         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
39753         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
39754         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
39755         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
39756         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
39757         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
39758         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
39759         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
39760         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
39761         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
39762         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
39763         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
39764         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
39765         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
39766         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
39767         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
39768         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
39769         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
39770         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
39771         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
39772         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
39773         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
39774         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
39775         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
39776         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
39777         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
39778         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
39779         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
39780         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
39781         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
39782         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
39783         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
39784         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
39785         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
39786         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
39787         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
39788         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
39789         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
39790         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
39791         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
39792         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
39793         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
39794         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
39795         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
39796         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
39797         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
39798         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
39799         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
39800         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
39801         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
39802         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
39803         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
39804         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
39805         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
39806         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
39807         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
39808         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
39809         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
39810         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
39811         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
39812         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
39813         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
39814         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
39815         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
39816         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
39817         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
39818         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
39819         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
39820         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
39821         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
39822         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
39823         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
39824         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
39825         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
39826         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
39827         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
39828         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
39829         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
39830         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
39831         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
39832         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
39833         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
39834         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
39835         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
39836         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
39837         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
39838         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
39839         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
39840         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
39841         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
39842         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
39843         lib/yesno.c, lib/yesno.h:
39844         Update FSF postal mail address.
39845
39846 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
39847
39848         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
39849         tests/test-memmem.c, tests/test-stpncpy.c:
39850         Update FSF postal mail address.
39851
39852 2005-05-13  Bruno Haible  <bruno@clisp.org>
39853
39854         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
39855         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
39856         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
39857         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
39858         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
39859         Add support for 64-bit integers in the MSVC compiler.
39860
39861 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
39862
39863         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
39864
39865 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
39866
39867         * gnulib-tool (func_import): Sort and uniquify recommended includes.
39868
39869 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
39870
39871         * doc/getdate.texi (General date syntax): Don't say that date
39872         date --iso-8601=ns generates acceptable dates; it doesn't yet.
39873         Problem reported by Nic Ferrier.
39874
39875 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39876
39877         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
39878         specified in ai_socktype. Fix invalid ai_protocol
39879         check. ai_protocol is usually set to 0 or depending on
39880         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
39881         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
39882         ai_socktype / ai_protocol in the returned addrinfo structure.
39883
39884 2005-05-10  Simon Josefsson  <jas@extundo.com>
39885
39886         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
39887         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39888
39889 2005-05-10  Karl Berry  <karl@gnu.org>
39890
39891         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
39892         (from http://www.gnu.org/licenses).
39893         * doc/COPYING.LIB: also rename to COPYING.LESSER.
39894         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
39895         fdl.texi suffices.
39896
39897 2005-05-10  Karl Berry  <karl@gnu.org>
39898
39899         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
39900         (COPYING.DOC): remove.
39901
39902         * config/srclist-update: new FSF address.
39903
39904 2005-05-10  Derek Price  <derek@ximbiot.com>
39905
39906         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
39907         possible.
39908
39909 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39910             Bruno Haible  <bruno@clisp.org>
39911
39912         * modules/inet_ntop: New file.
39913         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39914         inet_ntop.
39915
39916 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39917             Bruno Haible  <bruno@clisp.org>
39918
39919         * m4/inet_ntop.m4: New file.
39920
39921 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39922             Bruno Haible  <bruno@clisp.org>
39923
39924         * lib/inet_ntop.h: New file.
39925         * lib/inet_ntop.c: New file, from glibc with modifications.
39926
39927 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
39928
39929         * modules/time_r (License): Change to LGPL.
39930         * modules/extensions (License): Change to LGPL.  Actually,
39931         the license is more permissive than that, but currently gnulib-tool
39932         doesn't know how to handle more-permissive licenses.
39933
39934         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
39935         Problem reported by Dave Love.
39936
39937 2005-05-08  Jim Meyering  <jim@meyering.net>
39938
39939         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
39940         blank.
39941
39942 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
39943
39944         * modules/argmatch (Depends-on): Add stdbool.
39945         * modules/backupfile (Depends-on): Likewise.
39946         * modules/chdir-long (Depends-on): Likewise.
39947         * modules/closeout (Depends-on): Likewise.
39948         * modules/cycle-check (Depends-on): Likewise.
39949         * modules/dirname (Depends-on): Likewise.
39950         * modules/fnmatch (Depends-on): Likewise.
39951         * modules/fsusage (Depends-on): Likewise.
39952         * modules/fwriteerror (Depends-on): Likewise.
39953         * modules/getcwd (Depends-on): Likewise.
39954         * modules/getloadavg (Depends-on): Likewise.
39955         * modules/hard-locale (Depends-on): Likewise.
39956         * modules/makepath (Depends-on): Likewise.
39957         * modules/mountlist (Depends-on): Likewise.
39958         * modules/nanosleep (Depends-on): Likewise.
39959         * modules/posixtm (Depends-on): Likewise.
39960         * modules/quotearg (Depends-on): Likewise.
39961         * modules/readtokens (Depends-on): Likewise.
39962         * modules/readtokens0 (Depends-on): Likewise.
39963         * modules/readutmp (Depends-on): Likewise.
39964         * modules/save-cwd (Depends-on): Likewise.
39965         * modules/strftime (Depends-on): Likewise.
39966         * modules/userspec (Depends-on): Likewise.
39967         * modules/utimecmp (Depends-on): Likewise.
39968         * modules/xgetcwd (Depends-on): Likewise.
39969         * modules/xnanosleep (Depends-on): Likewise.
39970         * modules/xstrtod (Depends-on): Likewise.
39971         * modules/yesno (Depends-on): Likewise.
39972
39973 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
39974
39975         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
39976         needless checks.
39977
39978 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
39979
39980         Merge from coreutils.  Among other things,
39981         add bulletproofing for cases where stdin, stdout, or stderr are closed.
39982         * lib/fd-safer.c: New file.
39983         * lib/fcntl-safer.h, open-safer.c: Remove.
39984         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
39985         * lib/dup-safer.c: Include unistd-safer.h first.
39986         Don't include errno.h.
39987         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
39988         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
39989         * lib/file-type.c: Rely on file-type.h change.
39990         * lib/getloadavg.c: Include unistd-safer.h.
39991         (getloadavg): Use safer open.
39992         * lib/getusershell.c: Include "stdio-safer.h".
39993         (getusershell): Use safer fopen.
39994         * lib/long-options.c (long_options): Use NULL rather than 0.
39995         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
39996         'free'.
39997         * lib/modechange.c: Likewise.
39998         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
39999         (MODE_DONE): New constant.
40000         (struct mode_change): Remove 'next' member.
40001         (make_node_op_equals): New function; like the old one of the
40002         same name, except it allocates an array.
40003         (mode_compile, mode_create_from_ref): Use it.
40004         (mode_compile): Allocate result as an array, not a linked list.
40005         Parse octal string ourself, so that we catch mistakes like "+0".
40006         (mode_adjust): Arg is an array, not a linked list.
40007         * lib/modechange.c: Include stat-macros.h, xalloc.h.
40008         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
40009         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
40010         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
40011         Remove.  This is now stat-macros.h's job.
40012         (talloc): Remove.  All callers replaced by xalloc, so that
40013         our invokers don't have to worry about reporting memory failures.
40014         (make_node_op_equals): Remove.
40015         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
40016         New constants.
40017         (struct mode_change): Moved here from modechange.h.
40018         (mode_append_entry): Remove.
40019         (mode_compile): Remove MASKED_OPS arg, since it encouraged
40020         apps to have incorrect behavior.  Use simpler algorithm for head
40021         and tail.  Don't futz with umask; that's now the job of mode_adjust.
40022         Detect more invalid usages rather than having somewhat-random behavior.
40023         Don't insert an "a=" action, as that leads to incorrect behavior.
40024         (mode_compile, mode_create_from_ref): Return NULL on error instead
40025         of an enum, since now there's only one way to have an error.  All
40026         callers changed.
40027         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
40028         at the correct time.  Simplify calculation of "+u" and its ilk.
40029         Don't mishandle "+X".
40030         (mode_free): Remove "register" and localize decls.
40031         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
40032         (struct mode_change): Move to modechange.c; callers don't
40033         need to see this stuff.
40034         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
40035         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
40036         (mode_change, mode_adjust): Reflect the new signatures noted above.
40037         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
40038         that might redefine system include files.
40039         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
40040         (my_usleep): Use NULL rather than (void *) 0.
40041         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
40042         Use siginterrupt to specify that system calls should be interrupted.
40043         (rpl_nanosleep): Move initialization of suspended closer to call of
40044         my_usleep.
40045         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
40046         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
40047         (desirable_utmp_entry): New function.
40048         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
40049         using x2nrealloc, to simplify logic.
40050         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
40051         size calculation.  Do not assume utmp file is a regular file.
40052         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
40053         (READ_UTMP_CHECK_PIDS): New constant.
40054         * lib/save-cwd.c: Include unistd-safer.h.
40055         (save_cwd): Use fd_safer.
40056         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
40057         [!_LIBC] Include "stat-macros.h" instead.
40058         * lib/unistd-safer.h (fd_safer): New decl.
40059
40060 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40061
40062         * modules/getloadavg (Depends-on): Add unistd-safer.
40063         * modules/getusershell (Depends-on): Add stdio-safer.
40064         * modules/lstat (Depends-on): Remove xalloc.
40065         * modules/mkstemp (Depends-on): Add stat-macros.
40066         * modules/modechange (Depends-on): Remove xstrtol.
40067         Add stat-macros, xalloc.
40068         * modules/save-cwd (Depends-on): Add unistd-safer.
40069         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
40070         * modules/unistd-safer (Files): Add lib/fd-safer.c
40071         (Makefile.am): Remove lib_SOURCES.
40072
40073         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
40074         Remove fcntl-safer; unistd-safer supersedes it.
40075
40076 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40077
40078         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
40079         AC_HEADER_STAT.
40080         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
40081         (gl_PREREQ_CHOWN): Remove.
40082         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
40083         it.  Don't require AC_HEADER_STAT.
40084         (gl_PREREQ_LSTAT): Remove.
40085         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
40086         Don't require AC_HEADER_STAT.
40087         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
40088         (gl_PREREQ_RMDIR): Remove.
40089         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
40090         mention stat-macros.h or AC_HEADER_STAT, since we'll make
40091         the stat-macros module a prerequisite.
40092         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
40093         * m4/filemode.m4 (gl_FILEMODE): Likewise.
40094         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
40095         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
40096         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
40097         variable names.
40098         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
40099         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
40100         variable prefixes.
40101         * m4/fcntl-safer.m4: Remove.
40102         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
40103         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
40104         Invoke gl_PREREQ_FD_SAFER.
40105         (gl_PREREQ_FD_SAFER): New macro.
40106         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
40107         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
40108         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
40109         Remove duplicate call to AC_LIBOBJ(readutmp).
40110         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
40111
40112         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
40113         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
40114
40115 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
40116
40117         * MODULES.html.sh (Misc): Add byteswap.
40118
40119 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
40120
40121         * modules/getcwd (Depends-on): Add extensions.
40122         * modules/openat (Depends-on): Likewise.
40123
40124 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
40125
40126         * modules/byteswap: New file.
40127
40128 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
40129
40130         * m4/byteswap.m4: New file.
40131
40132 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
40133
40134         * lib/byteswap_.h: New file.
40135
40136 2005-04-25  Karl Berry  <karl@gnu.org>
40137
40138         * m4/gettext.m4: Update from GNU gettext 0.14.4.
40139
40140 2005-04-25  Albert Chin  <china@thewrittenword.com>
40141
40142         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
40143         Toolkit C bug.
40144
40145 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
40146
40147         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
40148         (func_ln_if_changed) Remove forcibly for no error message
40149         in case file does not exist.
40150
40151 2005-04-19  Simon Josefsson  <jas@extundo.com>
40152
40153         * gnulib-tool (Options): Make --symlink mean --symbolic.
40154
40155 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
40156
40157         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
40158
40159 2005-04-16  Simon Josefsson  <jas@extundo.com>
40160
40161         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
40162
40163 2005-04-15  Simon Josefsson  <jas@extundo.com>
40164
40165         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
40166
40167 2005-04-15  Simon Josefsson  <jas@extundo.com>
40168
40169         * gnulib-tool: Rename --symlink to --symbolic.
40170
40171 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
40172
40173         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
40174         symbolic links to files instead of copying/moving.  Add --aux-dir,
40175         specifying directory relative --dir where auxiliary build tools
40176         are placed.
40177
40178 2005-04-14  Bruno Haible  <bruno@clisp.org>
40179
40180         * modules/allocsa (License): Change to LGPL.
40181         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40182
40183 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
40184
40185         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
40186         that "UTC +1 second" continues to work.  Problem reported
40187         by Dmitry V. Levin.
40188         (relunit_snumber): New rule.
40189         (relunit): Use it.
40190
40191 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
40192
40193         * lib/getdate.y (universal_time_zone_table): New constant.
40194         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
40195         universal_time_zone_table.
40196         (lookup_zone): Prefer universal_time_zone_table to
40197         local_time_zone_table, so that "GMT" time stamps are allowed in
40198         London during the summer.  Problem reported by Ian Abbott.
40199
40200 2005-04-12  Jim Meyering  <jim@meyering.net>
40201
40202         * lib/human.c (humblock): Set *options even when returning due to
40203         xstrtoumax conversion failure.  Thanks to a used-uninitialized
40204         warning from gcc-4.
40205
40206 2005-04-09  Jim Meyering  <jim@meyering.net>
40207
40208         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
40209         -Wuninitialized: initialize tm0.tm_year.
40210
40211 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
40212
40213         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
40214         count, since there's no maximum.  All uses changed.
40215         Add member dsts_seen.
40216         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
40217         not being INT_MAX.
40218         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
40219         Use pc_rels_seen to decide whther a date is absolute.
40220
40221         * lib/getdate.y (number): Don't overwrite year.
40222         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
40223         check.
40224
40225 2005-04-02  Simon Josefsson  <jas@extundo.com>
40226
40227         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
40228         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
40229
40230 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
40231
40232         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
40233         where no absolute path name can be longer than PATH_MAX.
40234
40235 2005-03-27  Jim Meyering  <jim@meyering.net>
40236
40237         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
40238
40239 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
40240
40241         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
40242         "one's complement" -> "ones' complement" in comment, as per Knuth.
40243         "value of type" -> "type or expression" in comment.
40244         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
40245
40246 2005-03-26  Jim Meyering  <jim@meyering.net>
40247
40248         Comment nits.
40249         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
40250         Correct typos: s/or/of/.
40251
40252 2005-03-26  Jim Meyering  <jim@meyering.net>
40253
40254         * modules/check-include-files: Move to ../ and rename to...
40255         * check-module: ...this.
40256
40257 2005-03-25  Jim Meyering  <jim@meyering.net>
40258
40259         * modules/xvasprintf (Files): Add xalloc.h.
40260
40261 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
40262
40263         * modules/gettext (Files): config/config.rpath ->
40264         build-aux/config.rpath
40265         * modules/iconv (Files): Likewise.
40266         Problem reported by Oskar Liljeblad.
40267
40268 2005-03-23  Jim Meyering  <jim@meyering.net>
40269
40270         * modules/check-include-files: New script to check for
40271         missing dependencies, multiple includes, etc.
40272
40273         * modules/c-strtold (Depends-on): Add xalloc.
40274         * modules/c-strtod (Depends-on): Add xalloc.
40275         * modules/hash (Depends-on): Add xalloc.
40276         (Files): Remove lib/xalloc.h.
40277
40278         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
40279         * modules/userspec (Files): Add lib/inttostr.h.
40280
40281 2005-03-23  Jim Meyering  <jim@meyering.net>
40282
40283         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
40284
40285 2005-03-22  Jim Meyering  <jim@meyering.net>
40286
40287         * modules/stat-macros: New module.
40288         * modules/canonicalize, modules/euidaccess, modules/file-type,
40289         * modules/filemode, modules/lchown, modules/makepath,
40290         * modules/rmdir, modules/stat: Depend on new stat-macros module
40291         rather than listing lib/stat-macros.h manually.
40292         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
40293
40294 2005-03-22  Jim Meyering  <jim@meyering.net>
40295
40296         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
40297
40298 2005-03-22  Bruno Haible  <bruno@clisp.org>
40299
40300         * config/srclist.txt: Replace target directory 'config' with
40301         'build-aux'.
40302         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
40303         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
40304         ../build-aux/.
40305
40306 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
40307
40308         * modules/chdir-long (Depends-on): Add mempcpy.
40309
40310         * modules/acl, modules/backupfile, modules/c-strtod,
40311         modules/c-strtold, modules/canon-host, modules/canonicalize,
40312         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
40313         modules/exclude, modules/exitfail, modules/file-type,
40314         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
40315         modules/getdate, modules/getline, modules/getpagesize,
40316         modules/getpass, modules/getugroups, modules/group-member,
40317         modules/hard-locale, modules/hash, modules/human, modules/idcache,
40318         modules/inttostr, modules/long-options, modules/makepath,
40319         modules/md5, modules/memcasecmp, modules/memcoll,
40320         modules/modechange, modules/mountlist, modules/path-concat,
40321         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
40322         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
40323         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
40324         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
40325         modules/strftime, modules/strndup, modules/strverscmp,
40326         modules/timespec, modules/unlocked-io, modules/userspec,
40327         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
40328         modules/yesno:
40329         Remove lib_SOURCES line from Makefile.am section, as this is now
40330         done automatically by the corresponding Autoconf macro.
40331
40332 2005-03-21  Jim Meyering  <jim@meyering.net>
40333
40334         Changes imported from coreutils.
40335
40336         * lib/cycle-check.c: Don't include xalloc.h.
40337
40338         * lib/path-concat.c: Don't include assert.h.
40339         (path_concat): Remove assertion that would have triggered
40340         for ABASE starting with more than one slash.
40341         Reported by Andreas Schwab.
40342
40343         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
40344         properly when ABASE is an absolute file name.
40345         Correct the description of this function.
40346         Include <assert.h>.
40347         Add an assertion and a test driver.
40348         This fixes a bug introduced on 2004-07-02.
40349         Andreas Schwab reported the resulting failure of cp --parents:
40350         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
40351
40352 2005-03-21  Jim Meyering  <jim@meyering.net>
40353
40354         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
40355         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
40356
40357 2005-03-21  Jim Meyering  <jim@meyering.net>
40358         and  Paul Eggert  <eggert@cs.ucla.edu>
40359
40360         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
40361         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
40362         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
40363         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
40364         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
40365         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
40366         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
40367         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
40368         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
40369         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
40370         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
40371         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
40372         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
40373         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
40374         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
40375         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
40376         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
40377         for these modules.
40378
40379 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
40380
40381         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
40382         (which shouldn't happen), generate nothing instead of returning 0
40383         immediately, so that nstrftime (NULL, ...) doesn't return 0.
40384
40385 2005-03-16  Bruno Haible  <bruno@clisp.org>
40386
40387         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
40388         HAVE_LONGLONG_64BIT.
40389
40390 2005-03-16  Bruno Haible  <bruno@clisp.org>
40391
40392         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
40393         HAVE_LONGLONG_64BIT.
40394
40395 2005-03-16  Bruno Haible  <bruno@clisp.org>
40396
40397         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
40398         HAVE_LONGLONG_64BIT.
40399
40400 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
40401
40402         * lib/strftime.c (my_strftime): Prepend space to format so that we can
40403         reliably distinguish strftime failure from empty output on POSIX
40404         hosts.
40405
40406 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
40407
40408         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
40409         (iconv_string): Don't guess a size-zero buffer, as that might cause
40410         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
40411         result would be 'too large', where 'too large' is (heuristically)
40412         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
40413         overflow concerns.  This will prevent some unwanted malloc failures
40414         when the inputs are very large.
40415
40416 2005-03-15  Karl Berry  <karl@gnu.org>
40417
40418         * config/srclist.txt (config.rpath): from gettext.
40419         * config/config.rpath: update.
40420
40421 2005-03-15  Bruno Haible  <bruno@clisp.org>
40422
40423         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
40424         to 'negate'.
40425
40426         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
40427         variable.
40428
40429         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
40430         results.
40431
40432 2005-03-14  Simon Josefsson  <jas@extundo.com>
40433
40434         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
40435         <fx@gnu.org>.
40436
40437 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
40438
40439         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
40440         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
40441         intprops.h.
40442         * lib/strtol.c: Likewise.
40443
40444 2005-03-14  Jim Meyering  <jim@meyering.net>
40445
40446         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
40447         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
40448         to be nonzero so that we (and caller) can detect the difference
40449         between a valid zero-length expansion and an error return, even
40450         when the underlying strftime fails before writing anything into
40451         that location.
40452
40453 2005-03-14  Bruno Haible  <bruno@clisp.org>
40454
40455         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
40456         Update from GNU gettext 0.14.3.
40457
40458 2005-03-10  Jim Meyering  <jim@meyering.net>
40459
40460         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
40461
40462 2005-03-10  Jim Meyering  <jim@meyering.net>
40463
40464         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
40465         so that this module works on systems without fchdir.
40466
40467 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
40468
40469         Factor int-properties macros into a single file, except for
40470         glibc-related files.
40471         * lib/intprops.h: New file.
40472         * lib/getloadavg.c: Include it instead of limits.h.
40473         (INT_STRLEN_BOUND): Remove.
40474         * lib/human.c: Include intprops.h.
40475         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
40476         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
40477         302/1000.
40478         * lib/inttostr.h: Include intprops.h instead of limits.h.
40479         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
40480         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
40481         for consistency with intprops.h.
40482         (time_t_is_integer, twos_complement_arithmetic): Use them.
40483         * lib/sig2str.h: Include <signal.h>, intprops.h.
40484         (INT_STRLEN_BOUND): Remove.
40485         * lib/strftime.c (TYPE_SIGNED): Remove.
40486         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
40487         * lib/strtol.c: Adjust comments to match intprops.h.
40488         * lib/userspec.c: Include intprops.h.
40489         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
40490         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
40491         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
40492         instead of rolling our own expressions.
40493         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
40494
40495         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
40496         instead of int.
40497         (my_strftime): Do not mishandle years close to INT_MAX, by doing
40498         the right thing even if adding 1900 would overflow.  Similarly
40499         for tm_mon + 1 and tm_yday + 1.
40500         Make %Y always equivalent to %C%y, and similarly for %G and %g.
40501         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
40502         (DO_SIGNED_NUMBER): New macro.
40503         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
40504
40505 2005-03-07  Bruno Haible  <bruno@clisp.org>
40506
40507         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
40508
40509 2005-03-07  Bruno Haible  <bruno@clisp.org>
40510
40511         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
40512
40513 2005-03-04  Derek R. Price  <derek@ximbiot.com>
40514
40515         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
40516         (func_import): Only replace files via --import when they have actually
40517         changed.
40518
40519 2005-03-03  Derek R. Price  <derek@ximbiot.com>
40520
40521         * m4/mmap-anon.m4: New file.
40522         * m4/pagealign_alloc.m4: New file.
40523
40524 2005-03-03  Derek R. Price  <derek@ximbiot.com>
40525             Bruno Haible  <bruno@clisp.org>
40526
40527         * modules/pagealign_alloc: New file.
40528         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
40529
40530 2005-03-03  Derek R. Price  <derek@ximbiot.com>
40531             Bruno Haible  <bruno@clisp.org>
40532
40533         * lib/pagealign_alloc.h: New file.
40534         * lib/pagealign_alloc.c: New file.
40535
40536 2005-03-03  Bruno Haible  <bruno@clisp.org>
40537
40538         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
40539         Use an all-permissive copyright notice, recommended by RMS.
40540
40541 2005-03-02  Bruno Haible  <bruno@clisp.org>
40542
40543         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
40544         of AIX, the replacement has to be done only after <string.h> is
40545         included, therefore not in config.h. stpncpy.h does the replacement,
40546         and stpncpy.c uses it.
40547
40548 2005-03-02  Bruno Haible  <bruno@clisp.org>
40549
40550         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
40551         stpncpy.c uses it.
40552
40553 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40554
40555         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
40556         The workaround isn't strictly needed for POSIX conformance, and
40557         it's too much of a pain to configure and maintain.  We'll ask
40558         people to fix their kernels instead.
40559         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
40560         (NANOSLEEP_BUG_WORKAROUND): Remove.
40561         (xnanosleep): Remove the workaround.
40562
40563 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40564
40565         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
40566         Reported by Derek Price.
40567         (Include): Add "timespec.h".
40568
40569         * modules/xnanosleep (Depends-on): Remove gethrxtime.
40570
40571 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40572
40573         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
40574         to detect nanosleep bug.
40575
40576 2005-03-01  Bruno Haible  <bruno@clisp.org>
40577
40578         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
40579
40580 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
40581
40582         * modules/gethrxtime: New file.
40583         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
40584         (Depends-on): Add gethrxtime.
40585         (configure.ac): Add gl_XNANOSLEEP.
40586         (Makefile.am): Remove lib_SOURCES line.
40587
40588 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
40589
40590         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
40591         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
40592
40593 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
40594
40595         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
40596         * lib/timespec.h (gettime): Return void, since it always
40597         succeeds now.  All uses changed.
40598         * lib/gettime.c (gettime) Likewise.
40599         [HAVE_NANOTIME]: Prefer nanotime.
40600         Assume gettimeofday succeeds, as POSIX requires.
40601         Assime time () succeeds, since other code already does.
40602         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
40603         (timespec_subtract): Remove.
40604         (NANOSLEEP_BUG_WORKAROUND): New constant.
40605         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
40606         things considerably.  Use it only on GNU/Linux hosts, since the
40607         workaround shouldn't be needed elsewhere.
40608
40609 2005-02-24  Bruno Haible  <bruno@clisp.org>
40610
40611         * modules/gettext (Files): Add m4/glibc2.m4.
40612
40613 2005-02-24  Bruno Haible  <bruno@clisp.org>
40614
40615         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
40616         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
40617         * m4/progtest.m4:
40618         Update from GNU gettext 0.14.2.
40619         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
40620
40621 2005-02-24  Bruno Haible  <bruno@clisp.org>
40622
40623         * lib/localcharset.c: Update from GNU gettext 0.14.2.
40624         * lib/config.charset: Update from GNU gettext 0.14.2.
40625
40626 2005-02-24  Bruno Haible  <bruno@clisp.org>
40627
40628         * lib/gettext.h: Update from GNU gettext 0.14.2.
40629
40630 2005-02-23  Simon Josefsson  <jas@extundo.com>
40631
40632         * m4/iconvme.m4: New file.
40633
40634 2005-02-23  Jim Meyering  <jim@meyering.net>
40635
40636         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
40637         change.
40638         Thanks to Bruno Haible for catching it.
40639
40640 2005-02-22  Simon Josefsson  <jas@extundo.com>
40641
40642         * modules/iconvme: New file.
40643
40644         * MODULES.html.sh: Add iconvme.
40645
40646 2005-02-22  Simon Josefsson  <jas@extundo.com>
40647
40648         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
40649
40650 2005-02-22  Simon Josefsson  <jas@extundo.com>
40651
40652         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
40653
40654 2005-02-22  Jim Meyering  <jim@meyering.net>
40655
40656         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
40657         s/ifndef/ifdef/.
40658
40659 2005-02-20  Neil Conway  <neilc@samurai.com>
40660
40661         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
40662         returned by OSX/Darwin if the specified buffer is not large
40663         enough for the hostname.
40664
40665 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
40666
40667         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
40668         pass it to _help, otherwise the latter coredumps trying to
40669         dereference state.root_argp.
40670
40671 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
40672
40673         * modules/chdir-long (Depends-on): Add memrchr.
40674         * modules/memrchr (Files): Add lib/memrchr.h.
40675         (Include): "memrchr.h".
40676
40677 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
40678
40679         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
40680
40681 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
40682
40683         * lib/memrchr.h: New file.
40684         * lib/chdir-long.c: Include it.
40685         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
40686         Don't bother including stddef.h.
40687
40688 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
40689
40690         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
40691         inclusion.
40692         Include <sys/types.h>, for dev_t.
40693         (ME_DUMMY, ME_REMOTE): Move from here....
40694         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
40695         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
40696         Dmitry V. Levin.
40697         Include mountlist.h first, to test the interface.
40698
40699 2005-01-29  Bruno Haible  <bruno@clisp.org>
40700
40701         * lib/progname.c (program_name): Initialize.
40702         Needed when linking statically on MacOS X.
40703
40704 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
40705
40706         Sync from coreutils.
40707         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
40708         (Depends-on): Add c-strtod.
40709         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
40710
40711 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
40712
40713         Sync from coreutils.
40714         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
40715
40716         Remove files that are specific to coreutils.
40717         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
40718
40719 2005-01-28  Bruno Haible  <bruno@clisp.org>
40720
40721         * modules/javacomp: New file.
40722         * MODULES.html.sh (Java): Add javacomp.
40723
40724 2005-01-28  Bruno Haible  <bruno@clisp.org>
40725
40726         * m4/javacomp.m4: New file, from GNU gettext.
40727
40728 2005-01-28  Bruno Haible  <bruno@clisp.org>
40729
40730         * lib/javacomp.sh.in: New file, from GNU gettext.
40731         * lib/javacomp.h: New file, from GNU gettext.
40732         * lib/javacomp.c: New file, from GNU gettext.
40733
40734 2005-01-26  Simon Josefsson  <jas@extundo.com>
40735
40736         * lib/gai_strerror.c: Use GPL in header.
40737
40738 2005-01-26  Bruno Haible  <bruno@clisp.org>
40739
40740         * modules/javaexec: New file.
40741         * MODULES.html.sh (Java): Add javaexec.
40742
40743 2005-01-26  Bruno Haible  <bruno@clisp.org>
40744
40745         * m4/javaexec.m4: New file, from GNU gettext.
40746
40747 2005-01-26  Bruno Haible  <bruno@clisp.org>
40748
40749         * lib/javaexec.sh.in: New file, from GNU gettext.
40750         * lib/javaexec.h: New file, from GNU gettext.
40751         * lib/javaexec.c: New file, from GNU gettext.
40752
40753 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
40754
40755         * modules/lchown (Depends-on): Remove lchown.h
40756
40757 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
40758
40759         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
40760         must be defined if the header file was not found, in order
40761         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
40762
40763 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
40764
40765         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
40766         initializers for struct pentry_state.
40767         (__argp_error): Check return value of __asprintf
40768         (__argp_failure): Translate error message
40769
40770         * lib/argp-parse.c: Removed braces around the expansion of N_()
40771
40772 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40773
40774         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
40775         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
40776         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
40777         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
40778         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
40779         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
40780         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
40781         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
40782         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
40783         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
40784         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
40785         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
40786         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
40787         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
40788         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
40789         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
40790         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
40791         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
40792         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
40793         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
40794         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
40795         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
40796         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
40797         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
40798         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
40799         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
40800         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
40801         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
40802         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
40803         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
40804         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
40805         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
40806         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
40807         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
40808         xstrtol.m4, xstrtoumax.m4, yesno.m4:
40809         Use an all-permissive copyright notice, recommended by RMS.
40810
40811 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
40812
40813         * modules/chdir-long (Depends-on): Remove mempcpy.
40814
40815 2005-01-21  Jim Meyering  <jim@meyering.net>
40816
40817         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
40818         same value as for Solaris 9.
40819
40820         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
40821         component length.  This included changing the parameter to be
40822         of type `char *' rather than `char const *'.
40823         * lib/chdir-long.h (chdir_long): Update prototype.
40824
40825         * lib/openat.c (fdopendir, fstatat): New functions.
40826         * lib/openat.h: Include headers required for use of DIR and struct
40827         stat.
40828         [AT_SYMLINK_NOFOLLOW]: Define.
40829         (fdopendir, fstatat): Add prototypes.
40830
40831 2005-01-21  Bruno Haible  <bruno@clisp.org>
40832
40833         * modules/classpath: New file.
40834         * MODULES.html.sh (Java): Add classpath.
40835
40836 2005-01-21  Bruno Haible  <bruno@clisp.org>
40837
40838         * lib/classpath.h: New file, from GNU gettext.
40839         * lib/classpath.c: New file, from GNU gettext.
40840
40841 2005-01-20  Simon Josefsson  <jas@extundo.com>
40842
40843         * modules/version-etc-fsf: New file.
40844
40845 2005-01-20  Simon Josefsson  <jas@extundo.com>
40846
40847         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
40848         * lib/version-etc.c: Remove version_etc_copyright.
40849         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
40850         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
40851
40852 2005-01-20  Simon Josefsson  <jas@extundo.com>
40853
40854         * lib/base64.h (isbase64): Add.
40855
40856         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
40857         using a unsigned prototype, don't inline.
40858         (base64_decode): Use it.
40859
40860 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
40861
40862         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
40863         it.
40864
40865 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
40866
40867         * lib/save-cwd.c (save_cwd): Remove code to support the case
40868         where fchdir is missing or flaky.
40869
40870 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
40871
40872         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
40873
40874 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
40875
40876         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
40877         AC_LIBSOURCES now does this.
40878         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
40879         with new ullong_max module.
40880
40881 2005-01-19  Bruno Haible  <bruno@clisp.org>
40882
40883         * modules/sh-quote: New file.
40884         * MODULES.html.sh (Executing programs): Add sh-quote.
40885
40886 2005-01-19  Bruno Haible  <bruno@clisp.org>
40887
40888         * lib/sh-quote.h: New file, from GNU gettext.
40889         * lib/sh-quote.c: New file, from GNU gettext.
40890
40891 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
40892
40893         Merge from coreutils.
40894         * m4/ullong_max.m4: New file.
40895         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
40896         (gl_MACROS): Assume localeconv exists.
40897
40898 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
40899
40900         Merge changes from coreutils, as described below in several
40901         changelogs dated today.
40902
40903         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
40904         (O_DIRECTORY): Remove; not needed here, since "." must be
40905         a directory.  All uses removed.
40906         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
40907         universal on Suns, and we also need to test for IRIX.
40908         Revamp code to use 'if' rather than '#if'.
40909         Avoid unnecessary comparison of cwd->desc to 0.
40910
40911         * lib/utimens.c (futimens): Robustify the previous patch, by checking
40912         for known valid error numbers rather than observed invalid ones.
40913
40914 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
40915
40916         * modules/ullong_max: New file.
40917
40918         * modules/chdir-long, modules/openat: New files.
40919         * modules/save-cwd (Depends-on): Depend on chdir-long.
40920         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
40921
40922 2005-01-18  Jim Meyering  <jim@meyering.net>
40923
40924         Merge from coreutils.
40925         * m4/chdir-long.m4, m4/openat.m4: New files.
40926         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
40927         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
40928         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
40929         is sane and DOES follow symlinks.  Besides, testing 20 different
40930         systems found no broken chown implementations.
40931         Prompted by a change in rsync's copy of this macro.
40932         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
40933
40934         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
40935
40936         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
40937         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
40938         NULL-means-set-to-current-time semantics.
40939         Remove temporary file immediately, rather than waiting
40940         for configure's at-exit trap code to do it.
40941
40942 2005-01-18  Jim Meyering  <jim@meyering.net>
40943
40944         * lib/version-etc.c (version_etc_copyright): Update copyright date.
40945
40946         * lib/utimens.c (futimens): Account for the fact that futimes
40947         can also fail with errno == ENOSYS or errno == ENOENT.
40948         Patch from Dmitry V. Levin.
40949
40950         Change the name of the robust chdir function from chdir to chdir_long.
40951         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
40952         (restore_cwd): Use chdir_long, not chdir.
40953         * lib/chdir-long.c: Renamed from chdir.c.
40954         * lib/chdir-long.h: Renamed from chdir.h.
40955         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
40956         Hurd.
40957
40958 2005-01-18  Bruno Haible  <bruno@clisp.org>
40959
40960         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
40961         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
40962         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
40963         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
40964         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
40965         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
40966         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
40967         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
40968         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
40969         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
40970         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
40971         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
40972         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
40973         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
40974         Use an all-permissive copyright notice, recommended by RMS.
40975
40976 2005-01-18  Bob Proulx  <bob@proulx.com>
40977
40978         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
40979         simplify offsetof() macro construct to avoid compile failure with
40980         native HP-UX 11.0 ANSI C compiler.
40981
40982 2005-01-17  Bruno Haible  <bruno@clisp.org>
40983
40984         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
40985         redundant because stpncpy.m4 takes care of it.
40986
40987 2005-01-17  Bruno Haible  <bruno@clisp.org>
40988
40989         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
40990
40991 2005-01-17  Bruno Haible  <bruno@clisp.org>
40992
40993         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
40994         used.
40995
40996 2005-01-17  Bruno Haible  <bruno@clisp.org>
40997
40998         * lib/fwriteerror.h (fwriteerror): Change specification to include
40999         fclose.
41000         * lib/fwriteerror.c: Include <stdbool.h>.
41001         (fwriteerror): At the end, close the file stream. Record whether
41002         stdout was already closed.
41003
41004 2005-01-17  Bruno Haible  <bruno@clisp.org>
41005
41006         * lib/execute.c (environ): Declare if needed.
41007         * lib/pipe.c (environ): Likewise.
41008         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
41009
41010 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
41011
41012         * modules/argp: Depend on vsnprintf
41013
41014 2005-01-10  Jim Meyering  <jim@meyering.net>
41015
41016         * modules/closeout (Depends-on): Add atexit.
41017
41018 2005-01-06  Bruno Haible  <bruno@clisp.org>
41019
41020         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
41021
41022 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
41023
41024         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
41025         definitions to be after all include files, to avoid collisions.
41026         Problem reported by Bob Proulx.
41027
41028 2005-01-04  Jim Meyering  <jim@meyering.net>
41029
41030         Changes imported from coreutils.
41031         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
41032         as the mkstemp template, use a temporary directory and an
41033         8.3-friendly template to avoid trouble on systems like DJGPP.
41034         Reported by Juan M. Guerrero via Stepan Kasal.
41035         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
41036         close. Remove the temporary directory right away, rather than waiting
41037         for configure's at-exit trap code to do it.
41038         Suggestion from Stepan Kasal.
41039
41040 2005-01-01  Simon Josefsson  <jas@extundo.com>
41041
41042         * gnulib-tool: Print #include directives when --import'ing.
41043
41044 2004-12-28  Simon Josefsson  <jas@extundo.com>
41045
41046         * tests/test-base64.c: Include required header files.  Remove
41047         unused variables.
41048
41049 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
41050
41051         * modules/error (Depends-on): Remove gettext.
41052
41053 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
41054
41055         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
41056         not needed.  This removes a dependency on the gettext module.
41057         [defined _LIBC]: Do not include <libintl.h>; not needed.
41058
41059 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
41060
41061         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
41062         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
41063
41064 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
41065
41066         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
41067         HAVE_DECL_STRTOLD.
41068
41069 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
41070
41071         * modules/getdate (Depends-on): Remove alloca-opt.
41072
41073 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
41074
41075         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
41076
41077 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
41078
41079         * lib/argp-parse.c: Include <stddef.h>.
41080         (alignof, alignto): New macros.
41081         (parser_init): Don't assume that void * is aligned sufficiently
41082         for struct option.
41083
41084         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
41085         need to extend the stack.
41086         (YYINITDEPTH): New macro, so that the initial stack isn't overly
41087         large.
41088
41089 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
41090
41091         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
41092
41093 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
41094
41095         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
41096         (2004-10-24) change.  Apparently this was a false alarm.
41097
41098         * modules/getdate: Depend on alloca-opt, not alloca.
41099
41100 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
41101
41102         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
41103         Remove now-obsolete comment about AIX.
41104         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
41105         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
41106         (YYMAXDEPTH): New macro.
41107
41108 2004-12-18  Simon Josefsson  <jas@extundo.com>
41109
41110         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
41111
41112 2004-12-18  Bruno Haible  <bruno@clisp.org>
41113
41114         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
41115
41116 2004-12-18  Bruno Haible  <bruno@clisp.org>
41117
41118         * lib/fatal-signal.c (fatal_signals): Make non-const.
41119         (init_fatal_signals): New function.
41120         (uninstall_handlers, install_handlers): Ignore signals that were set to
41121         SIG_IGN.
41122         (at_fatal_signal): Call init_fatal_signals.
41123         (init_fatal_signal_set): Likewise. Ignore signals that were set to
41124         SIG_IGN.
41125         Reported by Paul Eggert.
41126
41127 2004-12-18  Bruno Haible  <bruno@clisp.org>
41128
41129         * doc/alloca.texi: New file.
41130         * doc/alloca-opt.texi: New file.
41131
41132 2004-12-17  Jim Meyering  <jim@meyering.net>
41133
41134         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
41135         Otherwise, install-sh could exit with improper exit status when
41136         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
41137
41138 2004-12-16  Simon Josefsson  <jas@extundo.com>
41139
41140         * tests/test-base64.c: Add license.
41141
41142 2004-12-15  Stepan Kasal  <address@hidden>
41143
41144         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
41145
41146 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
41147
41148         * modules/getcwd (Files): Add m4/d-ino.m4.
41149         Suggested by Mark D. Baushke.
41150
41151 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
41152
41153         * lib/getdate.y (textint): New member "negative".
41154         (time_zone_hhmm): New function.
41155         Expect 14 shift-reduce conflicts, not 13.
41156         (o_colon_minutes): New rule.
41157         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
41158         (yylex): Set the "negative" member of signed numbers.
41159
41160 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
41161
41162         * doc/getdate.texi (Time of day items, Time zone items):
41163         Describe new formats +00:00, UTC+00:00.
41164
41165 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41166
41167         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
41168         spurious "-l"s.  Problem reported by Stepan Kasal.
41169
41170 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
41171
41172         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
41173         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
41174
41175 2004-12-04  Simon Josefsson  <jas@extundo.com>
41176
41177         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
41178         Vandoorselaere <yoann@prelude-ids.org>.
41179
41180 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
41181
41182         Changes imported from coreutils.
41183         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
41184         exist.
41185         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
41186
41187 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
41188
41189         Changes imported from coreutils.
41190         * lib/hard-locale.c: Assume <locale.h> exists.
41191         Include "strdup.h".
41192         (GLIBC_VERSION): New macro.
41193         (hard_locale): Assume setlocale exists.
41194         Rewrite to avoid #ifdef.
41195         Use strdup rather than malloc + strcpy.
41196         * lib/human.c: Assume <locale.h> exists.
41197         (human_readable): Assume localeconv exists.
41198
41199 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
41200
41201         * modules/hard-locale (Depends-on): Add strdup.
41202
41203 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
41204
41205         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
41206         convert T2, not T.  (Imported from libc.)
41207
41208 2004-11-30  Simon Josefsson  <jas@extundo.com>
41209
41210         * modules/restrict (License): Change to LGPL.
41211
41212 2004-11-30  Simon Josefsson  <jas@extundo.com>
41213
41214         * m4/restrict.m4: Add copyright and copying conditions.
41215
41216 2004-11-30  Simon Josefsson  <jas@extundo.com>
41217
41218         * m4/base64.m4: New file.
41219
41220 2004-11-30  Simon Josefsson  <jas@extundo.com>
41221
41222         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
41223         base64.
41224
41225         * tests/test-base64.c: New file.
41226
41227         * modules/base64: New file.
41228
41229 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
41230
41231         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
41232         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
41233
41234         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
41235
41236 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
41237
41238         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
41239         (__getcwd.c): Don't restore errno; glibc doesn't.
41240         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
41241         first, falling back to our code only if its results look suspicious.
41242         Ensure that the resulting buffer is only as large as necessary.
41243
41244         * lib/readutmp.c: Include readutmp.h first.
41245         Include <errno.h>, since readutmp.h no longer does that.
41246         * lib/readutmp.h: Don't include <errno.h>,
41247         <sys/param.h>, <time.h>; not needed to establish interface.
41248         (errno): Remove decl.
41249         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
41250         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
41251         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
41252
41253 2004-11-28  Simon Josefsson  <jas@extundo.com>
41254
41255         * lib/base64.h, base64.c: New file.
41256
41257 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
41258
41259         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
41260
41261 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
41262
41263         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
41264         (Depends-on): Remove pathmax, same.  Add mempcpy.
41265         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
41266         (Makefile.am): Append getcwd.h to lib_SOURCES.
41267         (Include): Add getcwd.h.
41268         (Maintainer): Change from Jim Meyering to "all, glibc",
41269         since getdate now uses intended-for-glibc code.
41270         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
41271         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
41272
41273 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
41274
41275         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
41276         HP's ANSI C compiler.
41277         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
41278         Declaring int functions causes warnings on some modern systems and
41279         shouldn't be needed to compile on ancient ones.
41280         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
41281         defined.
41282
41283         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
41284         with the following changes.
41285         (__set_errno): Parenthesize properly.
41286         Include <stdbool.h>.
41287         (MIN, MAX, MATCHING_INO): New macros.
41288         (__getcwd): Define with prototype, not K&R form.
41289         Use heuristics to allocate default buffer on stack if possible.
41290         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
41291         behavior, and to avoid the PATH_MAX limit when computing
41292         ../../../../...
41293         Use MATCHING_INO to compare inode number to file.
41294         Check for arithmetic overflow in size calculations.
41295         Fix bug in reallocation of dot array that caused getcwd to fail
41296         on directories nested deeper than 75.
41297         Be more careful about saving errno on error.
41298         Do not use realloc; use only free+malloc, as this is a bit
41299         more flexible and avoids a needless copy operation.
41300         Do not inspect st_dev and st_ino for symbolic links; POSIX
41301         doesn't specify the latter.
41302         Check for closedir errors.
41303         Avoid needless casts.
41304         Use "#ifdef weak_alias" around weak_alias, to be like other
41305         glibc code.
41306         The following changes to getcwd.c have effect only when used in
41307         gnulib; they have no effect inside glibc proper.
41308         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
41309         as alloca isn't used.
41310         (alloca, __alloca): Likewise.
41311         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
41312         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
41313         unconditionally, as gnulib assumes C89 or better.
41314         Do not include <sys/param.h>.
41315         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
41316         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
41317         better.
41318         (NULL) [!defined NULL]: Remove; we assume C89 or better.
41319         Include <dirent.h> in a way that is compatible with modern Autoconf.
41320         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
41321         New macros, if not already defined.
41322         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
41323         Use "_LIBC", not "defined _LIBC", for consistency.
41324         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
41325         a mempcpy module.
41326         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
41327         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
41328         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
41329         credit only to Jim Meyering and adjust the copyright dates.
41330         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
41331         <stdlib.h>, <unistd.h>, "pathmax.h".
41332         Instead, include "xgetcwd.h" (first) and "getcwd.h".
41333         (INITIAL_BUFFER_SIZE): Remove.
41334         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
41335
41336 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
41337
41338         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
41339         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
41340         Use the _ONCE methods, for efficiency.
41341         Check for fcntl.h.  In test program, include <errno.h>
41342         and <fcntl.h> if available.  Remove old K&R cruft from
41343         test program.  Check for common errors in GNU/Linux,
41344         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
41345         don't do AC_LIBOBJ, as that's getcwd.m4's job.
41346         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
41347         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
41348         name accordingly.
41349         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
41350         accommodate new getcwd.c.
41351         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
41352         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
41353         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
41354         that's all we need now.
41355
41356 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
41357
41358         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
41359         argp-parse.c depends on getopt internals, that means we should
41360         always use our getopt, to be on the safe side.
41361         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
41362         order not to spoil the result of an eventual previous invocation
41363         of gl_GETOPT_SUBSTITUTE.
41364
41365 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
41366
41367         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
41368         redefinition warnings. To avoid them, include the defines
41369         in `#if !defined __need_getopt ... #endif'. The only place
41370         where __getopt_argv_const is used is in definitions
41371         of getopt_long and getopt_long_only below, which are as well
41372         protected by `#ifndef __need_getopt'.
41373         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
41374         __need_getopt after including <stdio.h> and <unistd.h> These
41375         headers might have defined it.
41376
41377 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
41378
41379         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
41380
41381 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
41382
41383         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
41384         (futimens): New function, which uses futimes if available.
41385         (futimens, utimens): Support timespec==NULL, with same semantics
41386         as utime and utimens.
41387         * lib/utimens.h (futimens): New decl.
41388
41389 2004-11-23  Jim Meyering  <jim@meyering.net>
41390
41391         * lib/getopt_.h: Remove trailing blanks.
41392
41393 2004-11-23  Jim Meyering  <jim@meyering.net>
41394
41395         * lib/__fpending.c: Add comment.
41396
41397 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
41398
41399         * modules/canonicalize (Depends-on): Add xreadlink.
41400         Problem reported by James Youngman.
41401
41402 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41403
41404         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
41405         New macros.
41406         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
41407         optopt): Use them instead of invoking ## directly; otherwise, the
41408         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
41409
41410 2004-11-19  Bruno Haible  <bruno@clisp.org>
41411
41412         * lib/strtok_r.c: Move comments from here...
41413         * lib/strtok_r.h: ... to here.
41414
41415 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
41416
41417         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
41418         implementations that mishandle size_t overflow.
41419
41420 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
41421
41422         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
41423         might fail.  Problem reported by Yoann Vandoorselaere.
41424         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
41425         implementations that mishandle size_t overflow.
41426
41427 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41428
41429         * modules/canon-host (Depends-on): Add strdup.
41430
41431 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41432
41433         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
41434
41435 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41436
41437         * lib/canon-host.c: Include "strdup.h".
41438         (canon_host): Use getaddrinfo if available, so that IPv6 works.
41439         Use strdup instead of malloc/strcpy to duplicate strings.
41440
41441         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
41442         (human_space_before_unit): New constant.
41443         * lib/human.c (human_readable): Support it.
41444
41445         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
41446         (xgetcwd): Set errno correctly when failing.
41447         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
41448         the failure is actually due to a PATH_MAX problem.
41449
41450         Further getopt changes to make it more likely that glibc will
41451         buy the changes back.
41452         * lib/getopt.c (POSIXLY_CORRECT): New constant.
41453         (getopt): Use it, so to preserve glibc semantic
41454         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
41455         when compiling for libc.
41456         * lib/getopt_.h (__getopt_argv_const): Bring it back.
41457         (getopt_long, getopt_long_only): Use it.
41458
41459         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
41460         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
41461         (getopt): Argv is now char * const *, as per standard.
41462         (_getopt_internal_r, _getopt_internal): Argv is now char **,
41463         not char *__getopt_argv_const *.
41464         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
41465         _getopt_long_only_r): Likewise.
41466         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
41467         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
41468         _getopt_long_r, _getopt_long_only_r): Likewise.
41469         * lib/getopt_.h (__getopt_argv_const): Remove.
41470         (getopt): Argv is now char * const *, as per standard.
41471
41472         * lib/getdate.y (tORDINAL): New token.
41473         (day, relunit): Allow it for relative times.
41474         (relative_time_table): Use tORDINAL for ordinals.
41475
41476 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41477
41478         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
41479         Document that "second" isn't allowed as an ordinal number.
41480
41481 2004-11-16  Jim Meyering  <jim@meyering.net>
41482
41483         * modules/closeout (Depends-on): Add fpending.
41484
41485 2004-11-15  Jim Meyering  <jim@meyering.net>
41486
41487         * lib/closeout.c: Include "__fpending.h" once again.
41488         Include <stdbool.h>.
41489         (close_stdout): Don't fail just because stdout was closed initially,
41490         since some programs don't write to stdout in the normal course of
41491         operation (other than --version and --help), and we don't want this
41492         function to make e.g. `touch file >&-' fail.
41493         But do fail if it was closed and someone has tried to write to it.
41494         E.g., `printf foo >&-' must fail.
41495
41496 2004-11-13  Jim Meyering  <jim@meyering.net>
41497
41498         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
41499
41500 2004-11-12  Simon Josefsson  <jas@extundo.com>
41501
41502         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
41503         small doc fix is still pending.
41504
41505 2004-11-11  Simon Josefsson  <jas@extundo.com>
41506
41507         * modules/strtok_r: New file.
41508
41509         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41510         strtok_r.
41511
41512 2004-11-11  Simon Josefsson  <jas@extundo.com>
41513
41514         * m4/strtok_r.m4: New file.
41515
41516         * m4/getopt.m4: Replace opterr.
41517
41518 2004-11-11  Simon Josefsson  <jas@extundo.com>
41519
41520         * lib/strtok_r.h, strtok_r.c: New file.
41521
41522 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
41523
41524         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
41525         of replacing opterr, getopt, etc.  This should handle the
41526         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
41527
41528 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
41529
41530         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
41531         we can stop lying to compilers about the constness of argv when we
41532         are compiled outside glibc.
41533         (getopt, getopt_long, getopt_long_only): Use it.
41534         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
41535         _getopt_internal, getopt): Likewise.
41536         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
41537         _getopt_long_only_r): Likewise.
41538         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
41539         _getopt_long_r, _getopt_long_only_r): Likewise.
41540
41541         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
41542         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
41543         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
41544         the other external symbols.
41545         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
41546         declaration, since the above renaming now works around collisions.
41547
41548 2004-11-11  Jim Meyering  <jim@meyering.net>
41549
41550         * lib/linebreak.c: Remove trailing blanks.
41551         * lib/alloca_.h: Likewise.
41552         * lib/acosl.c: Likewise.
41553         * lib/euidaccess.c: Likewise.
41554         * lib/allocsa.h: Likewise.
41555
41556 2004-11-10  Simon Josefsson  <jas@extundo.com>
41557
41558         * m4/getaddrinfo.m4: New file.
41559
41560 2004-11-10  Simon Josefsson  <jas@extundo.com>
41561
41562         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
41563
41564 2004-11-10  Simon Josefsson  <jas@extundo.com>
41565
41566         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41567         getaddrinfo.
41568
41569         * modules/getaddrinfo: New file.
41570
41571 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
41572
41573         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
41574
41575 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
41576
41577         * lib/mktime.c (SHR): New macro, which is a portable
41578         substitute for >> that should work even on Crays.
41579         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
41580         Problem reported by Mark D. Baushke in
41581         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
41582         * lib/getdate.y (SHR): Likewise.
41583         (tm_diff): Use it.
41584         * lib/strftime.c (SHR): Likewise.
41585         (tm_diff): Use it.
41586         * lib/quotearg.c (struct quoting_options): Use unsigned int for
41587         quote_these_too, so that right shifts are well defined.  All uses
41588         changed.
41589
41590 2004-11-10  Jim Meyering  <jim@meyering.net>
41591
41592         Ensure that no close failure goes unreported.
41593         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
41594         return early when it seems there's nothing to flush.
41595         Don't include __fpending.h.
41596
41597 2004-11-10  Jim Meyering  <jim@meyering.net>
41598
41599         * modules/closeout (Depends-on): Remove fpending.
41600
41601 2004-11-10  Jim Meyering  <jim@meyering.net>
41602
41603         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
41604
41605 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
41606
41607         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
41608         gl_FUNC_STRFTIME.
41609         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
41610         and AC_REQUIRE when possible, to avoid duplicate checks.
41611         Check for <wchar.h>.
41612
41613 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
41614
41615         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
41616
41617 2004-11-09  Bruno Haible  <bruno@clisp.org>
41618
41619         * m4/sockpfaf.m4: New file.
41620
41621 2004-11-05  Bruno Haible  <bruno@clisp.org>
41622
41623         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
41624         Reported by Mark D. Baushke <mdb@cvshome.org>.
41625
41626 2004-11-04  Bruno Haible  <bruno@clisp.org>
41627
41628         2004-09-11  Bruno Haible  <bruno@clisp.org>
41629                 * allocsa.valgrind: New file.
41630         2004-02-06  Bruno Haible  <bruno@clisp.org>
41631                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
41632                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
41633                 Reported by Christopher Seip <chris.seip@hp.com>.
41634
41635 2004-11-04  Bruno Haible  <bruno@clisp.org>
41636
41637         * modules/allocsa (Files): Add lib/allocsa.valgrind.
41638         (Makefile.am): Distribute it.
41639
41640 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
41641
41642         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
41643         with errno == ERANGE if the buffer is too small.
41644         Problem reported by Mark D. Baushke.
41645
41646 2004-11-03  Albert Chin  <china@thewrittenword.com>
41647             Paul Eggert  <eggert@cs.ucla.edu>
41648
41649         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
41650         equivalent, substitute $ac_type for equivalent type rather than
41651         blindly using uint32_t *always* which won't work if uint32_t is not
41652         available.  Define _UINT32_T to work around typedef of uint32_t if
41653         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
41654         2.5.1.
41655
41656 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
41657
41658         * m4/jm-macros.m4: Sync from coreutils.
41659         (gl_MACROS): Check for mbrlen, for pathchk.
41660         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
41661
41662 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
41663
41664         * lib/xreadlink.c (MAXSIZE): New macro.
41665         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
41666         size does not exceed MAXSIZE.  Avoid cast.
41667         As suggested by Mark D. Baushke in
41668         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
41669         if readlink fails with buffer size just under MAXSIZE, try again
41670         with MAXSIZE.
41671
41672 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
41673
41674         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
41675
41676 2004-11-02  Derek R. Price  <derek@ximbiot.com>
41677         and  Paul Eggert  <eggert@cs.ucla.edu>
41678
41679         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
41680         (get_date): Overparenthesize to avoid GCC warning.
41681
41682 2004-11-02  Bruno Haible  <bruno@clisp.org>
41683
41684         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
41685         returns void.
41686
41687 2004-11-02  Bruno Haible  <bruno@clisp.org>
41688
41689         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
41690         function returns void.
41691
41692 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
41693
41694         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
41695         fflush_unlocked, flockfile, funlockfile, funlockfile,
41696         fputs_unlocked, putc_unlocked.
41697
41698 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
41699
41700         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
41701         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
41702         already declared.
41703
41704 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
41705
41706         * modules/getdate (Files): Add doc/getdate.texi.
41707         (Depends-on): Add setenv, xalloc.
41708
41709 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
41710
41711         * lib/getdate.y: Add support for TZ="foo" within a date string.
41712         Fix some bugs near time_t boundaries.  Reject dates with
41713         out-of-range components, e.g., "Sept 31".
41714         Include <stdlib.h>, "setenv.h", "xalloc.h".
41715         (ISDIGIT_LOCALE): Remove; unused.
41716         Note that the TZ and time functions used here are not reentrant.
41717         (mktime_ok, get_tz): New functions.
41718         (TZBUFSIZE): New constant.
41719         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
41720         This requires that we sometimes generate our own TZ="XXX..." setting.
41721
41722 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
41723
41724         * doc/getdate.texi: New file, from coreutils with modifications for
41725         the new TZ parsing.
41726
41727 2004-10-27  Derek R. Price  <derek@ximbiot.com>
41728
41729         * lib/mktime.c (not_equal_tm): Remove redundant check.
41730
41731 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
41732
41733         * modules/regex (lib_SOURCES): Add regex.c.
41734         Reported by James Youngman in
41735         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
41736
41737 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
41738
41739         * lib/getdate.y: Use Bison 1.875 features, and some minor
41740         code cleanups.  This change does not affect semantics.
41741         Don't include <stdlib.h>; no longer needed.
41742         Don't include unlocked-io.h; only the "#if TEST" code uses
41743         stdio, and performance isn't crucial there.
41744         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
41745         Bison 1.875 features as described below.
41746         All uses of "PC." replaced by "pc->".
41747         (YYSTYPE): Add a forward declaration.
41748         (yylex, yyerror): Use full prototypes in forward decls.
41749         Use "%pure-parser" rather than obsolescent "%pure_parser".
41750         Use %parse-param and %lex-param instead of obsolescent
41751         YYPARSE_PARAM and YYLEX_PARAM.
41752         (meridian_table, month_and_day_table, time_units_table,
41753         relative_time_table, time_zone_table, military_table,
41754         lookup_zone, lookup_word, get_date):
41755         Use NULL instead of 0 where appropriate.
41756         (to_hour): Avoid abort (), to avoid a dependency on
41757         stdlib.h.
41758         (yyerror, yylex): Now accepts parser_control * arg.
41759         (main) [TEST]: Use '\0' rather than 0 for char.
41760
41761 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
41762
41763         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
41764
41765 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
41766
41767         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
41768         It's now the caller's responsibility to handle the case where
41769         !HAVE_GETPAGESIZE && !defined getpagesize.
41770
41771         * lib/mktime.c (leapyear): Arg is long int, not int.
41772
41773 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
41774
41775         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
41776
41777 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
41778
41779         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
41780         missing.  Problem reported by James Youngman.
41781
41782 2004-10-16  Simon Josefsson  <jas@extundo.com>
41783
41784         * gnulib-tool: Fix comments.  Fix parse problem.
41785         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
41786
41787 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
41788
41789         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
41790         implementation of getopt_long.  Problem reported by Alexander Taler in:
41791         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
41792
41793 2004-10-15  Bruno Haible  <bruno@clisp.org>
41794
41795         * gnulib-tool: Untabify. Initialize supplied_libname.
41796         (func_usage): More homogenous output.
41797         (func_modules_transitive_closure, func_modules_to_filelist,
41798         func_emit_lib_Makefile_am): New functions.
41799         (func_import): New function, extracted from big case statement. Use
41800         func_get_license, func_modules_transitive_closure,
41801         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
41802         opt_lgpl. Don't use test -a, as it's not portable.
41803         (func_create_testdir): Use func_modules_transitive_closure,
41804         func_modules_to_filelist, func_emit_lib_Makefile_am.
41805
41806 2004-10-15  Bruno Haible  <bruno@clisp.org>
41807
41808         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
41809
41810 2004-10-15  Bruno Haible  <bruno@clisp.org>
41811
41812         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
41813         the portions belonging to each module.
41814         Suggested by Derek Robert Price <derek@ximbiot.com>.
41815
41816 2004-10-12  Simon Josefsson  <jas@extundo.com>
41817
41818         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
41819         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
41820         to real functions.
41821
41822 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41823
41824         * modules/vsnprintf: New file.
41825
41826 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41827
41828         * m4/vsnprintf.m4: New file.
41829
41830 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41831
41832         * lib/vsnprintf.h: New file.
41833         * lib/vsnprintf.c: New file.
41834
41835 2004-10-11  Bruno Haible  <bruno@clisp.org>
41836
41837         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
41838         vsnprintf.
41839
41840 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
41841
41842         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
41843
41844 2004-10-07  Bruno Haible  <bruno@clisp.org>
41845
41846         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
41847         fits into the provided buffer.
41848
41849 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
41850
41851         * lib/diacrit.c, diacrit.h: Add GPL notice.
41852
41853         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
41854         notice.
41855         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
41856         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
41857         This avoids a potential constant-folding bug.
41858
41859 2004-10-05  Bruno Haible  <bruno@clisp.org>
41860
41861         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
41862         for the declaration of strsep.
41863
41864 2004-10-05  Bruno Haible  <bruno@clisp.org>
41865
41866         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
41867
41868 2004-10-04  Simon Josefsson  <jas@extundo.com>
41869
41870         * modules/memmem: New file.
41871         * tests/test-memmem.c: New file.
41872         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
41873
41874 2004-10-04  Simon Josefsson  <jas@extundo.com>
41875
41876         * m4/memmem.m4: New file.
41877
41878 2004-10-04  Simon Josefsson  <jas@extundo.com>
41879
41880         * lib/memmem.h: New file.
41881         * lib/memmem.c: New file, taken from glibc.
41882
41883 2004-10-04  Simon Josefsson  <jas@extundo.com>
41884
41885         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
41886         '#ifdef USE_UNLOCKED_IO'.
41887
41888 2004-10-04  Simon Josefsson  <jas@extundo.com>
41889
41890         * config/srclist.txt: Add memmem from glibc.
41891
41892 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
41893
41894         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
41895
41896         * modules/argmatch, modules/argp, modules/closeout, modules/error,
41897         modules/exclude, modules/getdate, modules/getline,
41898         modules/getndelim2, modules/getpass, modules/getpass-gnu,
41899         modules/getusershell, modules/linebuffer, modules/md5,
41900         modules/mountlist, modules/posixtm, modules/readtokens,
41901         modules/readutmp, modules/regex, modules/sha1,
41902         modules/version-etc, modules/yesno:
41903         Remove dependency on unlocked-io.
41904
41905 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
41906
41907         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
41908
41909         * m4/unlocked-io.m4: Add copyright notice.
41910         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
41911
41912 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
41913
41914         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
41915         * lib/xmalloc.c (xmemdup): Likewise.
41916         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
41917         XFREE): Remove these long-obsolescent macros.
41918         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
41919         * lib/xstrdup.c: Remove.
41920
41921         * lib/regex.c (re_comp): Cast gettext return value to char *,
41922         Problem reported by Martin Neitzel via Mark D. Baushke.
41923
41924 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
41925
41926         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
41927         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
41928         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
41929         regex.c, sha1.c, version-etc.c, yesno.c:
41930         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
41931         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
41932         the includer's responsibility.
41933
41934         Sync from coreutils.
41935
41936         * lib/modechange.c (mode_compile): Don't decrement a pointer that
41937         points to the start of a string, as the C Standard says the
41938         resulting behavior is undefined.
41939
41940         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
41941         simple -> simple_backups, numbered_existing ->
41942         numbered_existing_backups, numbered -> numbered_backups
41943         to avoid shadowing problems.  All uses changed.
41944         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
41945         * lib/backupfile.c (check_extension, numbered_backup):
41946         Rename locals to avoid shadowing 'basename'.
41947         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
41948         once.
41949
41950         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
41951         * lib/.cvsignore: Add getopt.h.
41952
41953 2004-10-04  Bruno Haible  <bruno@clisp.org>
41954
41955         * modules/README: New file.
41956         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
41957         not a module.
41958
41959 2004-10-02  Jim Meyering  <jim@meyering.net>
41960
41961         * lib/dirfd.h, getpagesize.h: Add copyright notice.
41962
41963 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41964
41965         * modules/strsep: New file.
41966
41967 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41968
41969         * m4/strsep.m4: New file.
41970
41971 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41972
41973         * lib/strsep.h: New file.
41974         * lib/strsep.c: New file.
41975
41976 2004-10-01  Simon Josefsson  <jas@extundo.com>
41977
41978         * lib/snprintf.c (snprintf): Handle size==0.
41979
41980 2004-10-01  Simon Josefsson  <jas@extundo.com>
41981             Bruno Haible  <bruno@clisp.org>
41982
41983         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
41984         (snprintf): Declare 'args'.
41985
41986 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
41987
41988         * lib/snprintf.c: Remove comments as to why each header is needed.
41989
41990 2004-10-01  Bruno Haible  <bruno@clisp.org>
41991
41992         * MODULES.html.sh: Add strsep.
41993
41994 2004-09-30  Simon Josefsson  <jas@extundo.com>
41995
41996         * modules/snprintf: New file.
41997
41998 2004-09-30  Simon Josefsson  <jas@extundo.com>
41999
42000         * m4/snprintf.m4: New file.
42001
42002 2004-09-30  Simon Josefsson  <jas@extundo.com>
42003
42004         * lib/snprintf.h, lib/snprintf.c: New files.
42005
42006 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
42007
42008         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
42009         (hol_entry_help): Never translate an empty string.
42010         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
42011         * lib/argp.h (OPTION_NO_TRANS): New option.
42012
42013 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
42014
42015         * modules/argp (Maintainer): Replace Simon Josefsson
42016         by Sergey Poznyakoff.
42017
42018 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
42019
42020         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
42021         changes merged back into glibc.
42022
42023 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
42024
42025         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
42026
42027 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
42028
42029         * lib/xvasprintf.c: Include xalloc.h.
42030         (xvasprintf): Use xalloc_die, not xmalloc_die.
42031
42032 2004-09-29  Bruno Haible  <bruno@clisp.org>
42033
42034         * modules/alloca-opt: New file, derived from modules/alloca.
42035         * modules/allocsa: Depend on alloca-opt instead of alloca.
42036         * modules/setenv: Likewise.
42037         * modules/vasnprintf: Likewise.
42038         * MODULES.html.sh: Add alloca-opt.
42039
42040 2004-09-28  Simon Josefsson  <jas@extundo.com>
42041
42042         * gnulib-tool: New parameter --lgpl, to asseert that modules are
42043         LGPL, and to replace license template from GPL to LGPL.
42044
42045 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
42046
42047         * modules/dummy: Change license to LGPL.
42048
42049 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
42050
42051         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
42052
42053 2004-09-24  Simon Josefsson  <jas@extundo.com>
42054
42055         * modules/minmax (License): Change from GPL to LGPL.
42056
42057 2004-09-23  Simon Josefsson  <jas@extundo.com>
42058
42059         * gnulib-tool (--import): Typo.
42060
42061 2004-09-23  Simon Josefsson  <jas@extundo.com>
42062
42063         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
42064
42065 2004-09-22  Bruno Haible  <bruno@clisp.org>
42066
42067         * modules/*: Add 'License' field.
42068         * gnulib-tool: Accept --extract-license option.
42069         (func_get_license): New function.
42070
42071 2004-09-21  Bruno Haible  <bruno@clisp.org>
42072
42073         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
42074         Reported by Simon Josefsson.
42075
42076 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
42077
42078         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
42079         gl_AC_TYPE_LONG_LONG.
42080
42081 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
42082
42083         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
42084
42085 2004-09-18  Simon Josefsson  <jas@extundo.com>
42086         and  Paul Eggert  <eggert@cs.ucla.edu>
42087
42088         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
42089         calls with autoreconf.  Define GL_LIB.
42090
42091 2004-09-14  Karl Berry  <karl@gnu.org>
42092
42093         * config/srclist.txt: unsync setenv.c, sigh.
42094
42095 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
42096
42097         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
42098         Problem reported by Bruno Haible in:
42099         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
42100
42101 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
42102
42103         * config/srclist.txt: Comment out argp-pvh.c.
42104
42105 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
42106
42107         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
42108         in case some system header has #define'd it.  Problem reported by
42109         Soeren D. Schulze in
42110         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
42111
42112 2004-09-09  Karl Berry  <karl@gnu.org>
42113
42114         * regex.[ch]: delete from the root.  These were supposed to be
42115                 synced with emacs cvs, but this has not happened for about
42116                 a year, and anyway nothing else uses emacs regex.[ch].
42117                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
42118                 lib/regex[.ch] is untouched.
42119
42120 2004-09-09  Bruno Haible  <bruno@clisp.org>
42121
42122         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
42123
42124 2004-09-09  Bruno Haible  <bruno@clisp.org>
42125
42126         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
42127         modifications.
42128         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
42129
42130 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
42131
42132         * modules/xvasprintf: New file.
42133         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
42134
42135 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
42136
42137         * lib/xvasprintf.h: New file.
42138         * lib/xvasprintf.c: New file.
42139         * lib/xasprintf.c: New file.
42140
42141 2004-09-08  Bruno Haible  <bruno@clisp.org>
42142
42143         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
42144
42145 2004-09-08  Bruno Haible  <bruno@clisp.org>
42146
42147         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
42148         length is > INT_MAX.
42149         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
42150         more.
42151
42152 2004-09-08  Bruno Haible  <bruno@clisp.org>
42153
42154         * lib/stdint_.h: New file, taken from GNU clisp.
42155
42156 2004-09-08  Bruno Haible  <bruno@clisp.org>
42157             Oskar Liljeblad  <oskar@osk.mine.nu>
42158
42159         * modules/stdint: New file.
42160         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
42161
42162 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42163
42164         Import from coreutils.
42165         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
42166         strings on unbounded length.  alloca's performance benefits aren't
42167         that important here.
42168         (V_STRDUP): Remove.
42169         (parse_with_separator): New function, with most of the internals
42170         of the old parse_user_spec.  Allow user to omit both user and group,
42171         for compatibility with FreeBSD.
42172         Clone only the user name, not the entire spec.
42173         Do not set *uid, *gid unless entirely successful.
42174         Avoid memory leak in some failing cases.
42175         Fix regression for USER.GROUP reported by Dmitry V. Levin in
42176         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
42177         (parse_user_spec): Rewrite to use parse_with_separator.
42178
42179 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42180
42181         * modules/userspec: Don't depend on alloca.
42182
42183 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42184
42185         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
42186
42187 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42188
42189         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
42190         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
42191         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
42192
42193 2004-08-16  Simon Josefsson  <jas@extundo.com>
42194
42195         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
42196         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
42197         Add --dry-run for --import.
42198         Let user provided command line parameters override configure.ac
42199         settings.
42200
42201 2004-08-12  Simon Josefsson  <jas@extundo.com>
42202
42203         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
42204         as discussed with Paul Eggert in threads rooted at
42205         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
42206         and
42207         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
42208         Before, the test was empty, and relied on ELIDE_CODE in source
42209         code.)
42210         (gl_PREREQ_GETOPT): New macro.
42211         (gl_GETOPT): Use them.
42212
42213 2004-08-12  Simon Josefsson  <jas@extundo.com>
42214
42215         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
42216         * lib/getopt_.h: Renamed from getopt.h.
42217
42218 2004-08-12  Simon Josefsson  <jas@extundo.com>
42219
42220         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
42221         Change default library name from libfoo to libgnu.
42222         Now, if you have a configure.ac that says:
42223                 gl_SOURCE_BASE(gl)
42224                 gl_M4_BASE(gl/m4)
42225                 gl_MODULES(error getopt etcetera)
42226                 gl_INIT
42227         you can import all you need by running:
42228                 ../gnulib/gnulib-tool --import
42229
42230         * modules/getopt (Files): Rename getopt.h to getopt_.h.
42231         (Makefile.am): Rewrite, use logic from argz.
42232         (Include): Use <getopt.h> instead of "getopt.h".
42233
42234 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
42235
42236         * modules/argp (Files): Add m4/unlocked-io.m4.
42237         (Depends-on): Add extensions.
42238
42239 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
42240
42241         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
42242         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
42243         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
42244         Check for program_invocation_name, program_invocation_short_name,
42245         flockfile, funlockfile, features.h, _getopt_long_only_r.
42246
42247 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
42248
42249         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
42250         its complicated substitute.
42251         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
42252         and program_invocation_name.
42253         (__argp_basename) [!_LIBC]: Remove; the only use was
42254         replaced by its body.
42255         (__argp_short_program_name): Change condition from
42256         !defined __argp_short_program_name to
42257         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
42258         to match argp-namefrob.h.
42259         (__argp_failure): Don't assume strerror_r returns char *.
42260         * lib/argp-parse.c (N_): Define unconditionally.
42261         (argp_default_options): Fill out initializers with 0 to avoid
42262         gcc warnings.
42263
42264 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
42265
42266         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
42267         getopt1.c.
42268
42269 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
42270
42271         Merge from coreutils.
42272
42273         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
42274
42275         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
42276         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
42277
42278 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
42279
42280         Merge from coreutils.
42281
42282         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
42283         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
42284         for Reliant Unix 5.43.
42285
42286         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
42287         (union fooround): Use uintmax_t, not long int.
42288         The rest is a merge from libc:
42289         [defined _LIBC]: Include <shlib-compat.h>.
42290         (_obstack) [defined _LIBC]: Remove after 2.3.4.
42291
42292         * lib/settime.c (settime): Recode to avoid warning with
42293         Sun Forte C 6U2.
42294
42295         * lib/strverscmp.c: Convert to UTF-8.
42296
42297 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
42298
42299         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
42300         m4/uintmax_t.m4.
42301
42302 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42303
42304         * modules/xalloc-die: New file.
42305         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
42306
42307         * modules/md5 (Files): Add m4/uint32_t.m4.
42308         * modules/sha1: Renamed from modules/sha.
42309         (Files):
42310         Rename lib/sha.h to lib/sha1.h.
42311         Rename lib/sha.c to lib/sha1.c.
42312         Rename m4/sha.m4 to m4/sha1.m4.
42313         (lib_SOURCES): Likewise.
42314         (configure.ac): Rename gl_SHA to gl_SHA1.
42315         (Include): sha.h -> sha1.h.
42316
42317 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42318
42319         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
42320         * m4/sha1.m4: Renamed from sha.m4.
42321         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
42322
42323 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42324
42325         * lib/obstack.h (obstack_empty_p):
42326         Don't assume that chunk->contents is suitably aligned.
42327         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
42328         Likewise. Problem reported by Benno in
42329         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
42330
42331         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
42332         readable.  This could be improved further but it'd take some work.
42333
42334 2004-08-08  Simon Josefsson  <jas@extundo.com>
42335
42336         * modules/xgethostname (Depends-on): Remove exit and error (not
42337         used).
42338
42339         * modules/getpass-gnu: Add getpass.h.
42340         (Depends-on): Add stdbool.
42341         * modules/getpass: Add getpass.h.
42342
42343 2004-08-08  Simon Josefsson  <jas@extundo.com>
42344
42345         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
42346         Check getpass declaration.
42347
42348 2004-08-08  Simon Josefsson  <jas@extundo.com>
42349
42350         * lib/xgethostname.c: Don't include error.h (not used).
42351
42352         * lib/getpass.h: Add.
42353         * lib/getpass.c: Include getpass.h first.
42354
42355 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
42356
42357         * lib/xalloc-die.c: New file.
42358         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
42359         All uses removed.
42360         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
42361         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
42362         xalloc-die.c.
42363         (_, N_, xalloc_die): Move to xalloc-die.c.
42364         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
42365         so that we needn't mess with xalloc_msg_memory_exhausted.
42366
42367         * lib/sha1.h: Renamed from sha.h.
42368         (SHA1_H): Renamed from _SHA_H.
42369         (sha1_ctx): Renamed from sha_ctx.
42370         (sha1_init_ctx): Renamed from sha_init_ctx.
42371         (sha1_process_block): Renamed from sha_process_block.
42372         (sha1_process_bytes): Renamed from sha_process_bytes.
42373         (sha1_finish_ctx): Renamed from sha_finish_ctx.
42374         (sha1_read_ctx): Renamed from sha_read_ctx.
42375         (sha1_stream): Renamed from sha_stream.
42376         (sha1_buffer): Renamed from sha_buffer.
42377         * lib/sha1.c: Likewise; renamed from sha.c.
42378         Do not include <sys/types.h>.
42379         Include <stddef.h> rather than <stdlib.h>.
42380
42381 2004-08-08  Bruno Haible  <bruno@clisp.org>
42382
42383         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
42384         FILESYSTEM_PREFIX_LEN.
42385         * lib/progreloc.c: Likewise.
42386         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
42387
42388 2004-08-06  Simon Josefsson  <jas@extundo.com>
42389
42390         * modules/progname (Depends-on): Don't depend on stdbool.
42391
42392 2004-08-06  Simon Josefsson  <jas@extundo.com>
42393
42394         * modules/getsubopt: New file.
42395         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42396         getsubopt.
42397
42398 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
42399
42400         More merge from coreutils.
42401
42402         * m4/utimens.m4, m4/utimecmp.m4: New files.
42403         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
42404         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
42405         prereq.m4, sha.m4: Import changes from coreutils.
42406
42407 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
42408
42409         More merge from coreutils.
42410         * modules/raise, modules/readtokens0, modules/utimens:
42411         * modules/utimecmp, module/xnanosleep: New files.
42412         * modules/strftime: Add lib/strftime.h.
42413         Change include from <time.h> to "strftime.h".
42414         * modules/yesno: Add lib/yesno.h.
42415         * modules/backupfile: Remove lib/addext.c.
42416         * modules/euidaccess: Add stat-macros.h.
42417         * modules/canonicalize, modules/euidaccess,
42418         modules/filemode, modules/lchown, modules/makepath,
42419         modules/rmdir, modules/stat: Likewise.
42420
42421 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
42422
42423         Merge from tar.
42424         * lib/argp-help.c (make_hol, hol_append): Don't assume that
42425         SIZE_MAX is a valid preprocessor constant.
42426         (__argp_basename): Change from "#ifndef _LIBC"
42427         to "#ifndef __argp_short_program_name", so that
42428         we don't compile these functions for tar.
42429
42430         More merges from coreutils.
42431         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
42432         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
42433         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
42434         * lib/addext.c: Remove; no longer needed.
42435         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
42436         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
42437         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
42438         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
42439         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
42440         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
42441         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
42442         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
42443         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
42444         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
42445         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
42446         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
42447         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
42448         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
42449         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
42450         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
42451         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
42452         Import changes from coreutils.
42453
42454 2004-08-05  Simon Josefsson  <jas@extundo.com>
42455
42456         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
42457
42458 2004-08-05  Simon Josefsson  <jas@extundo.com>
42459
42460         * m4/getsubopt.m4: New file.
42461
42462 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
42463
42464         Merge from coreutils.
42465
42466         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
42467         * m4/getcwd-path-max.m4: New files.
42468
42469         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
42470         FILESYSTEM_PREFIX_LEN ->
42471         FILE_SYSTEM_PREFIX_LEN.
42472         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
42473         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
42474         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
42475         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
42476
42477         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
42478         prerequisite modules now handle the DOS stuff.
42479         Don't check for unistd.h.
42480
42481 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
42482
42483         Merge from coreutils.
42484
42485         * lib/.gdb-history: Remove; this doesn't belong here.
42486
42487         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
42488         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
42489         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
42490         * lib/getcwd.c: New files.
42491
42492         * lib/dirname.h: Include <stdbool.h>.
42493         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
42494         for consistency with POSIX terminology.  All uses changed.
42495         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
42496         (strip_trailing_slashes): Use bool for booleans.
42497         * lib/stripslash.c (strip_trailing_slashes): Likewise.
42498
42499         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
42500         sometimes returns a positive errno value even when it succeeds.
42501         (print_errno_message) [!LIBC]: Fall back on strerror if
42502         __strerror_r fails.
42503
42504         * lib/path-concat.c (mempcpy): Don't define if a system header defines
42505         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
42506         (longest_relative_suffix): New function.
42507         (path_concat): Use it.  Assume first argument is not NULL.
42508         Port to DOS.  Omit redundant separators.
42509         Report an error instead of returning NULL.
42510         Use mempcpy instead of memcpy.
42511         (xpath_concat): Remove: not declared or used.
42512
42513         * lib/same.h: Include <stdbool.h>
42514         (same_name): Return bool, not int.
42515         * lib/same.c (same_name): Likewise.
42516         (errno): Don't declare; we assume C89 or better now.
42517
42518         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
42519         if not already defined.
42520
42521         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
42522         * lib/dup-safer.c (errno): Likewise.
42523
42524 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
42525
42526         Merge from coreutils.
42527         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
42528         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
42529         * modules/path-concat: Don't depend on strdup.
42530
42531 2004-08-03  Simon Josefsson  <jas@extundo.com>
42532
42533         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
42534         * lib/progname.h: Don't include stdbool.h.
42535
42536 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
42537
42538         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
42539         * MODULES.html.sh (func_all_modules): Remove fatal.
42540
42541 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
42542
42543         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
42544
42545 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
42546
42547         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
42548         working.
42549
42550 2004-08-02  Simon Josefsson  <jas@extundo.com>
42551
42552         * lib/getsubopt.h: New file, with comments from Bruno Haible.
42553         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
42554         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
42555
42556 2004-08-01  Simon Josefsson  <jas@extundo.com>
42557
42558         * lib/xgetdomainname.c: Include stdlib.h, for free().
42559
42560 2004-07-19  Bruno Haible  <bruno@clisp.org>
42561
42562         * MODULES.html.sh (func_all_modules): Add dummy.
42563
42564 2004-07-16  Simon Josefsson  <jas@extundo.com>
42565
42566         * modules/dummy: New file.
42567
42568 2004-07-16  Simon Josefsson  <jas@extundo.com>
42569
42570         * lib/dummy.c: New file.
42571
42572 2004-07-16  Bruno Haible  <bruno@clisp.org>
42573
42574         * lib/backupfile.h: Add extern "C" for C++.
42575         * lib/closeout.h: Likewise.
42576         * lib/copy-file.h: Likewise.
42577         * lib/findprog.h: Likewise.
42578         * lib/full-write.h: Likewise.
42579         * lib/pathname.h: Likewise.
42580         * lib/progname.h: Likewise.
42581         * lib/stpcpy.h: Likewise.
42582         * lib/stpncpy.h: Likewise.
42583         * lib/strcase.h: Likewise.
42584         * lib/strstr.h: Likewise.
42585         * lib/xalloc.h: Likewise.
42586
42587         * lib/mbswidth.h: Add extern "C" for C++.
42588         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
42589
42590 2004-07-13  Robert Millan  <robertmh@gnu.org>
42591
42592         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
42593
42594 2004-07-09  Simon Josefsson  <jas@extundo.com>
42595
42596         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
42597         failed without this.)
42598
42599 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
42600
42601         * modules/chown (Files): Add lib/fchown-stub.c, since
42602         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
42603
42604 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
42605
42606         * lib/fchown-stub.c: New file.
42607
42608 2004-06-24  Jim Meyering  <jim@meyering.net>
42609
42610         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
42611
42612 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
42613
42614         * modules/argz: Omit "#include".
42615
42616         * MODULES.html.sh (func_all_modules): Add calloc, to match
42617         2004-06-01 addition of calloc module.
42618
42619 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
42620
42621         * m4/argz.m4: New file, which is autoupdated from libtool.
42622
42623 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
42624
42625         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
42626         libtool.
42627
42628 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
42629
42630         * config/srclist-update: Don't insist on "USA." before the
42631         close-comment, as libtool omits the period and puts the */ on a
42632         separate line.
42633         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
42634         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
42635
42636 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
42637
42638         * modules/argz: New file.
42639         * MODULES.html.sh (func_all_modules): Add argz.
42640
42641 2004-06-12  Jim Meyering  <jim@meyering.net>
42642         and  Paul Eggert  <eggert@cs.ucla.edu>
42643
42644         * modules/hash (Files): Add lib/xalloc.h.
42645         * modules/pipe (Depends-on): Add wait-process.
42646         * modules/stat (Depends-on): Add xalloc.
42647         * modules/userspec (Files): Add lib/userspec.h.
42648         * modules/xstrto
42649
42650         Upgrade from gettext-0.13.
42651         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
42652         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
42653         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
42654
42655 2004-06-10  Jim Meyering  <jim@meyering.net>
42656
42657         * lib/calloc.c: New file.
42658
42659 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
42660
42661         * lib/getdate.y (yylex): Allow space between sign and number.
42662         Problem reported by Dan Jacobson.
42663
42664 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
42665
42666         Merge from coreutils CVS.
42667
42668         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
42669         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
42670         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
42671         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
42672         xstrtol.m4: Fix copyright date and/or serial number.
42673
42674         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
42675         See if we need an fchown replacement.
42676         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
42677         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
42678         and use the replacement function if we detect either defect.
42679
42680         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
42681         gl_UTIMECMP.
42682
42683 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
42684         and  Jim Meyering  <jim@meyering.net>
42685
42686         Merge from coreutils CVS.
42687
42688         * lib/stat-macros.h: New file, with contents from file-type.h
42689         and coreutils' system.h.
42690         * lib/file-type.c: Include "stat-macros.h".
42691         * lib/file-type.h (file_type): Move all macro definitions to new file,
42692         stat-macros.h.
42693
42694         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
42695         Wrap old code with this conditional.
42696         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
42697         function that does not dereference symlinks.
42698         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
42699
42700         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
42701         dependency problems.
42702         (xreadlink): Accept new arg SIZE, for efficiency.
42703         All decls and uses changed.
42704         * lib/xreadlink.h: Include <stddef.h>, for size_t.
42705
42706         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
42707         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
42708
42709         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
42710         sysexits.h.
42711
42712 2004-06-01  Jim Meyering  <jim@meyering.net>
42713
42714         * m4/calloc.m4: New file.
42715
42716 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
42717
42718         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
42719         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
42720         Also, fix a typo in a diagnostic.
42721
42722 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
42723
42724         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
42725         or AC_FUNC_REALLOC.
42726
42727 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
42728
42729         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
42730         macros to be defined.
42731         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
42732         the allocator returns NULL because the requested size is zero.
42733
42734 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
42735
42736         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
42737         var.  Add comment explaining why libc still defines it.  This
42738         merges the following patch from glibc:
42739         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
42740
42741 2004-05-20  Andreas Schwab  <schwab@suse.de>
42742
42743         * m4/free.m4: Replace free if it not known to work, not the other
42744         way round.
42745
42746 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
42747
42748         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
42749         present in glibc since revision 1.1 of this file.
42750         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
42751         obstack_alignment_mask, obstack_alloc, obstack_base,
42752         obstack_blank, obstack_blank_fast, obstack_chunk_size,
42753         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
42754         obstack_grow0, obstack_init, obstack_int_grow,
42755         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
42756         obstack_next_free, obstack_object_size, obstack_ptr_grow,
42757         obstack_ptr_grow_fast, obstack_room): Remove declarations of
42758         nonexistent functions.
42759
42760 2004-05-18  Karl Berry  <karl@gnu.org>
42761
42762         * config/srclist.txt: break link for vasnprintf.c.
42763
42764 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
42765
42766         Port obstack to the AS/400, where pointers are 16 bytes wide and
42767         you cannot cast an integer to a valid pointer.  This patch is
42768         currently waiting to be integrated into glibc; see
42769         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
42770
42771         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
42772         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
42773         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
42774         (struct obstack): temp member is now a union of a pointer and
42775         an integer, instead of an integer.  All integer uses changed.
42776         This does not affect the physical layout of struct obstack,
42777         except on hosts (like the AS/400) where the size or alignment of
42778         void * is greater than that of ptrdiff_t.
42779         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
42780         __STDC__)]: Store temporary in pointer member of union, not
42781         integer member.
42782         * lib/obstack.c: Include <stddef.h>, for offsetof.
42783         (struct fooalign): Remove; it doesn't need a name.
42784         (union fooround): Change double to long double, and add void *.
42785         (DEFAULT_ALIGNMENT): Use offsetof to compute.
42786         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
42787         not a macro.  Hence the values are always int; so remove all
42788         casts-to-int in uses.
42789
42790 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
42791
42792         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
42793         we can get this patch merged into glibc.
42794
42795 2004-05-17  Derek R. Price  <derek@ximbiot.com>
42796             Paul Eggert  <eggert@cs.ucla.edu>
42797
42798         * m4/argp: Depend on alloca.
42799
42800 2004-05-17  Derek R. Price  <derek@ximbiot.com>
42801             Paul Eggert  <eggert@cs.ucla.edu>
42802
42803         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
42804         freecoding.
42805
42806 2004-05-17  Bruno Haible  <bruno@clisp.org>
42807
42808         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
42809         precision that consists of a '.' followed by an empty digit string.
42810         Patch by Tor Lillqvist <tml@iki.fi>.
42811
42812 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
42813
42814         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
42815         for backward compatibility with older code.  We need our own
42816         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
42817         it under some other name, and our alloca.h will define it.
42818
42819 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
42820             Derek Price  <derek@ximbiot.com>
42821
42822         * lib/alloca.c: Include <alloca.h>, to get our interface.
42823         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
42824         include <alloca.h> first.  Use C89 prototype for alloca; this
42825         requires including <stddef.h> for size_t.  Use extern "C" if C++.
42826         Use #elif for simplicity, since we can assume C89 now.
42827         Don't try to source the system alloca.h since it will not be found
42828         and to prevent recursively including its replacement.
42829         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
42830         * lib/regex.c: Likewise.
42831
42832 2004-05-16  Derek Price  <derek@ximbiot.com>
42833             Paul Eggert  <eggert@cs.ucla.edu>
42834
42835         getline cleanup.  This changes the getndelim2 API: both order of
42836         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
42837         no delimiter).
42838
42839         * lib/getline.c: Don't include stddef.h or stdio.h, since our
42840         interface does that.
42841         (getline): Always use getdelim, so that we don't have two
42842         copies of this code.
42843         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
42844         if available.
42845         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
42846         (GETNDELIM2_MAXIMUM): New macro.
42847         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
42848         instead of the old practice of delim2==0.  All callers changed.
42849         Return -1 on overflow, instead of returning junk.
42850         Do not set *linesize unless allocation succeeds.
42851         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
42852         that we include sys/types.h.
42853         * lib/getnline.h: Likewise.
42854         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
42855         (getndelim2): Reorder arguments.
42856         * lib/getnline.c (getnline, getndelim):
42857         Don't discard the NMAX argument.
42858         (getnline): Invoke getndelim, to avoid code duplication.
42859         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
42860         of (size_t) -1 by callers of the getnline family.
42861
42862 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
42863
42864         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
42865         Check for gettimeofday.
42866         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
42867         Check for settimeofday, stime.
42868
42869 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
42870
42871         * lib/nanosleep.c (suspended): Change its type from int to
42872         sig_atomic_t volatile.
42873         (first_call): Make it private to rpl_nanosleep, and have it
42874         be zero initially as that's a bit faster.
42875         (my_usleep): Round up fractional times instead of truncating them,
42876         as this is the usual meaning for 'sleep'.
42877
42878         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
42879         doesn't work.
42880         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
42881         (ENOSYS): Define if not defined.
42882         (settime): Fall back on stime if it exists and settimeofday fails.
42883         But don't bother with fallbacks if a method fails with errno == EPERM.
42884
42885 2004-05-11  Jim Meyering  <jim@meyering.net>
42886
42887         Prior to this change, the save_cwd caller required read access to the
42888         current directory on most systems (ones with the fchdir function).
42889
42890         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
42891         fails, try write-only, and finally, resort to using xgetcwd.
42892
42893 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
42894
42895         * lib/obstack.c, obstack.h: Import changes from libc.
42896
42897 2004-04-28  Bruno Haible  <bruno@clisp.org>
42898
42899         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
42900         also implicitly appends .exe to executables.
42901         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
42902         accepts Windows pathnames.
42903         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
42904         Treat Cygwin like Windows, since it now accepts Windows pathnames.
42905         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
42906         Treat Cygwin like Windows, since it now accepts Windows pathnames.
42907         Reported by Derek Robert Price <derek@ximbiot.com>.
42908
42909 2004-04-21  Karl Berry  <karl@gnu.org>
42910
42911         * config/srclist.txt (localcharset.c): break sync.
42912
42913 2004-04-20  Paul Eggert  <eggert@twinsun.com>
42914
42915         * m4/host-os.m4: Add a copyright notice.
42916
42917 2004-04-20  Jim Meyering  <jim@meyering.net>
42918
42919         Change UTILS_ to gl_ in AC_DEFINE'd names.
42920         Change utils_- and jm_-prefixed variables, too.
42921         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
42922         UTILS_FUNC_MKDIR_TRAILING_SLASH.
42923         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
42924
42925         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
42926         Don't emit trailing blanks.
42927         Also rename jm_-prefixed variables to have gl_ prefix.
42928
42929         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
42930         Also rename jm_-prefixed variables to have gl_ prefix.
42931
42932         * m4/jm-macros.m4: Reflect the renamings.
42933         * m4/prereq.m4: Likewise.
42934
42935 2004-04-20  Jim Meyering  <jim@meyering.net>
42936
42937         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
42938         memory.
42939
42940 2004-04-20  Jim Meyering  <jim@meyering.net>
42941             Bruno Haible  <bruno@clisp.org>
42942
42943         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
42944         memory when realloc fails.
42945
42946 2004-04-19  Jim Meyering  <jim@meyering.net>
42947
42948         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
42949         now that readutmp.c may call `free (0)'.
42950
42951 2004-04-19  Bruno Haible  <bruno@clisp.org>
42952
42953         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
42954         * m4/inttypes_h.m4: Likewise.
42955         * m4/stdint_h.m4: Likewise.
42956         * m4/intmax_t.m4: Likewise.
42957         * m4/uintmax_t.m4: Likewise.
42958
42959 2004-04-18  Jim Meyering  <jim@meyering.net>
42960
42961         * m4/prereq.m4: Don't forbid jm_ prefix.
42962
42963         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
42964         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
42965         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
42966         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
42967         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
42968         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
42969         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
42970         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
42971         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
42972         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
42973         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
42974         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
42975         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
42976         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
42977         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
42978         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
42979         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
42980         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
42981         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
42982
42983 2004-04-18  Jim Meyering  <jim@meyering.net>
42984
42985         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
42986         failure, don't leak memory and do call END_UTMP_ENT.
42987
42988 2004-04-16  Jim Meyering  <jim@meyering.net>
42989
42990         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
42991         coreutils' stat program.
42992         (gl_PREREQ): Don't require jm_PREREQ_STAT.
42993
42994 2004-04-11  Paul Eggert  <eggert@twinsun.com>
42995
42996         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
42997         C89.
42998         (CHAR_BIT): Remove, since we assume C89.
42999         Include <stdint.h> if available, as per current Autoconf CVS advice.
43000
43001 2004-03-31  Jim Meyering  <jim@meyering.net>
43002
43003         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
43004         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
43005         * m4/xalloc.m4: Likewise.
43006
43007 2004-03-30  Paul Eggert  <eggert@twinsun.com>
43008
43009         Merge from coreutils.
43010
43011         * m4/inttostr.m4: New file.
43012         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
43013         Require AM_STDBOOL_H and gl_TIMESPEC instead.
43014         Require gl_CLOCK_TIME.
43015         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
43016
43017 2004-03-30  Paul Eggert  <eggert@twinsun.com>
43018
43019         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
43020         not bool, to be more consistent with Unix conventions.
43021         Suggested by Bruno Haible.
43022
43023         Merge from coreutils.
43024
43025         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
43026         * lib/umaxtostr.c: New files.
43027
43028         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
43029         the usual <time.h> dance.
43030         (get_date): Change signature to support fractional time stamps.
43031         All callers changed.
43032         * lib/getdate.y: Include "getdate.h" first, as we can now
43033         assume C89 and don't need to worry about 'const'.
43034         Similarly, include "unlocked-io.h" near start, not in middle.
43035         Include <limits.h>.
43036         (textint.value): Use long int rather than int.
43037         (textint.digits): Use size_t rather than int.
43038         (BILLION, LOG10_BILLION): New constants.
43039         (parser_control): New member rel_ns.  Members day_ordinal,
43040         time_zone, month, day, hour, minutes, rel_year, rel_month,
43041         rel_day, rel_hour, rel_minutes, rel_seconds
43042         are now long int, not int.  Member seconds is now struct timespec,
43043         not int.  New member timespec_seen.  Members dates_seen, days_seen,
43044         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
43045         not int.
43046         (%union.intval): Now long int, not int.
43047         New member timespec.
43048         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
43049         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
43050         (spec): Now is a timespec or an item list.
43051         (timespec, items): New nonterminals.
43052         (time, rel, relunit, number, get_date):
43053         Add support for fractional seconds.
43054         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
43055         (gmtime, localtime, mktime): Remove decls; not needed with C89.
43056         (to_hour): First arg is now long int, not int.
43057         (to_year): Returns long int, not int.
43058         Don't treat year -70 like 70.
43059         (tm_diff): Returns long int, not int.
43060         (lookup_word): Use bool instead of int when appropriate.
43061         (yylex): Use size_t for count, not int.
43062         Detect overflow when parsing large integer constants.
43063         Add support for fractions.
43064         (get_date): Make pointers 'const' if possible.
43065         Use more-portable code to detect integer overflow.
43066         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
43067         Don't use ctime; it's not reliable if the year has >4 digits.
43068
43069         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
43070         This is for compatibility with BSD.
43071
43072         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
43073         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
43074         From coreutils' system.h.
43075
43076         * lib/userspec.c: Don't include "posixver.h".
43077         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
43078         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
43079         compatible extension.  Simplify code by removing a boolean int
43080         that was always nonzero if a string was nonnull.
43081
43082 2004-03-30  Jim Meyering  <jim@meyering.net>
43083
43084         Merge from coreutils.
43085
43086         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
43087         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
43088         on some systems one must include <grp.h> before it.
43089         Reported by Christian Krackowizer.
43090
43091 2004-03-30  Jim Meyering  <jim@meyering.net>
43092
43093         Merge from coreutils.
43094
43095         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
43096
43097         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
43098         an empty input stream.
43099
43100         * lib/readtokens.c: Include <stdbool.h>.
43101         (readtoken): Use `size_t' rather than int/long.
43102         All callers adjusted.
43103         Use `bool' rather than `int' where appropriate.
43104         Use memset rather than an explicit loop.
43105         Use x2nrealloc rather than xrealloc.
43106         Allow the use of `\0' as a delimiter.
43107         (readtokens): Likewise.
43108         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
43109
43110 2004-03-30  Jim Meyering  <jim@meyering.net>
43111
43112         * m4/realloc.m4: Remove file, since now it does no more than
43113         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
43114         the `configure.ac' section of module/realloc.
43115         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
43116
43117 2004-03-30  Bruno Haible  <bruno@clisp.org>
43118
43119         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
43120         nonnull.
43121
43122 2004-03-29  Paul Eggert  <eggert@twinsun.com>
43123
43124         Merge changes to getloadavg.c from coreutils and Emacs.
43125
43126         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
43127         Define to an expression, not to the empty string.
43128         Include cloexec.h and xalloc.h.
43129         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
43130         Use set_cloexec_flag rather than rolling our own.
43131         * lib/cloexec.c, lib/cloexec.h: New files.
43132
43133 2004-03-29  Paul Eggert  <eggert@twinsun.com>
43134
43135         * m4/cloexec.m4: New file.
43136
43137 2004-03-18  Paul Eggert  <eggert@twinsun.com>
43138
43139         * lib/getopt.h: Sync with libc CVS.
43140
43141 2004-03-18  Paul Eggert  <eggert@twinsun.com>
43142             Bruno Haible  <bruno@clisp.org>
43143
43144         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
43145         mbswidth.
43146
43147 2004-03-18  Paul Eggert  <eggert@twinsun.com>
43148             Bruno Haible  <bruno@clisp.org>
43149
43150         * lib/mbswidth.h: Include <wchar.h> only if
43151         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
43152         <wchar.h>.
43153         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
43154
43155 2004-03-09  Paul Eggert  <eggert@twinsun.com>
43156
43157         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
43158         Sync with libc CVS.
43159         * lib/getopt_int.h: New file, also synced from libc.
43160
43161 2004-03-09  Paul Eggert  <eggert@twinsun.com>
43162
43163         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
43164         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
43165         Bring back getopt.c, getopt.h, getopt1.c.
43166
43167 2004-03-07  Paul Eggert  <eggert@twinsun.com>
43168
43169         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
43170         All uses changed.  Check for sa_sigaction member; this fixes
43171         a bug first reported by Jason Andrade in
43172         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
43173
43174 2004-03-07  Paul Eggert  <eggert@twinsun.com>
43175
43176         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
43177         '#if' expressions.  Unlike the code it replaces, it does not
43178         depend on (defined _SC_PAGESIZE).  However, it does depend on
43179         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
43180         first reported by Jason Andrade in
43181         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
43182
43183 2004-02-25  Simon Josefsson  <jas@extundo.com>
43184
43185         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
43186
43187 2004-02-25  Simon Josefsson  <jas@extundo.com>
43188
43189         * lib/strdup.h: New file.
43190         * lib/strdup.c: Include it.
43191         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
43192         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
43193
43194 2004-02-23  Karl Berry  <karl@gnu.org>
43195
43196         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
43197         (from fencepost.gnu.org:/gd/gnuorg).
43198
43199 2004-02-23  Karl Berry  <karl@gnu.org>
43200
43201         * config/srclistvars.sh (GNUORG) [karl]: redefine.
43202         * config/srclist.txt: add maintain/standards documents.
43203
43204 2004-02-18  Bruno Haible  <bruno@clisp.org>
43205
43206         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
43207         Reported by Derek Robert Price <derek@ximbiot.com>.
43208
43209 2004-02-16  Karl Berry  <karl@gnu.org>
43210
43211         * config/mkinstalldirs, install-sh: update from automake.
43212
43213 2004-02-06  Karl Berry  <karl@gnu.org>
43214
43215         * m4/po.m4: update from gettext 0.14.1.
43216
43217 2004-02-06  Karl Berry  <karl@gnu.org>
43218
43219         * lib/config.charset: update from gettext 0.14.1.
43220
43221 2004-02-05  Paul Eggert  <eggert@twinsun.com>
43222
43223         Add comments and code, prompted by suggestions from Bruno Haible
43224         for sh-quote.
43225         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
43226         describing the enum quoting_style values.
43227         * lib/quotearg.c (quotearg_alloc): New function.
43228         (quotearg_buffer_restyled): Treat lone { and } as special.
43229         Treat = as special.  Work around bug with older shells
43230         that "see" a '\' that is really the 2nd byte of a multibyte char.
43231         Quote empty string with shell_quoting_style.
43232
43233 2004-02-03  Bruno Haible  <bruno@clisp.org>
43234
43235         * m4/pipe.m4: New file, from GNU gettext.
43236
43237 2004-02-03  Bruno Haible  <bruno@clisp.org>
43238
43239         * lib/pipe.h: New file, from GNU gettext.
43240         * lib/pipe.c: New file, from GNU gettext.
43241
43242 2004-01-27  Bruno Haible  <bruno@clisp.org>
43243
43244         * m4/execute.m4: New file, from GNU gettext.
43245
43246 2004-01-27  Bruno Haible  <bruno@clisp.org>
43247
43248         * lib/execute.h: New file, from GNU gettext.
43249         * lib/execute.c: New file, from GNU gettext.
43250         * lib/w32spawn.h: New file, from GNU gettext.
43251
43252 2004-01-24  Paul Eggert  <eggert@twinsun.com>
43253
43254         Merge from diffutils.
43255
43256         * lib/file-type.c (file_type): Add typed memory objects.
43257         * lib/file-type.h (S_TYPEISTMO): New macro.
43258
43259         * lib/c-stack.h (c_stack_action): Remove argv argument.
43260         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
43261         (die): Don't calculate message unless segv_action returns.
43262         (get_stack_location, min_address_from_argv, max_address_from_argv,
43263         volatile stack_base, volatile_stack_size): Remove.
43264         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
43265         that every segmentation violation is a stack overflow.  (Ouch!)
43266         See Debian bug 136249 (still outstanding) for more info about why
43267         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
43268
43269 2004-01-24  Paul Eggert  <eggert@twinsun.com>
43270
43271         Exit-status fix from coreutils.
43272
43273         Use exit_failure consistently in place of EXIT_FAILURE,
43274         so that program exit statuses are consistent on failure.
43275
43276         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
43277         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
43278         * lib/argmatch.h: Comment fix to match the above.
43279         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
43280         Now a macro referring to exit_failure, instead of a separate
43281         variable.  Include "exitfail.h" to get it.
43282         * lib/xstrtol.h: Include "exitfail.h".
43283         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
43284
43285         * lib/long-options.c (parse_long_options): Use prototype
43286         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
43287         for clarity.
43288
43289 2004-01-21  Jim Meyering  <jim@meyering.net>
43290
43291         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
43292         so as not to conflict with a different-sized __mktime_internal
43293         function in GNU libc.
43294         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
43295         Problem building statically-linked `ls' reported by Michael Brunnbauer.
43296
43297 2004-01-20  Karl Berry  <karl@gnu.org>
43298
43299         * config/config.guess: update from config.
43300
43301         * config/srclistvars.sh: GNUWWWLICENSES for karl.
43302
43303 2004-01-20  Bruno Haible  <bruno@clisp.org>
43304
43305         Safer stack allocation.
43306         * lib/setenv.c: Include allocsa.h.
43307         (alloca): Remove fallback definition.
43308         (freea): Remove macro.
43309         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
43310         instead of freea.
43311
43312 2004-01-20  Bruno Haible  <bruno@clisp.org>
43313
43314         * m4/eealloc.m4: New file, from GNU gettext.
43315
43316 2004-01-20  Bruno Haible  <bruno@clisp.org>
43317
43318         * m4/allocsa.m4: New file, from GNU gettext.
43319
43320 2004-01-20  Bruno Haible  <bruno@clisp.org>
43321
43322         * lib/xallocsa.h: New file, from GNU gettext.
43323         * lib/xallocsa.c: New file, from GNU gettext.
43324
43325 2004-01-20  Bruno Haible  <bruno@clisp.org>
43326
43327         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
43328
43329 2004-01-20  Bruno Haible  <bruno@clisp.org>
43330
43331         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
43332         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
43333         specially.
43334
43335 2004-01-20  Bruno Haible  <bruno@clisp.org>
43336
43337         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
43338         patch.
43339
43340 2004-01-20  Bruno Haible  <bruno@clisp.org>
43341
43342         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
43343
43344 2004-01-20  Bruno Haible  <bruno@clisp.org>
43345
43346         * lib/eealloc.h: New file.
43347
43348 2004-01-20  Bruno Haible  <bruno@clisp.org>
43349
43350         * lib/binary-io.h: Avoid warnings on Cygwin.
43351
43352 2004-01-20  Bruno Haible  <bruno@clisp.org>
43353
43354         * lib/allocsa.h: New file, from GNU gettext.
43355         * lib/allocsa.c: New file, from GNU gettext.
43356
43357 2004-01-18  Karl Berry  <karl@gnu.org>
43358
43359         * doc/gpl.texi, doc/lgpl.texi: new files.
43360
43361 2004-01-18  Karl Berry  <karl@gnu.org>
43362
43363         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
43364         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
43365
43366 2004-01-15  Paul Eggert  <eggert@twinsun.com>
43367
43368         Merge from coreutils.
43369
43370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
43371         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
43372         (gl_DEFAULT_POSIX2_VERSION): Move
43373         the documentation from 'configure' into 'config.hin',
43374         so that 'configure --help' isn't burdened by it and
43375         we don't have to worry about its formatting there.
43376         Reword the documentation so that it's more succinct
43377         and can be run together into a single paragraph.
43378         * m4/same.m4 (gl_SAME): Check for pathconf.
43379
43380 2004-01-15  Paul Eggert  <eggert@twinsun.com>
43381
43382         Merge from coreutils.
43383
43384         * lib/posixver.c: Include posixver.h.
43385
43386         * lib/same.c: Include <stdbool.h>, <limits.h>.
43387         (_POSIX_NAME_MAX): Define if not defined.
43388         (MIN): New macro.
43389         (same_name): If file names are silently truncated, report
43390         that the file names are the same if they are the same after
43391         the silent truncation.
43392
43393         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
43394         conversion function.
43395         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
43396         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
43397         longer needed.
43398
43399 2004-01-15  Jim Meyering  <jim@meyering.net>
43400
43401         Merge from coreutils.
43402
43403         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
43404         if no library is required.
43405         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
43406         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
43407         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
43408         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
43409         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
43410         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
43411         value, $ac_cv_search_crypt, if it's "none required".
43412         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
43413         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
43414         not gl_FUNC_GETLOADAVG.
43415         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
43416         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
43417
43418 2004-01-15  Jim Meyering  <jim@meyering.net>
43419
43420         Merge from coreutils.
43421
43422         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
43423         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
43424         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
43425
43426         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
43427         optional configure-time default.
43428
43429         * lib/version-etc.c (version_etc_copyright): Update copyright date.
43430
43431         * lib/xreadlink.c (xreadlink): Correct outdated comment.
43432
43433 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
43434
43435         Merge from coreutils.
43436
43437         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
43438         value, $ac_cv_search_nanosleep, if it's "none required".
43439
43440 2004-01-14  Paul Eggert  <eggert@twinsun.com>
43441
43442         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
43443         with like-named macro in fnmatch.c.
43444         (EXT): Use an internal constant instead.
43445
43446         Merge fnmatch patches from glibc.
43447         * lib/fnmatch.c (mbsinit): Remove define.
43448         Add libc_hidden_ver (__fnmatch, fnmatch).
43449         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
43450         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
43451
43452 2004-01-14  Karl Berry  <karl@gnu.org>
43453
43454         * config/install-sh: update from automake.
43455
43456 2004-01-13  Karl Berry  <karl@gnu.org>
43457
43458         * config/install-sh: update from automake.
43459
43460 2004-01-09  Karl Berry  <karl@gnu.org>
43461
43462         * config/install-sh: update from automake.
43463
43464 2004-01-05  Karl Berry  <karl@gnu.org>
43465
43466         * config/config.{sub,guess}: update from config.
43467
43468 2003-12-31  Karl Berry  <karl@gnu.org>
43469
43470         * config/depcomp: update from automake.
43471
43472 2003-12-14  Karl Berry  <karl@gnu.org>
43473
43474         * lib/config.charset: update from gettext-runtime.
43475
43476 2003-12-03  Paul Eggert  <eggert@twinsun.com>
43477
43478         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
43479         Bug reported by Alfred M. Szmidt.
43480
43481 2003-12-03  Bruno Haible  <bruno@clisp.org>
43482
43483         * m4/gettext.m4: Upgrade from gettext-0.13.
43484         * m4/po.m4: Upgrade from gettext-0.13.
43485         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
43486         * m4/intmax.m4: New file, from gettext-0.13.
43487         * m4/printf-posix.m4: New file, from gettext-0.13.
43488
43489 2003-11-29  Karl Berry  <karl@gnu.org>
43490
43491         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
43492
43493 2003-11-25  Paul Eggert  <eggert@twinsun.com>
43494             Bruno Haible  <bruno@clisp.org>
43495
43496         * lib/printf-parse.h: Don't include sys/types.h.
43497         (ARG_NONE): New macro.
43498         (char_directive): Change type of *arg_index fields to size_t.
43499         * lib/printf-parse.c: Don't include sys/types.h.
43500         (SSIZE_MAX): Remove macro.
43501         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
43502         Remove unnecessary overflow check.
43503         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
43504         fields.
43505
43506 2003-11-25  Bruno Haible  <bruno@clisp.org>
43507
43508         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
43509
43510 2003-11-25  Bruno Haible  <bruno@clisp.org>
43511
43512         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
43513         gt_TYPE_SSIZE_T.
43514
43515 2003-11-24  Paul Eggert  <eggert@twinsun.com>
43516
43517         * modules/alloca: Remove dependency on xalloc.
43518
43519 2003-11-24  Paul Eggert  <eggert@twinsun.com>
43520
43521         * lib/alloca.c: Remove dependency on xalloc module.
43522         (xalloc_die): Remove.
43523         (memory_full) [!defined emacs]: New macro.
43524         [!defined emacs]: Don't include xalloc.h.
43525         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
43526         address arithmetic overflows.  Change datatypes a bit to avoid
43527         unnecessary casts.
43528
43529 2003-11-22  Jim Meyering  <jim@meyering.net>
43530
43531         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
43532         s/size/size_t/.
43533
43534 2003-11-21  Karl Berry  <karl@gnu.org>
43535
43536         * config/config.{sub,guess}: update from config.
43537
43538 2003-11-18  Karl Berry  <karl@gnu.org>
43539
43540         * config/config.{sub,guess}: update from config.
43541
43542         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
43543
43544 2003-11-17  Paul Eggert  <eggert@twinsun.com>
43545
43546         * README: Mention that S+T cannot overflow if S is the size of
43547         an existing object and T is sufficiently small.
43548
43549 2003-11-17  Jim Meyering  <jim@meyering.net>
43550
43551         On systems without utime and without a utimes function capable of
43552         dealing with a NULL struct utimbuf* argument, this utime replacement
43553         could -- in unusual circumstances -- leak a file descriptor.
43554         * lib/utime.c: Include <unistd.h> and <errno.h>.
43555         (utime_null): Be sure to close `fd' and to preserve errno.
43556         Reported by Geoff Collyer via Arnold Robbins.
43557
43558 2003-11-17  Bruno Haible  <bruno@clisp.org>
43559
43560         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
43561         (Depends-on): Add xsize.
43562
43563 2003-11-17  Bruno Haible  <bruno@clisp.org>
43564
43565         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
43566
43567 2003-11-17  Bruno Haible  <bruno@clisp.org>
43568
43569         * lib/vasnprintf.c (alloca): Remove fallback definition.
43570         (freea): Remove definition.
43571         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
43572         Reported by Paul Eggert.
43573
43574 2003-11-16  Paul Eggert  <eggert@twinsun.com>
43575             Bruno Haible  <bruno@clisp.org>
43576
43577         Protect against address arithmetic overflow.
43578         * lib/printf-args.h: Include stddef.h.
43579         (arguments): Change type of field 'count' to size_t.
43580         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
43581         'unsigned int' where appropriate.
43582         * lib/printf-parse.h: Include sys/types.h.
43583         (char_directive): Change type of *arg_index fields to ssize_t.
43584         (char_directives): Change type of fields 'count', max_*_length to
43585         size_t.
43586         * lib/printf-parse.c: Include sys/types.h and xsize.h.
43587         (SSIZE_MAX): Define fallback value.
43588         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
43589         instead of 'int' where appropriate. Check a_allocated, d_allocated
43590         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
43591         * lib/vasnprintf.c: Include xsize.h.
43592         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
43593         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
43594         overflow. Avoid wraparound when converting a width or precision from
43595         decimal to binary.
43596
43597 2003-11-16  Bruno Haible  <bruno@clisp.org>
43598
43599         Update from GNU gettext.
43600         * lib/printf-parse.c: Generalize to it can be compiled for wide
43601         strings.
43602         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
43603         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
43604         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
43605         SNPRINTF): New macros.
43606         Don't include <alloca.h> if the file is used inside libintl.
43607         (local_wcslen): New function, for Solaris 2.5.1.
43608         (VASNPRINTF): Use it instead of wcslen.
43609
43610 2003-11-16  Bruno Haible  <bruno@clisp.org>
43611
43612         * lib/xsize.h (xmax): New function.
43613         (xsum, xsum3, xsum4): Declare as "pure" functions.
43614
43615 2003-11-12  Paul Eggert  <eggert@twinsun.com>
43616
43617         * modules/xalloc (Files): Undo latest change, since xalloc.h
43618         no longer needs SIZE_MAX or PTRDIFF_MAX.
43619
43620 2003-11-12  Paul Eggert  <eggert@twinsun.com>
43621
43622         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
43623         gl_PTRDIFF_MAX.
43624
43625 2003-11-12  Paul Eggert  <eggert@twinsun.com>
43626
43627         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
43628         "return", to pacify some unknown compiler.  Problem reported
43629         by Joerg Schilling.
43630
43631 2003-11-12  Paul Eggert  <eggert@twinsun.com>
43632
43633         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
43634         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
43635         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
43636         heuristic is just as accurate as far as we know, and it removes a
43637         dependency on size_max.m4 and ptrdiff_max.m4.
43638
43639 2003-11-11  Bruno Haible  <bruno@clisp.org>
43640
43641         * modules/xsize (Files): Add m4/size_max.m4.
43642         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
43643
43644 2003-11-11  Bruno Haible  <bruno@clisp.org>
43645
43646         * m4/size_max.m4: New file.
43647         * m4/ptrdiff_max.m4: New file.
43648         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
43649         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
43650         (gl_XALLOC): Invoke it.
43651
43652 2003-11-11  Bruno Haible  <bruno@clisp.org>
43653
43654         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
43655         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
43656         defined.
43657
43658 2003-11-10  Paul Eggert  <eggert@twinsun.com>
43659
43660         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
43661         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
43662         rejected some allocations of exactly SIZE_MAX - 2 bytes.
43663         From Bruno Haible.
43664         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
43665         not (size_t) -1, since it's defined here.
43666
43667 2003-11-09  Karl Berry  <karl@gnu.org>
43668
43669         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
43670
43671 2003-11-06  Paul Eggert  <eggert@twinsun.com>
43672
43673         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
43674         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
43675         Reject sizes of exactly SIZE_MAX bytes.
43676         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
43677         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
43678
43679 2003-11-05  Bruno Haible  <bruno@clisp.org>
43680
43681         * lib/xsize.h: Include limits.h, to avoid a possible collision with
43682         SIZE_MAX defined in <limits.h> on Solaris.
43683
43684 2003-11-04  Jim Meyering  <jim@meyering.net>
43685
43686         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
43687         variable names, rather than @VAR@.
43688         * modules/poll: Likewise.
43689
43690 2003-11-04  Bruno Haible  <bruno@clisp.org>
43691
43692         * modules/xsize: New file.
43693         * modules/linebreak: Depend on xsize.
43694         * MODULES.html.sh (func_all_modules): Add xsize.
43695
43696 2003-11-04  Bruno Haible  <bruno@clisp.org>
43697
43698         * m4/xsize.m4: New file.
43699
43700 2003-11-04  Bruno Haible  <bruno@clisp.org>
43701
43702         * lib/xsize.h: New file.
43703         * lib/linebreak.c: Include xsize.h.
43704         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
43705         argument for overflow.
43706         Suggested by Paul Eggert.
43707
43708 2003-11-03  Karl Berry  <karl@gnu.org>
43709
43710         * config/config.{guess,sub}: update from config.
43711
43712 2003-11-03  Jim Meyering  <jim@meyering.net>
43713
43714         * modules/userspec (lib_SOURCES): Add userspec.h.
43715         (Include): Add "userspec.h".
43716         Improve description.
43717
43718 2003-11-03  Jim Meyering  <jim@meyering.net>
43719
43720         * lib/userspec.c: Include "userspec.h".
43721         * lib/userspec.h: New file.
43722
43723 2003-11-03  Bruno Haible  <bruno@clisp.org>
43724
43725         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
43726
43727 2003-11-03  Bruno Haible  <bruno@clisp.org>
43728
43729         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
43730         available, to avoid (extremely rare) race condition.
43731         Suggested by Paul Eggert.
43732
43733 2003-11-02  Karl Berry  <karl@gnu.org>
43734
43735         * config/srclist.txt (vasprintf.c): sync broken, sigh.
43736
43737 2003-10-31  Paul Eggert  <eggert@twinsun.com>
43738
43739         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
43740         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
43741         (read_filesystem_list): Set and use me_type_malloced.
43742         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
43743         whatever the type happens to be), for brevity and consistency.
43744         Check for size calculation overflow on Alphas running OSF/1.
43745
43746 2003-10-31  Jim Meyering  <jim@meyering.net>
43747
43748         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
43749
43750         * lib/linebuffer.c: Include <string.h> for declaration of memset.
43751
43752 2003-10-30  Paul Eggert  <eggert@twinsun.com>
43753             Bruno Haible  <bruno@clisp.org>
43754
43755         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
43756         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
43757
43758 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
43759
43760         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
43761         netbsd*-gnu*.  Suggested by Robert Millan.
43762
43763 2003-10-29  Paul Eggert  <eggert@twinsun.com>
43764
43765         * modules/group-member: Depend on stdbool.
43766
43767 2003-10-29  Paul Eggert  <eggert@twinsun.com>
43768
43769         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
43770
43771 2003-10-29  Paul Eggert  <eggert@twinsun.com>
43772
43773         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
43774         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
43775         after the 'gnu' in these cases.  This fixes some bugs in the
43776         previous change, and is based on suggestions by Robert Millan.
43777
43778 2003-10-29  Paul Eggert  <eggert@twinsun.com>
43779
43780         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
43781         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
43782         no longer needed.
43783         * lib/quotearg.c (quotearg_n_options): Use it.
43784         * lib/group-member.c: Include <stdbool.h>.
43785         (free_group_info): Arg is now const *; don't free arg.
43786         (get_group_info): Now returns bool and accepts struct group_info *,
43787         rather than returning a malloc'ed struct group_info *.
43788         All uses changed.  Check for overflow in internal size calculation.
43789
43790         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
43791         rather than xmalloc/xrealloc.
43792         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
43793         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
43794         conformance bug: the old code used a pointer after freeing the
43795         storage that it addressed.
43796         * lib/hash.c (hash_initialize): Simplify the code by using
43797         xalloc_oversized rather than doing it by hand.
43798         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
43799         the buffer preserved.  Use free and xmalloc instead.
43800         * lib/quotearg.c (quotearg_n_options): Likewise.
43801         Use a simpler test for size overflow.  Don't use xalloc_oversized
43802         because unsigned int might be wider than size_t (!); this suggests
43803         that we should switch from unsigned int to size_t for slot numbers.
43804
43805 2003-10-28  Paul Eggert  <eggert@twinsun.com>
43806
43807         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
43808         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
43809         NetBSD kernels.  Requested by Richard Stallman.
43810
43811 2003-10-27  Paul Eggert  <eggert@twinsun.com>
43812
43813         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
43814         to allocate the returned structure.  Do not allocate a subarray,
43815         as x2nrealloc will do that.
43816         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
43817         instead of xnrealloc.
43818         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
43819
43820 2003-10-27  Bruno Haible  <bruno@clisp.org>
43821
43822         * lib/stdbool_.h: Better support for BeOS.
43823
43824 2003-10-26  Paul Eggert  <eggert@twinsun.com>
43825
43826         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
43827         now uses inline.
43828
43829 2003-10-26  Paul Eggert  <eggert@twinsun.com>
43830
43831         * lib/xalloc.h (xalloc_oversized): New static inline function, for
43832         callers that want to do their own size-overflow checking.  Include
43833         <stdbool.h>, since xalloc_oversized returns bool.
43834         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
43835         to use xalloc_oversized.
43836
43837         Add two functions x2realloc, x2nrealloc, for programs that grow
43838         arrays dynamically by doubling their sizes.
43839         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
43840         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
43841         New functions.
43842
43843         Port to C99 semantics for 'inline' of external functions.
43844         Bug reported by Bruno Haible.
43845         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
43846         with the old contents of xnmalloc.
43847         (xnmalloc, xmalloc): Use it.
43848         (xnrealloc_inline): New static inline function,
43849         with the old contents of xnrealloc.
43850         (xnrealloc, xrealloc): Use it.
43851
43852         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
43853         that.
43854
43855 2003-10-26  Karl Berry  <karl@gnu.org>
43856
43857         * config/srclist.txt (COPYING.DOC): no longer available from
43858         /gd/gnuorg; don't know where the ultimate source is.
43859
43860 2003-10-25  Paul Eggert  <eggert@twinsun.com>
43861
43862         Fix several address-calculation bugs in the hash modules,
43863         plus some minor code cleanup.
43864
43865         * lib/hash.h: Include <stdbool.h>, for bool.
43866         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
43867         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
43868         hash_get_n_entries, hash_get_max_bucket_length,
43869         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
43870         hash_rehash): Use size_t rather than unsigned.
43871         * lib/hash.c (struct hash_table, hash_get_n_buckets,
43872         hash_get_n_buckets_used, hash_get_n_entries,
43873         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
43874         hash_get_entries, hash_do_for_each, hash_string, is_prime,
43875         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
43876         Likewise.
43877         (SIZE_MAX): Define if not defined.
43878         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
43879         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
43880         hash_print):
43881         Use const * when possible.
43882         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
43883         (check_tuning): Fix bug: if tuning parameters were very close to
43884         0 or 1, rounding errors could have caused subscript violations.
43885         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
43886         (hash_initialize): Add 'fail:' label
43887         to free table and return NULL, and use it to simplify code.
43888         Use calloc rather than clearing the storage ourself.
43889         (hash_initialize, hash_rehash): Check for arithmetic overflow in
43890         buffer size calculations.
43891         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
43892         Include <stddef.h>, for size_t.
43893         * lib/hash-pjw.c (hash_pjw): Likewise.
43894         Switch to method described by Bruno Haible.
43895         Include <limits.h>, for CHAR_BIT.
43896         (SIZE_BITS): New macro.
43897
43898 2003-10-23  Paul Eggert  <eggert@twinsun.com>
43899
43900         * m4/getline.m4 (AM_FUNC_GETLINE):
43901         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
43902         hosts.  Problem reported by Derek Robert Price in
43903         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
43904         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
43905         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
43906
43907 2003-10-21  Paul Eggert  <eggert@twinsun.com>
43908
43909         * lib/getndelim2.c (getndelim2): When size calculation overflows,
43910         ceiling the allocation at NMAX bytes rather than silently
43911         discarding input bytes before NMAX is reached.  This makes
43912         a difference only if NMAX exceeds SIZE_MAX / 2.
43913
43914         * lib/obstack.c: Merge from glibc.
43915         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
43916         Add libc_hidden_def (_obstack_newchunk).
43917         (_obstack_free) [! defined _LIBC]: Remove.
43918         [defined _LIBC]: Make a strong alias from obstack_free, rather than
43919         a clone of the function body.
43920         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
43921         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
43922
43923         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
43924         glibc.
43925         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
43926         arg to memcpy.
43927
43928         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
43929         (obstack_ptr_grow_fast, obstack_int_grow_fast):
43930         Don't use lvalue casts, as GCC plans to remove support for them
43931         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
43932         was also present in the non-GCC version, indicating that this
43933         code had always been buggy and had never been widely used.
43934         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
43935         Use the fast variant of each macro, rather than copying the
43936         definiens of the fast variant; that way, we'll be more likely to
43937         catch future bugs in the fast variants.
43938
43939 2003-10-20  Bruno Haible  <bruno@clisp.org>
43940
43941         * modules/wait-process: New file.
43942         * MODULES.html.sh (func_all_modules): Add wait-process.
43943
43944 2003-10-20  Bruno Haible  <bruno@clisp.org>
43945
43946         * m4/wait-process.m4: New file.
43947
43948 2003-10-20  Bruno Haible  <bruno@clisp.org>
43949
43950         * lib/wait-process.h: New file, from GNU gettext.
43951         * lib/wait-process.c: New file, from GNU gettext.
43952
43953 2003-10-19  Jim Meyering  <jim@meyering.net>
43954
43955         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
43956         HPUX 10.20.
43957
43958 2003-10-18  Karl Berry  <karl@gnu.org>
43959
43960         * config/config.guess: update from config.
43961
43962 2003-10-16  Paul Eggert  <eggert@twinsun.com>
43963
43964         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
43965         (getgroups): First arg is int, not size_t.
43966         Don't let 'free' mangle errno.
43967
43968 2003-10-16  Paul Eggert  <eggert@twinsun.com>
43969
43970         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
43971
43972 2003-10-16  Karl Berry  <karl@gnu.org>
43973
43974         * config/config.{guess,sub}: update from config.
43975
43976 2003-10-16  Jim Meyering  <jim@meyering.net>
43977
43978         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
43979         memcpy.
43980
43981 2003-10-15  Paul Eggert  <eggert@twinsun.com>
43982
43983         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
43984         (SIZE_MAX): Remove.
43985         (new_exclude, add_exclude_file): Initial size no longer needs to
43986         be a power of 2.
43987         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
43988         our own address arithmetic overflow checking.
43989
43990         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
43991         (fnmatch): Do not alloca more than 2000 wide characters;
43992         instead, use malloc for large buffers.
43993         Check for address arithmetic overflow, and return -1
43994         with errno set to ENOMEM in that case.
43995         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
43996         (NEW_PATTERN): Do not alloca more than 8000 bytes;
43997         instead, return -1.  Check for address arithmetic overflow.
43998
43999 2003-10-14  Paul Eggert  <eggert@twinsun.com>
44000
44001         Handle invalid suffixes and overflow independently, so that
44002         callers can treat them independently as needed.  Fix some bugs in
44003         suffix handling, e.g., "100k@" was not diagnosed as an invalid
44004         suffix for a human-readable blocksize.  The major caller-visible
44005         change is the addition of a new
44006         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
44007         that both overflow and suffix chars were found.
44008
44009         * lib/human.c (humblock): Don't check separately for invalid suffix
44010         char; that is xstrtoumax's job (now that its bug is fixed).
44011         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
44012         INTMAX_MAX]: New macros.
44013         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
44014         TYPE_MAXIMUM): New macros.
44015         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
44016         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
44017         if overflow occurs, as it's what __strtol does and it's more useful
44018         in practice.
44019         (__xstrtol): If __strtol reports some error other than ERANGE,
44020         reflect it to the caller as LONGINT_INVALID.  If it reports
44021         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
44022         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
44023         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
44024         value.
44025         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
44026         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
44027         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
44028         [defined UINTMAX_MAX]: New macros.
44029
44030 2003-10-14  Bruno Haible  <bruno@clisp.org>
44031
44032         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
44033
44034 2003-10-14  Bruno Haible  <bruno@clisp.org>
44035
44036         * m4/sig_atomic_t: New file, from GNU gettext.
44037         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
44038
44039 2003-10-14  Bruno Haible  <bruno@clisp.org>
44040
44041         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
44042         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
44043         Also use volatile where needed.
44044
44045 2003-10-12  Paul Eggert  <eggert@twinsun.com>
44046
44047         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
44048         Change maintainer from Bruno Haible to 'all'.
44049
44050 2003-10-12  Paul Eggert  <eggert@twinsun.com>
44051
44052         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
44053
44054 2003-10-12  Paul Eggert  <eggert@twinsun.com>
44055
44056         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
44057         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
44058         and define in terms of the other primitives.
44059         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
44060         (SIZE_MAX): Define if not already defined.
44061         (array_size_overflow): New function.
44062         (xalloc_die): Abort instead of exiting if 'error' returns.
44063         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
44064         (xmalloc, xrealloc): Use them.
44065         (xcalloc): Check for address arithmetic overflow.
44066         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
44067         a bit faster than strcpy.
44068
44069 2003-10-10  Simon Josefsson  <jas@extundo.com>
44070
44071         * modules/argp (Depends-on): Add restrict and strcase.
44072
44073 2003-10-10  Simon Josefsson  <jas@extundo.com>
44074
44075         * m4/argp.m4: Add AC_C_INLINE.
44076
44077 2003-10-08  Paul Eggert  <eggert@twinsun.com>
44078
44079         Merge getpass from libc, plus a few fixes.
44080
44081         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
44082         Include <stdbool.h>.
44083         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
44084         __fsetlocking to empty.
44085         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
44086         do include <bits/libc-lock.h>.
44087         Do not include <fcntl.h>; not needed.
44088         [_LIBC]: Include <wchar.h>.
44089         (NOTCANCEL_MODE): New macro.
44090         (flockfile, funlockfile) [_LIBC]: New macros.
44091         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
44092         [!_LIBC]: New macros.
44093         (call_fclose): New function.
44094         (getpass): Use it.  Save tty stream separately; this simplifies the
44095         code and makes it more reliable if stdin happens to equal stdout.
44096         Invoke __fsetlocking on tty.
44097         Handle thread cancellation if needed.
44098         Namespace cleanup (use __tcgetattr, __getline).
44099         Use bool for Booleans.
44100         [USE_IN_LIBIO]: Handle wide streams.
44101         [!_LIBC]: Unconditionally do the fseek, since we don't know what
44102         stream might go where.
44103
44104         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
44105         doesn't have to include <stdio.h> before us.
44106         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
44107         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
44108         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
44109         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
44110         if not declared, so that we can use getpass.c code from libc without
44111         rewriting it.
44112         (flockfile, ftrylockfile, funlockfile): New macros.
44113
44114 2003-10-08  Paul Eggert  <eggert@twinsun.com>
44115
44116         * modules/getpass: Depend on stdbool.
44117
44118 2003-10-08  Paul Eggert  <eggert@twinsun.com>
44119
44120         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
44121
44122 2003-10-07  Karl Berry  <karl@gnu.org>
44123
44124         * config/config.{guess,sub}: update from config.
44125
44126 2003-10-06  Jim Meyering  <jim@meyering.net>
44127             Bruno Haible  <bruno@clisp.org>
44128
44129         This lets translators provide better translations for the
44130         "Written by ..." part of --version output.
44131         * lib/version-etc.h: Include stdarg.h.
44132         (version_etc_copyright): Declare as readonly.
44133         (version_etc): Make this function variadic with a NULL-terminated list
44134         of author name strings.
44135         (version_etc_va): New declaration.
44136         * lib/version-etc.c: Include stdarg.h, stdlib.h.
44137         (version_etc_copyright): Declare as readonly.
44138         (version_etc_va): New function. Provide a different translatable string
44139         for each possible number of authors < 10. Abbreviate when there are 10
44140         authors or more.
44141         (version_etc): Make this function variadic. Call version_etc_va.
44142         Suggestion from Gary V. Vaughan.
44143
44144         * lib/long-options.h (parse_long_options): Change prototype: the
44145         authors string is moved to the end and becomes variadic.
44146         * lib/long-options.c: Include stdarg.h.
44147         (parse_long_options): Make this function variadic, too.
44148         Call version_etc_va, not version_etc.
44149
44150 2003-10-06  Bruno Haible  <bruno@clisp.org>
44151
44152         * modules/version-etc-2: Remove file.
44153         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
44154
44155 2003-10-06  Bruno Haible  <bruno@clisp.org>
44156
44157         * modules/fatal-signal: New file.
44158         * MODULES.html.sh (func_all_modules): Add fatal-signal.
44159
44160 2003-10-06  Bruno Haible  <bruno@clisp.org>
44161
44162         * m4/fatal-signal.m4: New file.
44163         * m4/signalblocking.m4: New file, from GNU gettext.
44164
44165 2003-10-06  Bruno Haible  <bruno@clisp.org>
44166
44167         * lib/version-etc-2.h: Remove file.
44168         * lib/version-etc-2.c: Remove file.
44169
44170 2003-10-06  Bruno Haible  <bruno@clisp.org>
44171
44172         * lib/fatal-signal.h: New file, from GNU gettext.
44173         * lib/fatal-signal.c: New file, from GNU gettext.
44174
44175 2003-10-05  Paul Eggert  <eggert@twinsun.com>
44176
44177         * README: Rework advice for preventing empty .o files.
44178         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
44179         not <sys/types.h>.
44180
44181 2003-10-04  Karl Berry  <karl@gnu.org>
44182
44183         * lib/argp*: update from libc.
44184
44185 2003-10-04  Karl Berry  <karl@gnu.org>
44186
44187         * config/config.{guess,sub}: update from config.
44188
44189 2003-10-02  Bruno Haible  <bruno@clisp.org>
44190
44191         * modules/lchown (Include): Add lchown.h.
44192         * modules/time_r (Include): Use "..." syntax.
44193         * modules/xgetdomainname (Include): Add xgetdomainname.h.
44194
44195 2003-10-01  Simon Josefsson  <jas@extundo.com>
44196
44197         * MODULES.html.sh (func_all_modules): Move gethostname from section
44198         'based on' to section 'lacking' POSIX:2001.
44199
44200 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
44201
44202         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
44203         to output mode on the same stream.
44204
44205 2003-09-29  Paul Eggert  <eggert@twinsun.com>
44206
44207         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
44208         Fix arg typo in previous patch.
44209
44210 2003-09-28  Jim Meyering  <jim@meyering.net>
44211
44212         * lib/error.c: Correct cpp indentation.
44213
44214 2003-09-27  Paul Eggert  <eggert@twinsun.com>
44215
44216         * modules/free: New file.
44217
44218 2003-09-27  Paul Eggert  <eggert@twinsun.com>
44219
44220         * m4/free.m4: New file.
44221
44222 2003-09-27  Paul Eggert  <eggert@twinsun.com>
44223
44224         * lib/minmax.h (MIN, MAX)
44225         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
44226         Omit the special code that used __typeof__, since we worry that
44227         it could be more trouble than it's worth.  See:
44228         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
44229         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
44230
44231         * lib/free.c: New file.
44232
44233 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
44234
44235         Trivial fixes to Makefile.am parts of module listings.
44236         * modules/strstr: Append strstr.h to lib_SOURCES.
44237         * modules/strcase: Likewise, for strcase.h.
44238
44239 2003-09-27  Karl Berry  <karl@gnu.org>
44240
44241         * config/mkinstalldirs: update from automake.
44242
44243 2003-09-26  Paul Eggert  <eggert@twinsun.com>
44244
44245         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
44246         (error_tail): Do not loop, reallocating temporary buffer, since
44247         the output cannot contain more wide characters than the input
44248         contains bytes, the size must be big enough already.  This avoids
44249         one potential size overflow calculation.  Check for size overflow
44250         when calculating temporary buffer size.  Free temporary buffer
44251         when done, if it was allocated with malloc; this plugs a memory
44252         leak.  Remove casts from void * to pointers, that are no longer
44253         needed now that we're assuming C89 or better.
44254
44255         Merge error changes from glibc.
44256
44257         * lib/error.c, error.h: Update copyright notice header to match glibc.
44258         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
44259         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
44260         Disable cancellation while printing error.
44261         * lib/error.h: Prepend __ to parameter names.
44262
44263 2003-09-26  Jim Meyering  <jim@meyering.net>
44264
44265         * lib/error.c (error_tail): Move some declarations
44266         into inner scope where the local variables are used.
44267
44268 2003-09-26  Bruno Haible  <bruno@clisp.org>
44269
44270         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
44271         stpncpy().
44272         Don't define stpncpy through config.h; it's now done through stpncpy.h.
44273
44274 2003-09-26  Bruno Haible  <bruno@clisp.org>
44275
44276         * lib/stpncpy.h (gnu_stpncpy): New declaration.
44277         (stpncpy): Define as alias for gnu_stpncpy.
44278         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
44279
44280 2003-09-25  Simon Josefsson  <jas@extundo.com>
44281
44282         * lib/xgetdomainname.h: New file.
44283         * lib/xgetdomainname.c: New file.
44284
44285 2003-09-25  Simon Josefsson  <jas@extundo.com>
44286             Bruno Haible  <bruno@clisp.org>
44287
44288         * modules/getdomainname: New file.
44289         * modules/xgetdomainname: New file.
44290         * MODULES.html.sh (func_all_modules): Add getdomainname,
44291         xgetdomainname.
44292
44293 2003-09-25  Simon Josefsson  <jas@extundo.com>
44294             Bruno Haible  <bruno@clisp.org>
44295
44296         * m4/getdomainname.m4: New file.
44297
44298 2003-09-25  Simon Josefsson  <jas@extundo.com>
44299             Bruno Haible  <bruno@clisp.org>
44300
44301         * lib/getdomainname.h: New file.
44302         * lib/getdomainname.c: New file.
44303
44304 2003-09-25  Karl Berry  <karl@gnu.org>
44305
44306         * lib/argp-fmtstream.c, argp-help.c: update from libc.
44307
44308 2003-09-25  Karl Berry  <karl@gnu.org>
44309
44310         * config/install-sh: update from automake.
44311
44312 2003-09-25  Bruno Haible  <bruno@clisp.org>
44313
44314         * modules/version-etc-2: New file, from modules/version-etc with
44315         modifications.
44316         * MODULES.html.sh (func_all_modules): Add version-etc-2.
44317
44318 2003-09-25  Bruno Haible  <bruno@clisp.org>
44319
44320         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
44321         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
44322
44323 2003-09-24  Simon Josefsson  <jas@extundo.com>
44324
44325         * modules/xgethostname: Add xgethostname.h.
44326
44327 2003-09-24  Paul Eggert  <eggert@twinsun.com>
44328
44329         * lib/linebuffer.c (freebuffer): Don't free the argument, just
44330         the buffer associated with the argument.  Bug reported by
44331         Simon Josefsson.
44332
44333 2003-09-24  Paul Eggert  <eggert@twinsun.com>
44334
44335         * README: Document assumptions that 'int' is at least 32 bits
44336         wide, that integer arithmetic is 2's complement without overflow,
44337         that there are no holes in integer values, that adding sizes of
44338         two nonoverlapping objects can't overflow, and that all-bits-zero
44339         yields scalar zero.  Fix spelling and capitalization typos.
44340
44341 2003-09-19  Karl Berry  <karl@gnu.org>
44342
44343         * lib/argp.h: update from libc.
44344
44345 2003-09-17  Paul Eggert  <eggert@twinsun.com>
44346
44347         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
44348         to avoid spurious warnings like "AC_RUN_IFELSE was called before
44349         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
44350
44351 2003-09-17  Paul Eggert  <eggert@twinsun.com>
44352
44353         * gnulib-tool: Use "test -h", not "test -L", for portability
44354         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
44355         (tags_regexp): Remove, since \| doesn't conform to POSIX.
44356         (sed_extract_prog): Issue s commands one-by-one, rather than
44357         using \| in one s command.
44358
44359 2003-09-16  Paul Eggert  <eggert@twinsun.com>
44360
44361         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
44362         input error, instead of returning NULL the next time we are called
44363         (and therefore losing track of errno).
44364
44365 2003-09-16  Bruno Haible  <bruno@clisp.org>
44366
44367         * gnulib-tool (func_create_testdir): Warn about duplicated
44368         dependencies.
44369
44370 2003-09-15  Paul Eggert  <eggert@twinsun.com>
44371
44372         * modules/argmatch, modules/fatal, modules/obstack,
44373         modules/xalloc, modules/xgethostname: Sort dependencies by
44374         importance, not alphabetically.
44375
44376 2003-09-15  Paul Eggert  <eggert@twinsun.com>
44377
44378         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
44379         fails, so that the caller gets the proper errno.
44380
44381         * lib/readutmp.c (read_utmp): Likewise.
44382         Check for fstat error.  Close stream and free storage
44383         when failing.
44384
44385 2003-09-14  Karl Berry  <karl@gnu.org>
44386
44387         * config/srclist.txt (strdup.c): disable for c89 changes.
44388
44389 2003-09-14  Jim Meyering  <jim@meyering.net>
44390
44391         * lib/getloadavg.c: Correct cpp indentation.
44392         * lib/strdup.c: Likewise.
44393         * lib/vasnprintf.c: Likewise.
44394
44395 2003-09-14  Bruno Haible  <bruno@clisp.org>
44396
44397         * modules/fwriteerror: New file.
44398         * MODULES.html.sh (func_all_modules): Add fwriteerror.
44399
44400 2003-09-14  Bruno Haible  <bruno@clisp.org>
44401
44402         * lib/fwriteerror.h: New file.
44403         * lib/fwriteerror.c: New file.
44404
44405 2003-09-12  Paul Eggert  <eggert@twinsun.com>
44406
44407         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
44408         modules/xgethostname, modules/xalloc: Depend on exit.
44409
44410 2003-09-12  Paul Eggert  <eggert@twinsun.com>
44411
44412         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
44413
44414         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
44415         and AC_MINIX, too, so that their extensions are available.
44416
44417         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
44418         This macro has been superseded by gl_BACKUPFILE.
44419
44420         More patches to assume C89 or better.
44421
44422         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
44423
44424         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
44425         unconditionally.
44426         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
44427         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
44428         Include <string.h>, <stdlib.h> unconditionally.
44429         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
44430         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
44431         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
44432         headers or for string.h.
44433         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
44434         or strtoul.
44435
44436         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
44437         headers.
44438         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
44439         * m4/userspec.m4 (gl_USERSPEC): Likewise.
44440         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
44441         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
44442         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
44443         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
44444         memcpy, memset.
44445         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
44446         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
44447         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
44448         strtol.
44449         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
44450         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
44451         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
44452         strtoul.
44453
44454 2003-09-12  Paul Eggert  <eggert@twinsun.com>
44455
44456         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
44457         * lib/obstack.c [!defined _LIBC]: Likewise.
44458         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
44459         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
44460         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
44461
44462         More changes to assume C89 or better.
44463
44464         * lib/error.c (error_tail): Assume vprintf.
44465
44466         * lib/argmatch.c (getenv): Remove decl.
44467         * lib/progreloc.c (get_full_program_name): Define via prototype.
44468         * lib/setenv.c (clearenv): Likewise.
44469         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
44470         needed.
44471         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
44472         (malloc, memcpy): Remove decls.
44473         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
44474         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
44475         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
44476         (memcpy): Remove macro.
44477         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
44478         (__P): Remove.  All uses removed.
44479         (PTR): Remove.  All uses changed to void *.
44480         (CHAR_BIT, NULL): Remove.
44481         (spaces, zeros, memset_space, memset_zero)
44482         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
44483         Remove.
44484         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
44485         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
44486         Define with prototype.
44487         Remove now-unnecessary prototype decl.
44488         (extra_args_spec): Assume ANSI C.  All uses changed.
44489         (extra_args_spec_iso): Remove.
44490         (my_strftime, emacs_strftimeu): Define via prototype.
44491         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
44492         unconditionally.
44493         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
44494         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
44495         (strtoul, strtol): Remove decls.
44496         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
44497         LONG_MAX): Remove.
44498         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
44499         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
44500         (LOCALE_PARAM_PROTO): New macro.
44501         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
44502         (INTERNAL (strtol), strtol): Define with a prototype.
44503         (PARAMS): Remove.  All uses removed.
44504         * lib/tempname.c: Include <string.h> unconditionally.
44505         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
44506         * lib/xgethostname.c (main): Define with a prototype.
44507         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
44508         Include <stdlib.h> unconditionally.
44509         (calloc, malloc, realloc, free): Remove decls.
44510         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
44511         Include <stdlib.h> unconditionally.  Sort include file names.
44512         (strtod): Remove.
44513         (xstrtod): Define with a prototype.
44514         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
44515         (strtol, strtoul): Remove decls.
44516
44517 2003-09-11  Paul Eggert  <eggert@twinsun.com>
44518
44519         More patches to assume C89 or better.
44520         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
44521         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
44522         string.h, memchr, STDC_HEADERS.
44523
44524 2003-09-11  Paul Eggert  <eggert@twinsun.com>
44525
44526         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
44527         Include <stdlib.h>, <string.h> unconditionally.
44528         Remove now-unnecessary cast to char *.
44529         * lib/strnlen.c: Include <string.h> unconditionally.
44530         * lib/yesno.c (yesno): Define with a prototype.
44531
44532 2003-09-11  Bruno Haible  <bruno@clisp.org>
44533
44534         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
44535
44536 2003-09-10  Jim Meyering  <jim@meyering.net>
44537
44538         * lib/error.c: Correct indentation of cpp directives.
44539
44540 2003-09-10  Bruno Haible  <bruno@clisp.org>
44541
44542         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
44543         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
44544         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
44545         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
44546         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
44547         <stdlib.h> and <string.h> checks.
44548         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
44549         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
44550
44551 2003-09-10  Bruno Haible  <bruno@clisp.org>
44552
44553         * lib/strcspn.c: Include <string.h> unconditionally.
44554         * lib/strpbrk.c: Include <string.h> unconditionally.
44555         * lib/strstr.c: Include <string.h> unconditionally.
44556         * lib/unicodeio.c: Include <string.h> unconditionally.
44557         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
44558         * lib/unsetenv.c: Likewise.
44559         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
44560         * lib/yesno.c: Include <stdlib.h> unconditionally.
44561         (rpmatch): Add prototype.
44562
44563 2003-09-09  Paul Eggert  <eggert@twinsun.com>
44564
44565         More patches to assume C89 or better.
44566         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
44567         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
44568         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
44569         or for string.h.
44570         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
44571         stdlib.h.
44572         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
44573         C headers.
44574         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
44575         string.h.
44576         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
44577         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
44578         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
44579         or for string.h.
44580         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
44581         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
44582         C headers.
44583         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
44584         memcpy.
44585         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
44586         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
44587         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
44588         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
44589         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
44590         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
44591         string.h, free.
44592         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
44593         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
44594         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
44595         C headers, or for string.h.
44596         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
44597         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
44598         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
44599         headers, memory.h, stdlib.h, string.h, strings.h.
44600         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
44601         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
44602         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
44603         strchr.
44604         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
44605         headers, memory.h, string.h.
44606         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
44607         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
44608         free.
44609         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
44610         headers.
44611         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
44612         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
44613         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
44614         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
44615         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
44616
44617 2003-09-09  Paul Eggert  <eggert@twinsun.com>
44618
44619         More K&R removal.
44620
44621         * lib/acosl.c (main): Use a prototype.
44622         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
44623         tanl.c: Likewise.
44624
44625         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
44626
44627         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
44628         (getopt, etopt_long, getopt_long_only, _getopt_internal)
44629         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
44630         with a prototype.
44631         * lib/getopt.c (const): Remove macro.
44632         Include <string.h> unconditionally.
44633         (my_index): Remove; all uses changed to strchr.
44634         (strlen): Remove decl.
44635         (exchange): Remove forward decl; no longer needed.
44636         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
44637         Define with prototype.
44638         * lib/getopt1.c (const): Remove macro.
44639         (getopt_long, getopt_long_only, main): Define with prototype.
44640
44641         * lib/getugroups.c: Include <string.h> unconditionally.
44642
44643         * lib/getusershell.c: Include <stdlib.h> unconditionally.
44644         (getusershell, setusershell, endusershell, readname, main):
44645         Define with prototypes.
44646
44647         * lib/group-member.c: Include group-member.h first.
44648         Include <stdlib.h> unconditionally.
44649
44650         * lib/hard-locale.c: Include hard-locale.h first.
44651         Include <stdlib.h>, <string.h> unconditionally.
44652
44653         * lib/hash.c (free, malloc): Remove decls.
44654         Include <stdlib.h> unconditionally.
44655
44656         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
44657         (getenv): Do not declare.
44658
44659         * lib/idcache.c: Include <string.h> unconditionally.
44660
44661         * lib/long-options.c: Include long-options.h first, to test interface.
44662         Include <stdlib.h> unconditionally.
44663
44664         * lib/makepath.c: Include makepath.h first, to test interface.
44665         Include <stdlib.h> and <string.h> unconditionally.
44666
44667         * lib/linebuffer.c: Include <stdlib.h>.
44668         (free): Remove decl.
44669
44670         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
44671         stddef.h. rpl_malloc returns void *, not char *.
44672         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
44673         prototype.
44674
44675         * lib/md5.h: Include <limits.h> unconditionally.
44676         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
44677         (__P): Remove; all uses removed.
44678         * lib/md5.c: Include "md5.h" first.
44679         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
44680         md5_buffer, md5_process_bytes, md5_process_block):
44681         Define with prototypes.
44682         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
44683         * lib/sha.c: Include "sha.h" first.
44684         Include <stdlib.h>, <string.h> unconditionally.
44685
44686         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
44687         * lib/memcmp.c (__ptr_t): Likewise.
44688         * lib/memrchr.c (__ptr_t): Likewise.
44689         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
44690         Include <string.h> unconditionally.
44691         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
44692         * lib/memchr.c: Include <stdlib.h> unconditionally.
44693         * lib/memchr.c (LONG_MAX): Remove.
44694         * lib/memrchr.c (LONG_MAX): Likewise.
44695         * lib/memchr.c (__memchr): Define via a prototype.
44696         * lib/memrchr.c (__memrchr): Likewise.
44697         * lib/memcmp.c (__P): Remove, and remove all uses.
44698         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
44699         Remove forward decls; no longer needed.
44700         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
44701         Use types required by C89 in prototype.
44702
44703         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
44704         * lib/savedir.c: Likewise.
44705         * lib/mkdir.c (free): Remove decl.
44706         * lib/rmdir.c (rmdir): Define with a prototype.
44707         * lib/savedir.c: Include savedir.h first, to test interface.
44708
44709         * lib/mktime.c (STDC_HEADERS): Remove.
44710         Include <stdlib.h>, <string.h> unconditionally.
44711
44712         * lib/modechange.c: Include <stdlib.h> unconditionally.
44713         (malloc): Remove decl.
44714
44715         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
44716         (free): Remove decl.
44717
44718         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
44719         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
44720         (This type really should be intptr_t, but that's a C99ism.)
44721         (_obstack_memcpy): Remove: all uses changed to memcpy.
44722         Include <string.h> unconditionally.
44723         (struct obstack): Assume __STDC__ for types of members
44724         chunkfun, freefun, extra_arg.
44725         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
44726         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
44727         obstack_begin, obstack_specify_allocation,
44728         obstack_specify_allocation_with_arg, obstack_chunkfun,
44729         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
44730         Remove unprototyped decls and the macros that use them.
44731         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
44732         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
44733         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
44734         (defined __STDC__ && __STDC__)]:
44735         Remove nonprototyped code.
44736         Include <stdlib.h> unconditionally.
44737         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
44738         _obstack_allocated_p, _obstack_free, obstack_free,
44739         _obstack_memory_used, print_and_abort):
44740         Define using prototypes.
44741         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
44742         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
44743         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
44744         obstack_next_free, obstack_object_size, obstack_room) [0]:
44745         Remove unused, unprototyped code.
44746
44747         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
44748
44749         * lib/physmem.c (physmem_total, physmem_available, main): Define
44750         with prototypes.
44751
44752         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
44753         (main): Define with a prototype.
44754
44755         * lib/posixver.c (getenv): Remove decl.
44756
44757         * lib/putenv.c (malloc): Returns void *, not char *.
44758         Include <string.h> unconditionally.
44759         (strchr, memcpy, NULL): Do not define.
44760
44761         * lib/readtokens.c: Include readtokens.h first, to test interface.
44762         Include <stdlib.h>, <string.h> unconditionally.
44763         (init_tokenbuffer): Define with a prototype.
44764
44765         * lib/regex.c (PARAMS): Remove.  All uses removed.
44766         All uses of _RE_ARGS removed, too.
44767         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
44768         unconditionally.
44769         (bzero): Assume memset exists.
44770         (memcmp, memcpy, NULL): Remove.
44771         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
44772         char, or assignments to local vars of type signed char.
44773         (init_syntax_once, PREFIX(extract_number_and_incr),
44774         PREFIX(print_partial_compiled_pattern),
44775         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
44776         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
44777         PREFIX(regex_grow_registers), PREFIX(regex_compile),
44778         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
44779         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
44780         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
44781         wcs_compile_range, byte_compile_range, truncate_wchar,
44782         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
44783         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
44784         count_mbs_length, wcs_re_match_2_internal,
44785         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
44786         PREFIX(alt_match_null_string_p),
44787         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
44788         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
44789         regfree, PREFIX(extract_number)): Define with prototype.  Remove
44790         now-unnecessary declaration, if any.
44791         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
44792         regcomp, regexec):
44793         Remove now-unnecessary casts among pointer types.
44794         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
44795
44796         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
44797         (free): Remove decl.
44798
44799         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
44800
44801         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
44802         (free): Remove decl.
44803
44804         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
44805         * lib/xgetcwd.c: Likewise.
44806
44807         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
44808         (free): Remove decl.
44809
44810         * lib/strchrnul.c (strchrnul): Define with a prototype.
44811         Fix bug: c_in was not converted to char before searching.
44812
44813         The following changes are not K&R related:
44814
44815         * lib/group-member.h: Include <sys/types.h>, so that this file is
44816         self-contained.
44817         * lib/makepath.h: Likewise.
44818
44819         * lib/getusershell.c (readname, default_index, line_size, readname):
44820         Use size_t, not int, for sizes.
44821         (readname): If the size overflows, report an error instead of
44822         looping forever.
44823
44824 2003-09-09  Paul Eggert  <eggert@twinsun.com>
44825
44826         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
44827         libc.
44828
44829 2003-09-09  Paul Eggert  <eggert@twinsun.com>
44830
44831         * README: New section: portability guidelines.
44832
44833 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
44834
44835         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
44836         C89 spec.
44837
44838 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
44839
44840         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
44841
44842 2003-09-08  Paul Eggert  <eggert@twinsun.com>
44843
44844         Assume C89 or better; remove K&R cruft.
44845         A few of these changes were first proposed by Derek Robert Price
44846         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
44847
44848         * lib/addext.c: Include <string.h> unconditionally.
44849         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
44850         Don't declare getenv or malloc.
44851
44852         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
44853         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
44854         (NULL): Remove.
44855         (find_stack_direction, alloca): Use prototypes.
44856
44857         * lib/atexit.c (atexit): Define using a prototype.
44858
44859         * lib/basename.c, dirname.c, stripslash.c:
44860         Include <string.h> unconditionally.
44861
44862         * lib/bcopy.c: Include <stddef.h>.
44863         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
44864
44865         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
44866
44867         * lib/error.h (error, error_at_line, error_print_progname)
44868         [! (defined (__STDC__) && __STDC__)]: Remove decls.
44869         * lib/error.c: Include error.h first, to check interface.
44870         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
44871         (VA_START): Remove; all uses changeed to va_start.
44872         (exit, strerror): Remove decls.
44873         (error_print_progname): Prototype uncondionally.
44874         Don't include <errno.h>; no longer needed.
44875         (private_strerror): Remove.
44876         (error_tail): Always define.
44877         (error, error_at_line): Assume C89 or better; always use prototypes.
44878         * lib/fatal.c: Include "fatal.h" first, to test interface.
44879         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
44880         (VA_START): Remove; all uses changed to va_start.
44881         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
44882         this case.
44883         (exit): Remove decl.
44884         (fatal): Prototype unconditionally.  Assume va_start works.
44885         Abort at end, to pacify gcc.
44886
44887         * lib/euidaccess.c (main): Define with a prototype.
44888
44889         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
44890
44891         * lib/exitfail.c: Include <stdlib.h> unconditionally.
44892
44893         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
44894         prototypes.
44895         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
44896         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
44897         (getenv): Remove decl.
44898         (fnmatch): Define using a prototype.
44899         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
44900         (FCT): Define using a prototype.
44901
44902         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
44903
44904         * lib/gethostname.c: Include <stddef.h>.
44905         (gethostname): Define with prototype.  Length is size_t, not int.
44906
44907 2003-09-08  Paul Eggert  <eggert@twinsun.com>
44908
44909         Assume C89 or better; remove K&R cruft.
44910         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
44911         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
44912         string.h, getenv, malloc.
44913         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
44914         headers.
44915         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
44916         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
44917         do not check for strerror.
44918         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
44919         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
44920         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
44921         do not check for doprnt or vprintf.
44922         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
44923         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
44924
44925 2003-09-08  Paul Eggert  <eggert@twinsun.com>
44926
44927         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
44928         getversion.c should have been removed then, but was accidentally
44929         preserved.
44930
44931         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
44932         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
44933
44934 2003-09-08  Karl Berry  <karl@gnu.org>
44935
44936         * config/config.sub, config.guess, srclistvars.sh: update from savannah
44937                 config, forget about prep.
44938
44939         * config/depcomp, missing: update from automake.
44940
44941 2003-09-07  Paul Eggert  <eggert@twinsun.com>
44942
44943         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
44944         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
44945
44946 2003-09-07  Paul Eggert  <eggert@twinsun.com>
44947
44948         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
44949         copy_tm_result.  Bug reported by Simon Josefsson in
44950         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
44951
44952 2003-09-06  Paul Eggert  <eggert@twinsun.com>
44953
44954         * m4/time_r.m4: New file.
44955         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
44956         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
44957         is. Check for timegm declaration.
44958         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
44959         Do not check for gmtime_r.
44960         Replace mktime if __mktime_internal does not exist and if mktime
44961         hasn't been replaced already.
44962
44963 2003-09-06  Paul Eggert  <eggert@twinsun.com>
44964
44965         * lib/time_r.c, lib/time_r.h: New files.
44966
44967         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
44968         __localtime_r.
44969         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
44970         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
44971
44972         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
44973         __gmtime_r.
44974         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
44975         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
44976         Include <time_r.h>.
44977
44978         * lib/timegm.c: Switch to glibc implementation, with the following
44979         changes:
44980         [defined HAVE_CONFIG_H]: Include <config.h>.
44981         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
44982         (__mktime_internal) [!defined _LIBC]: New decl.
44983         (__gmtime_r) [!defined _LIBC]: New macro and function.
44984         (timegm): Use a prototype, since gnulib assumes C89.
44985         Do not bother declaring tmp to be const, as it's not really usefu.
44986         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
44987         (timegm): Declare only if HAVE_DECL_TIMEGM.
44988
44989 2003-09-06  Paul Eggert  <eggert@twinsun.com>
44990
44991         * MODULES.html.sh (func_all_modules): Add time_r.
44992         * modules/time_r: New file.
44993         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
44994         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
44995
44996 2003-09-03  Paul Eggert  <eggert@twinsun.com>
44997
44998         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
44999         Bug reported by Lute Kamstra in
45000         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
45001
45002         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
45003         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
45004         course with correspondingly smaller numbers for tomorrow and
45005         yesterday.  From Tadayoshi Funaba.  Originally installed into
45006         sh-utils on 1999-08-07, but the patch got lost (I guess during the
45007         coreutils merge?).
45008
45009 2003-08-31  Simon Josefsson  <jas@extundo.com>
45010
45011         * modules/timegm: New file.
45012         * MODULES.html.sh (func_all_modules): Add timegm.
45013
45014 2003-08-31  Simon Josefsson  <jas@extundo.com>
45015
45016         * m4/timegm.m4: New file.
45017
45018 2003-08-31  Simon Josefsson  <jas@extundo.com>
45019
45020         * lib/timegm.h: New file.
45021         * lib/timegm.c: New file.  Based on
45022         wget-1.8.2/src/http.c:mktime_from_utc.
45023
45024 2003-08-31  Karl Berry  <karl@gnu.org>
45025
45026         * lib/argp.h: update from libc.
45027
45028 2003-08-28  Bruno Haible  <bruno@clisp.org>
45029
45030         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
45031         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
45032         followed by '#define fnmatch fnmatch_posix' gives an error.
45033
45034 2003-08-28  Bruno Haible  <bruno@clisp.org>
45035
45036         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
45037         warning on QNX, which defines O_BINARY to 000000.
45038
45039 2003-08-27  Jim Meyering  <jim@meyering.net>
45040
45041         * m4/mkstemp.m4: Require that the system mkstemp be able to create
45042         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
45043         would fail after 32.  Reported by Danny Levinson.  Details here:
45044         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
45045
45046 2003-08-24  Bruno Haible  <bruno@clisp.org>
45047
45048         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
45049         MSVC7 <stdio.h> is included later.
45050
45051 2003-08-22  Simon Josefsson  <jas@extundo.com>
45052
45053         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
45054
45055 2003-08-20  Karl Berry  <karl@gnu.org>
45056
45057         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
45058
45059 2003-08-20  Bruno Haible  <bruno@clisp.org>
45060
45061         * modules/progname: New file.
45062         * MODULES.html.sh (func_all_modules): Add progname.
45063
45064 2003-08-20  Bruno Haible  <bruno@clisp.org>
45065
45066         * lib/progname.h: New file, from GNU gettext.
45067         * lib/progname.c: New file, from GNU gettext.
45068         * lib/progreloc.c: New file, from GNU gettext.
45069
45070 2003-08-19  Jim Meyering  <jim@meyering.net>
45071
45072         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
45073         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
45074
45075 2003-08-19  Bruno Haible  <bruno@clisp.org>
45076
45077         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
45078         more.
45079
45080 2003-08-19  Bruno Haible  <bruno@clisp.org>
45081
45082         * lib/xstrdup.c: Assume <string.h> exists.
45083
45084 2003-08-18  Paul Eggert  <eggert@twinsun.com>
45085
45086         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
45087         in makefile rules.
45088
45089 2003-08-18  Jim Meyering  <jim@meyering.net>
45090
45091         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
45092         * m4/lib-ld.m4: Likewise.
45093
45094 2003-08-18  Jim Meyering  <jim@meyering.net>
45095
45096         * lib/setenv.h: Indent nested cpp directive.
45097         * lib/vasnprintf.c: Remove trailing blanks.
45098
45099 2003-08-17  Simon Josefsson  <jas@extundo.com>
45100
45101         * modules/xstrndup: New file.
45102         * MODULES.html.sh (func_all_modules): Add xstrndup.
45103
45104 2003-08-17  Simon Josefsson  <jas@extundo.com>
45105
45106         * modules/argp: Fix autoconf macro name. Add more dependencies.
45107
45108 2003-08-17  Simon Josefsson  <jas@extundo.com>
45109
45110         * m4/xstrndup.m4: New file.
45111
45112 2003-08-17  Simon Josefsson  <jas@extundo.com>
45113
45114         * m4/argp.m4: New file.
45115
45116 2003-08-17  Simon Josefsson  <jas@extundo.com>
45117             Bruno Haible  <bruno@clisp.org>
45118
45119         * lib/xstrndup.h: New file.
45120         * lib/xstrndup.c: New file.
45121
45122 2003-08-17  Bruno Haible  <bruno@clisp.org>
45123
45124         * modules/strndup (Files, Include): Add lib/strndup.h.
45125
45126 2003-08-17  Bruno Haible  <bruno@clisp.org>
45127
45128         * modules/euidaccess (Files): Add lib/euidaccess.h.
45129
45130 2003-08-17  Bruno Haible  <bruno@clisp.org>
45131
45132         * lib/strndup.h: New file.
45133
45134 2003-08-17  Bruno Haible  <bruno@clisp.org>
45135
45136         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
45137         like AC_GNU_SOURCE.
45138         * modules/extensions (configure.ac): Comment out the invocation of
45139         gl_USE_SYSTEM_EXTENSIONS.
45140
45141 2003-08-16  Paul Eggert  <eggert@twinsun.com>
45142
45143         Merges from coreutils, etc.
45144         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
45145         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
45146         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
45147         fixing a typo.
45148         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
45149         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
45150
45151 2003-08-16  Paul Eggert  <eggert@twinsun.com>
45152
45153         Document merge from coreutils.
45154         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
45155         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
45156         * modules/utime: Add m4/utimes-null.m4.
45157
45158 2003-08-16  Paul Eggert  <eggert@twinsun.com>
45159
45160         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
45161         space, undoing this 2003-08-12 change:
45162         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
45163
45164 2003-08-16  Paul Eggert  <eggert@twinsun.com>
45165
45166         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
45167         strtoul.c from libc, undoing this 2003-08-12 change:
45168         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
45169
45170 2003-08-16  Jim Meyering  <jim@meyering.net>
45171
45172         Merges from coreutils.
45173         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
45174         prefix.  Adjust cache variables similarly.  Create 500 rather than
45175         just 300 files, to exercise bug on Darwin6.5, too.
45176         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
45177         $missing_dir.
45178         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
45179         AM_SYS_POSIX_TERMIOS.
45180         Reported by mkc@mathdogs.com.
45181         Also change use of $am_cv_sys_posix_termios
45182         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
45183         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
45184         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
45185         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
45186         in /proc/mounts until it finds one with matching device number.  This
45187         is unnecessary when the FILE argument *is* a mount point.  No stat call
45188         is necessary in that case.  So, disable the statvfs-testing code on
45189         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
45190         as RedHat bug# 84846.
45191         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
45192         to 1MB, so as not to render systems with no stack size limit (e.g.,
45193         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
45194         Include <unistd.h>.  On some systems,
45195         it is required for the definition of _SC_PAGESIZE.
45196
45197 2003-08-16  Jim Meyering  <jim@meyering.net>
45198
45199         Merge from coreutils.
45200         * lib/xstrtoimax.c: #else #if -> #elif.
45201         * lib/xstrtoumax.c: Likewise.
45202
45203 2003-08-16  Jim Meyering  <jim@meyering.net>
45204
45205         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
45206         * m4/utimes.m4: Removed.
45207         * m4/utimes-null.m4: Renamed from utimes.m4.
45208
45209         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
45210         to 1MB, so as not to render systems with no stack size limit (e.g.,
45211         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
45212         Include <unistd.h>.  On some systems,
45213         it is required for the definition of _SC_PAGESIZE.
45214
45215 2003-08-16  Jim Meyering  <jim@meyering.net>
45216         and Paul Eggert  <eggert@cs.ucla.edu>
45217
45218         Merges from coreutils, etc.
45219
45220         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
45221         using the latest version from cvs.  This avoids problems with #line
45222         directives using a vendor (Sun) compiler.
45223         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
45224         Don't set GETGROUPS_LIB here; now it's
45225         done via getgroups.m4's wrapper function.
45226         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
45227         rather than just in sh-util/configure.in, so that the
45228         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
45229         same.
45230         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
45231         AC_FUNC_GETLOADAVG where to find getloadavg.c.
45232         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
45233         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
45234         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
45235         Remove code that is now done by the newly-required macros.
45236         Append $(EXEEXT) to DF_PROG.
45237         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
45238         Do not invoke or require the following here,
45239         since prereq.m4 or some gnulib .m4 now does this for us:
45240         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
45241         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
45242         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
45243         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
45244         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
45245         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
45246         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
45247         AC_FUNC_OBSTACK.
45248         Do not replace the following functions, as this is now the job
45249         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
45250         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
45251         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
45252         atexit getpass, strdup, getpagesize.
45253         Replace 'raise'.
45254         Do not check for the following functions, as this is now the job
45255         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
45256         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
45257         setregid.
45258         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
45259         Check for sys/sysctl.h.
45260         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
45261         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
45262         of checking for ssize_t ourselves.
45263
45264         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
45265         Require every macro that gnulib/modules/* suggests for us.
45266         (jm_PREREQ_ADDEXT): New macro.
45267         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
45268         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
45269
45270         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
45271         (gl_PHYSMEM): Use it.
45272         Also check for `table' function.
45273         Check for new headers and functions.
45274         Add check for sys/sysmp.h.
45275         With suggestions from Kaveh Ghazi.
45276         Ignore headers that are present but cannot be compiled.  This
45277         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
45278         C 5.4.
45279
45280 2003-08-15  Paul Eggert  <eggert@twinsun.com>
45281
45282         Document merge from coreutils.
45283         * modules/userspec: Depend on posixver.
45284         * modules/strftime: Depend on tzset.
45285
45286 2003-08-15  Paul Eggert  <eggert@twinsun.com>
45287
45288         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
45289         rather than tab, after '#' in shell-script copyright notices.
45290         Suggested by Bruno Haible.
45291
45292 2003-08-15  Paul Eggert  <eggert@twinsun.com>
45293
45294         * config/srclist-update: Use three spaces, rather than tab, after '#'
45295         in shell-script copyright notices.  Suggested by Bruno Haible.
45296         Remove unnecessary parenthesization in regular expression.
45297
45298 2003-08-15  Jim Meyering  <jim@meyering.net>
45299
45300         Merge from coreutils.
45301         * lib/xgethostname.c: Include <stdlib.h>.
45302         (xghostname): Don't exit for anything other than memory-related
45303         failure; just return NULL.
45304         * lib/userspec.c: Include "posixver.h".
45305         (parse_user_spec): Accept `.' as a separator only
45306         in pre-POSIX-200112 mode.
45307         * lib/strtoimax.c: Use #elif rather than #else #if.
45308         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
45309         Remove function, now that we can rely on a working tzset function.
45310         [!_LIBC]: Ensure that the required autoconf test has been run.
45311         [!defined _NL_CURRENT && HAVE_STRFTIME]:
45312         Use underlying_strftime for %r.
45313         * lib/sha.c: Merge in some clean-up and optimization changes from
45314         glibc.
45315         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
45316         Ensure that it is a multiple of 64.
45317         Rearrange loop exit tests so as to avoid performing an
45318         additional fread after encountering an error or EOF.
45319         * lib/realloc.c: Update copyright date.
45320
45321 2003-08-15  Jim Meyering  <jim@meyering.net>
45322         and Paul Eggert  <eggert@twinsun.com>
45323
45324         Merge from coreutils.
45325         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
45326         member but strut utmpx does not.  Needed for AIX 4.3.3.
45327         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
45328
45329 2003-08-15  Jim Meyering  <jim@meyering.net>
45330         and Paul Eggert  <eggert@cs.ucla.edu>
45331
45332         Merges from coreutils, etc.
45333         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
45334         Require gl_FUNC_TZSET_CLOBBER.
45335         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
45336         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
45337         members.
45338
45339 2003-08-14  Paul Eggert  <eggert@twinsun.com>
45340
45341         Help the merge from coreutils.
45342         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
45343         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
45344         * m4/tzset.m4: Use it too.
45345
45346 2003-08-14  Paul Eggert  <eggert@twinsun.com>
45347
45348         * modules/tzset: New file.
45349
45350 2003-08-14  Jim Meyering  <jim@meyering.net>
45351
45352         Merges from coreutils.
45353         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
45354         variable names, rather than @FNMATCH_H@.
45355         * modules/alloca: Likewise for $(ALLOCA_H).
45356
45357         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
45358         the three copies of the literal target, `fnmatch.h'.
45359         * modules/alloca (alloca.h): Likewise.
45360
45361 2003-08-14  Jim Meyering  <jim@meyering.net>
45362
45363         Merge from coreutils.
45364         * m4/tzset.m4: New file.
45365         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
45366         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
45367         otherwise, AIX 5.1 systems would end up using the latter.
45368         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
45369         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
45370         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
45371         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
45372
45373 2003-08-14  Jim Meyering  <jim@meyering.net>
45374
45375         Merge from coreutils.
45376         * lib/obstack.h: Whitespace changes.
45377         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
45378         and xcalloc return values.
45379         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
45380         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
45381         hang on OSF/1 5.1 for DIR on both local and remote file systems.
45382         Reported by (and fix confirmed by) Nelson H. F. Beebe.
45383         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
45384         error from mntctl.
45385         Use mntctl's return value to drive the entry-processing loop, since
45386         we can't rely on the value of the vmt_length member in the last
45387         entry.  On some systems doing so could result in exhausting
45388         virtual memory.  Based in part on a patch from Mike Jetzer.
45389
45390 2003-08-14  Jim Meyering  <jim@meyering.net>
45391         and Paul Eggert  <eggert@twinsun.com>
45392
45393         Merges from coreutils, plus other fixes.
45394         * lib/physmem.c: Merge in portability changes from gcc/libiberty
45395         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
45396         for credits and details.  Thanks to Kaveh Ghazi for helping
45397         to keep these files in sync.
45398         (ARRAY_SIZE): Define it.
45399         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
45400         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
45401         (memcasecmp): Don't assume size_t fits in unsigned int.
45402         Remove casts and duplicate code.
45403         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
45404         (memcpy): Remove definition.
45405         Merge in some clean-up and optimization changes from glibc.
45406         [BLOCKSIZE]: Move definition to top of file.
45407         Ensure that it is a multiple of 64.
45408         Rearrange loop exit tests so as to avoid performing an
45409         additional fread after encountering an error or EOF.
45410         * lib/md5.h (md5_uintptr): Define.
45411         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
45412         return to the initial working directory.  Preserve errno
45413         for caller.
45414         * lib/idcache.c: Include "xalloc.h".
45415         (xmalloc, xrealloc): Remove decls.
45416         (getuser): Remove casts no longer required in C89.
45417         * lib/human.c: Include stdio.h, for sprintf.
45418         * lib/group-member.c: Include "xalloc.h".
45419         (xmalloc, xrealloc): Remove decls.
45420         (get_group_info): Remove casts no longer required in C89.
45421         * lib/getusershell.c (readname): Remove casts no longer required in
45422         C89.
45423         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
45424         * lib/getline.c: Whitespace fix, from coreutils.
45425
45426 2003-08-13  Paul Eggert  <eggert@twinsun.com>
45427
45428         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
45429         Check for isascii.
45430
45431         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
45432         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
45433         Undo previous (whitespace-only) change.
45434
45435 2003-08-13  Paul Eggert  <eggert@twinsun.com>
45436
45437         * lib/exclude.c: Include <ctype.h>
45438         (IN_CTYPE_DOMAIN): New macro.
45439         (is_space): New fn.
45440         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
45441         and empty lines.
45442
45443         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
45444         Undo previous (whitespace-only) change.
45445
45446 2003-08-13  Paul Eggert  <eggert@twinsun.com>
45447
45448         * config/srclist-update: Change update back to the old behavior,
45449         leaving whitespace alone.  Use one 'sed' command rather than a
45450         pipeline.
45451         (fixlicense): Now a variable, not a function.
45452         (remove_trailing_blanks): Remove.
45453         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
45454         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
45455         Undo previous (whitespace-only) change.
45456
45457 2003-08-12  Paul Eggert  <eggert@twinsun.com>
45458
45459         Merge from coreutils.
45460         * modules/euidaccess: Add lib_SOURCES, include for new
45461         file euidaccess.h
45462
45463 2003-08-12  Paul Eggert  <eggert@twinsun.com>
45464
45465         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
45466         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
45467         Normalize leading white space and remove trailing white space.
45468
45469         Merge from coreutils
45470         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
45471
45472         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
45473         0.12.1.  These files are now being upgraded automatically by
45474         ../config/srclist-update.
45475
45476 2003-08-12  Paul Eggert  <eggert@twinsun.com>
45477
45478         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
45479         Normalize leading white space and remove trailing white space.
45480         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
45481         notice, as per ../config/srclist-update.
45482
45483         Merge from coreutils.
45484         * lib/euidaccess.h: New file.
45485         * lib/euidaccess.c: Include it.
45486         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
45487         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
45488         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
45489
45490 2003-08-12  Paul Eggert  <eggert@twinsun.com>
45491
45492         * config/srclist-update: Add copyright notice.
45493         (remove_id_lines, remove_trailing_blanks): New constants.
45494         (fixfile): Use them to normalize spacing a bit in copied files.
45495         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
45496         Normalize leading white space and remove trailing white space.
45497
45498         * config/texinfo.tex: Sync with texinfo.
45499
45500         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
45501         strtoul.c from libc, to merge coreutils whitespace changes.
45502
45503         * config/srclist.txt: Get the following m4 files from gettext:
45504         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
45505         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
45506         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
45507         wint_t.m4.
45508
45509 2003-08-12  Karl Berry  <karl@gnu.org>
45510
45511         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
45512         been made.
45513
45514 2003-08-11  Paul Eggert  <eggert@twinsun.com>
45515
45516         * modules/gnu-source, m4/gnu-source.m4:
45517         Remove; we're assuming Autoconf 2.54 or later now.
45518         Suggested by Bruno Haible.
45519         * MODULES.html.sh (func_all_modules): Remove gnu-source.
45520
45521 2003-08-11  Bruno Haible  <bruno@clisp.org>
45522
45523         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
45524
45525 2003-08-11  Bruno Haible  <bruno@clisp.org>
45526
45527         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
45528         (vasnprintf): Use it instead of wcslen.
45529
45530 2003-08-11  Bruno Haible  <bruno@clisp.org>
45531
45532         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
45533         value to ensure that _Bool promotes to int. Use #define for _Bool when
45534         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
45535
45536 2003-08-10  Karl Berry  <karl@gnu.org>
45537
45538         * lib/regex.h: update from libc (whitespace fix).
45539
45540 2003-08-09  Paul Eggert  <eggert@twinsun.com>
45541
45542         Merge some files from coreutils.  These changes were
45543         originally made by Jim Meyering.
45544         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
45545         many older Unixes require this.
45546         * lib/alloca.c (alloca): Remove cast to argument of free;
45547         no longer needed in C89.
45548         * lib/alloca_.h, regex.h: Fix white space to match
45549         what GNU indent does.
45550
45551 2003-08-09  Paul Eggert  <eggert@twinsun.com>
45552
45553         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
45554         apparently Emacs's Unicode mode got confused before my 2003-08-05
45555         checkin.
45556
45557 2003-08-08  Paul Eggert  <eggert@twinsun.com>
45558
45559         * m4/extensions.m4: New file.
45560         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
45561         Require gl_USE_SYSTEM_EXTENSIONS.
45562         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
45563         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
45564
45565 2003-08-08  Paul Eggert  <eggert@twinsun.com>
45566
45567         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
45568         * modules/extensions, modules/gnu-source: New files.
45569         * modules/timespec, modules/unlocked-io: Depend on extensions.
45570
45571 2003-08-07  Paul Eggert  <eggert@twinsun.com>
45572
45573         * modules/restrict: New file.
45574         * MODULES.html.sh (func_all_modules): Add restrict.
45575         * modules/regex: Depend on restrict.
45576
45577 2003-08-07  Paul Eggert  <eggert@twinsun.com>
45578
45579         * m4/restrict.m4: New file.
45580         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
45581
45582 2003-08-07  Bruno Haible  <bruno@clisp.org>
45583
45584         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
45585         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
45586
45587 2003-08-07  Bruno Haible  <bruno@clisp.org>
45588
45589         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
45590         makes the module 'getndelim2' compatible with the module 'getline'.
45591
45592 2003-08-05  Paul Eggert  <eggert@twinsun.com>
45593
45594         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
45595         byte with "\201" to avoid glitches when editing that source file
45596         with multi-gnome-terminal.
45597
45598 2003-08-05  Paul Eggert  <eggert@twinsun.com>
45599
45600         * lib/bumpalloc.h: Remove.
45601
45602 2003-08-05  Paul Eggert  <eggert@twinsun.com>
45603
45604         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
45605         * modules/bumpalloc: Remove.
45606
45607 2003-08-04  Paul Eggert  <eggert@twinsun.com>
45608
45609         * lib/getloadavg.c: Change copyright notice and spacing to conform to
45610         GNU coding style.
45611
45612         Merge from coreutils.
45613         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
45614         1. From glibc.
45615         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
45616         from Karl Berry, implemented by Jim Meyering.
45617         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
45618         from Dmitry V. Levin.
45619         Remove anachronistic cast of xrealloc.
45620         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
45621         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
45622         type. Otherwise, it wouldn't compile with at least /bin/cc on
45623         ymp-cray-unicos9.0.2.X.
45624         Combine two mostly-identical uses of alloca into one.
45625         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
45626
45627 2003-08-04  Dave Love  <d.love@dl.ac.uk>
45628
45629         [From Emacs.]
45630
45631         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
45632         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
45633         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
45634         obsolete NLIST_NAME_UNION.
45635         [__GNU__]: Undef BSD and FSCALE.
45636         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
45637
45638 2003-08-03  Paul Eggert  <eggert@twinsun.com>
45639
45640         * lib/stdbool_.h (_Bool): Make it signed char, instead of
45641         an enum type, so that it's guaranteed to promote to int.  See:
45642         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
45643
45644 2003-08-03  Karl Berry  <karl@gnu.org>
45645
45646         * config/depcomp: update from automake.
45647
45648 2003-07-31  Paul Eggert  <eggert@twinsun.com>
45649
45650         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
45651         (strerror): Don't assume that a printable int fits in 14 bytes.
45652
45653 2003-07-31  Bruno Haible  <bruno@clisp.org>
45654
45655         * modules/getpass-gnu: New file.
45656         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
45657
45658 2003-07-31  Bruno Haible  <bruno@clisp.org>
45659
45660         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
45661
45662 2003-07-24  Karl Berry  <karl@gnu.org>
45663
45664         * config/missing: update from automake.
45665
45666 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
45667             Bruno Haible  <bruno@clisp.org>
45668
45669         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
45670         * lib/getline.c (getline, getdelim): Likewise.
45671         Remove _GNU_SOURCE define; now it's defined in config.h through
45672         m4/getline.m4.
45673
45674 2003-07-23  Karl Berry  <karl@gnu.org>
45675
45676         * config/config.sub: update from prep.
45677
45678 2003-07-22  Paul Eggert  <eggert@twinsun.com>
45679
45680         * modules/xalloc (Depends-on): Add exitfail.
45681         * modules/xmemcoll: Likewise.
45682
45683 2003-07-22  Paul Eggert  <eggert@twinsun.com>
45684
45685         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
45686         over-parenthesization in macros.
45687
45688         Sync with coreutils.
45689
45690         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
45691         required by C99.
45692
45693         Use `exit_failure' for xalloc and xmemcoll instead of their own
45694         private exit-failure variables.
45695         * lib/xalloc.h (xalloc_exit_failure): Remove.
45696         * lib/xmalloc.c: Likewise.  Include exitfail.h.
45697         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
45698         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
45699         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
45700         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
45701
45702 2003-07-20  Jim Meyering  <jim@meyering.net>
45703
45704         * modules/closeout (Depends-on): Add exitfail.
45705         Suggestion from Bruno Haible.
45706
45707 2003-07-19  Karl Berry  <karl@gnu.org>
45708
45709         * config/config.sub: update from prep.
45710
45711 2003-07-18  Paul Eggert  <eggert@twinsun.com>
45712
45713         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
45714         Remove.
45715         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
45716         to test that it can stand by itself.  Include "exitfail.h".
45717         Clients should set exit_failure instead.
45718         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
45719
45720 2003-07-18  Bruno Haible  <bruno@clisp.org>
45721
45722         * modules/getndelim2: New file.
45723         * modules/getline: Share files with module getndelim2.
45724         * modules/getnline: Depend on getndelim2 instead of sharing files with
45725         it. Add getnline.c to lib_SOURCES.
45726         * MODULES.html.sh (func_all_modules): Add getndelim2.
45727
45728 2003-07-18  Bruno Haible  <bruno@clisp.org>
45729
45730         * m4/getndelim2.m4: New file.
45731         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
45732         invoke gl_PREREQ_GETNDELIM2.
45733         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
45734         gl_PREREQ_GETNDELIM2.
45735         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
45736         gl_GETNDELIM2.
45737
45738 2003-07-18  Bruno Haible  <bruno@clisp.org>
45739
45740         * lib/getndelim2.h: New file.
45741         * lib/getndelim2.c: Make into a module of its own. Include config.h,
45742         getndelim2.h.
45743         (getndelim2): Make non-static. Change return type to ssize_t.
45744         * lib/getline.h: Change argument names.
45745         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
45746         * lib/getnline.c: Include getndelim2.h.
45747
45748 2003-07-18  Andreas Schwab  <schwab@suse.de>
45749
45750         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
45751
45752 2003-07-17  Karl Berry  <karl@gnu.org>
45753
45754         * config/config.sub: update from prep.
45755
45756 2003-07-17  Bruno Haible  <bruno@clisp.org>
45757
45758         * modules/getnline: New file.
45759         * modules/getline: Add lib/getndelim2.c to source file list.
45760         * MODULES.html.sh (func_all_modules): Add getnline.
45761
45762 2003-07-17  Bruno Haible  <bruno@clisp.org>
45763
45764         * m4/getnline.m4: New file.
45765
45766 2003-07-17  Bruno Haible  <bruno@clisp.org>
45767
45768         * m4/Makefile.am.in: Remove file.
45769         * m4/Makefile.am: Remove file.
45770         * m4/Makefile.in: Remove file.
45771
45772 2003-07-17  Bruno Haible  <bruno@clisp.org>
45773
45774         * lib/getnline.h: New file.
45775         * lib/getnline.c: New file.
45776         * lib/getndelim2.c: New file, extracted from getline.c.
45777         (getndelim2): Renamed from getdelim2, with added nmax argument.
45778         * lib/getline.c: Include getndelim2.c.
45779         (getdelim2): Moved out to getndelim2.c.
45780         (getline, getdelim): Update.
45781
45782 2003-07-17  Bruno Haible  <bruno@clisp.org>
45783
45784         * lib/Makefile.am: Remove file.
45785         * lib/Makefile.in: Remove file.
45786
45787 2003-07-17  Bruno Haible  <bruno@clisp.org>
45788
45789         * configure.in: Remove file.
45790         * Makefile.in: Remove file.
45791
45792 2003-07-17  Bruno Haible  <bruno@clisp.org>
45793
45794         * MODULES.html.sh: Put the </BODY> right before </HTML>.
45795
45796 2003-07-16  Karl Berry  <karl@gnu.org>
45797
45798         * config/srclist-update: was running fixlicense twice, which caused
45799                 texinfo.tex to be nullified for some reason.  Simplify,
45800                 $gplsrc is no longer needed as far as I can see?
45801
45802 2003-07-16  Jim Meyering  <jim@meyering.net>
45803
45804         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
45805
45806 2003-07-15  Paul Eggert  <eggert@twinsun.com>
45807
45808         * config/srclist.txt: Get the following files from gettext-runtime/intl
45809         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
45810         ref-del.sin.  From Bruno Haible.
45811         * config/srclist-update (fixfile): Change grep pattern again, since the
45812         previous fix didn't work (there was another trailing $).  Use
45813         '[$]' to escape the $s.
45814
45815 2003-07-15  Karl Berry  <karl@gnu.org>
45816
45817         * lib/vasnprintf.c: update from gettext.
45818
45819 2003-07-15  Karl Berry  <karl@gnu.org>
45820
45821         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
45822         gets expanded when surrounded by '$'.
45823
45824 2003-07-15  Jim Meyering  <jim@meyering.net>
45825
45826         * modules/save-cwd: Don't depend on error.  From Derek Price.
45827
45828 2003-07-15  Jim Meyering  <jim@meyering.net>
45829
45830         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
45831
45832 2003-07-14  Simon Josefsson  <jas@extundo.com>
45833
45834         * modules/mempcpy: New file.
45835         * MODULES.html.sh (func_all_modules): Add mempcpy.
45836
45837 2003-07-14  Simon Josefsson  <jas@extundo.com>
45838
45839         * m4/mempcpy.m4: New file.
45840
45841 2003-07-14  Simon Josefsson  <jas@extundo.com>
45842
45843         * lib/mempcpy.h: New file.
45844         * lib/mempcpy.c: New file.
45845
45846 2003-07-14  Paul Eggert  <eggert@twinsun.com>
45847
45848         * modules/getdate, modules/posixtm: Depend on mktime.
45849
45850 2003-07-14  Paul Eggert  <eggert@twinsun.com>
45851
45852         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
45853         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
45854         unicodeio.c, unicodeio.h, unlocked-io.h:
45855         Switch from LGPL to GPL.
45856
45857 2003-07-14  Paul Eggert  <eggert@twinsun.com>
45858
45859         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
45860         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
45861         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
45862         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
45863         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
45864         updated automatically by ../config/srclist-update.  This changes
45865         their license from LPGL to GPL.
45866
45867 2003-07-14  Paul Eggert  <eggert@twinsun.com>
45868
45869         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
45870         assumed to refer to the root of the most recent stable gettext version.
45871         * config/srclistvars.sh: Add defaults for eggert.
45872         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
45873         Match "This program" as well as "The program".  This is needed
45874         for gettext.
45875
45876 2003-07-14  Jim Meyering  <jim@meyering.net>
45877
45878         Don't emit diagnostics.  Let callers do that.
45879         * lib/save-cwd.c: Don't include "error.h".
45880         (save_cwd): Don't call error.  Ensure that errno is valid
45881         when returning nonzero.
45882
45883         * lib/save-cwd.h (restore_cwd): Update prototype.
45884         * lib/save-cwd.c (restore_cwd): Remove two parameters.
45885         Simplify.  Don't call error upon failure.  Let callers do that.
45886         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
45887         when auditing is enabled.  But don't bother updating the #if.
45888
45889 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
45890
45891         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
45892         it breaks C++ compilation.
45893         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
45894
45895 2003-07-10  Simon Josefsson  <jas@extundo.com>
45896
45897         * modules/strchrnul (Makefile.am): Add strchrnul.h.
45898
45899 2003-07-10  Jim Meyering  <jim@meyering.net>
45900
45901         * m4/clock_time.m4: Remove trailing blank.
45902         * m4/intmax_t.m4: Likewise.
45903
45904 2003-07-10  Jim Meyering  <jim@meyering.net>
45905
45906         * lib/vasnprintf.c: Remove trailing blanks.
45907         Make cpp indentation consistent.
45908
45909 2003-07-09  Paul Eggert  <eggert@twinsun.com>
45910
45911         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
45912         posixver.c, strftime.c, strnlen.c, strverscmp.c:
45913         Switch from LGPL to GPL.
45914
45915 2003-07-09  Paul Eggert  <eggert@twinsun.com>
45916
45917         * config/srclist.txt: Sort sublists.  Add
45918         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
45919         that differ from gnulib for one reason or another; we'd like this list
45920         to be smaller but for now let's document what we have.
45921
45922 2003-07-08  Paul Eggert  <eggert@twinsun.com>
45923
45924         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
45925         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
45926         and sweeter "eval x=$x".
45927         * config/srclist.txt: Get lib/argp* from glibc.
45928
45929 2003-07-07  Paul Eggert  <eggert@twinsun.com>
45930
45931         * lib/mktime.c: Fix some boundary cases and remove need for floating
45932         point.
45933
45934         Issue a compile-time diagnostic if time_t is floating point, or if
45935         two's complement arithmetic is not in effect, or if arithmetic
45936         right shift does not propagate the sign.  These assumptions were
45937         all in the original code but they weren't checked.
45938
45939         (TIME_T_MIDPOINT, verify): New macros.
45940         (__isleap): Remove; it has integer overflow problems.
45941         (leapyear): New function, without those problems.
45942         (ydhms_tm_diff): Remove; splitting into two parts.
45943         (ydhms_diff): New function, containing the arithmetic part of
45944         the old ydhms_tm_diff function.  Issue a compile-time
45945         diagnostic if we are not using C99 integer division.
45946         Avoid casts when possible.
45947         (guess_time_tm): New function, containing the checking part of
45948         the old ydhms_tm_diff function.  Return the new value, rather than
45949         the difference between it and the old.  Accept a new argument T
45950         so that *T specifies the old value.  Check for overflow in the result.
45951
45952         (__mktime_internal): Use a time_t offset, not a long int offset.
45953         This undoes the 2003-06-04 change, which is no longer needed now
45954         that we have better overflow checking.
45955         (localtime_offset): Likewise.
45956
45957         (__mktime_internal): Avoid harmful overflow on hosts where time_t
45958         and long are 64-bit but int is only 32-bit.
45959         (ydhms_diff): Use long int to store year1 and yday1.
45960         Issue a compile-time diagnostic if long int is not wide enough.
45961
45962         (__mktime_internal): Use long int to store adjusted year and yday.
45963         Use plain C rather than preprocessor commands, if that doesn't
45964         affect efficiency.
45965         Check for overflow (and try to repair) after each probe
45966         rather than checking only at the very end.  This avoids some bugs
45967         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
45968         does not equal GMT offset at maximum time).
45969         Use integer to check for overflow rather than floating point; this
45970         is more portable to non-IEEE hosts, and is a tad faster.
45971         When we detect that we are oscillating between two values,
45972         don't check whether tm_isdst has the requested value, since
45973         we already know the answer.  When tm_isdst has the wrong value,
45974         use a different heuristic to find the right one, based on the
45975         extreme values actually observed in practice in tz2003a,
45976         rather than the (overly optimistic) "previous 3 calendar quarters".
45977
45978         (not_equal_tm, print_tm, check_result): Use "const T" rather than
45979         "T const" to accommodate glibc style.
45980         (check_result): Use less-confusing report format.  "long" -> "long int.
45981         (main): Likewise.
45982         Don't loop if the iteration overflows time_t.
45983         Allow a negative step in the iteration.
45984
45985 2003-07-06  Karl Berry  <karl@gnu.org>
45986
45987         * config/depcomp: update from automake.
45988         * config/config.sub: update from prep.
45989
45990 2003-07-03  Karl Berry  <karl@gnu.org>
45991
45992         * config/config.guess: update from prep.
45993
45994 2003-07-01  Paul Eggert  <eggert@twinsun.com>
45995
45996         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
45997         xreadlink.c now includes it unconditionally.
45998
45999 2003-07-01  Paul Eggert  <eggert@twinsun.com>
46000
46001         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
46002         having it depend on HAVE_SYS_TYPES_H.
46003
46004 2003-07-01  Bruno Haible  <bruno@clisp.org>
46005
46006         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
46007         <sys/types.h> should be sufficient.
46008         Reported by Paul Eggert.
46009
46010 2003-06-26  Karl Berry  <karl@gnu.org>
46011
46012         * config/depcomp: update from automake.
46013
46014 2003-06-26  Bruno Haible  <bruno@clisp.org>
46015
46016         * modules/human: Depend on module stdbool.
46017
46018 2003-06-25  Bruno Haible  <bruno@clisp.org>
46019
46020         * modules/readlink: New file.
46021         * modules/xreadlink: Depend on it.
46022         * MODULES.html.sh (func_all_modules): Add readlink.
46023
46024 2003-06-25  Bruno Haible  <bruno@clisp.org>
46025
46026         * m4/readlink.m4: New file.
46027
46028 2003-06-25  Bruno Haible  <bruno@clisp.org>
46029
46030         * lib/readlink.c: New file.
46031
46032 2003-06-22  Karl Berry  <karl@gnu.org>
46033
46034         * config/srclist.txt: update mkinstalldirs from automake.
46035         * config/mkinstalldirs: update.
46036
46037 2003-06-22  Bruno Haible  <bruno@clisp.org>
46038
46039         Portability to mingw32.
46040         * m4/ssize_t.m4: New file, from GNU gettext.
46041         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
46042         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
46043
46044 2003-06-22  Bruno Haible  <bruno@clisp.org>
46045
46046         * modules/safe-read: Add m4/ssize_t.m4.
46047         * modules/xreadlink: Add m4/ssize_t.m4.
46048
46049 2003-06-20  Bruno Haible  <bruno@clisp.org>
46050
46051         Assume C89, so PARAMS isn't needed.
46052         * lib/unicodeio.h (PARAMS): Remove.
46053         * lib/unicodeio.c: Don't use PARAMS.
46054
46055 2003-06-18  Karl Berry  <karl@gnu.org>
46056
46057         * config/config.{guess,sub}: update from prep.
46058
46059 2003-06-18  Jim Meyering  <jim@meyering.net>
46060
46061         Merge changes from coreutils.
46062         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
46063         Remove explicit declarations of xmalloc and realloc.
46064         Include xalloc.h.
46065         (read_utmp): Remove anachronistic cast of xmalloc.
46066
46067 2003-06-17  Paul Eggert  <eggert@twinsun.com>
46068
46069         Assume C89, so PARAMS isn't needed.
46070         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
46071         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
46072         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
46073         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
46074         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
46075         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
46076         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
46077         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
46078         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
46079         lib/xstrtod.h, lib/xstrtol.h: Likewise.
46080         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
46081         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
46082         no longer needed. Anyway, config.h should always be included before any
46083         other file.
46084
46085 2003-06-11  Simon Josefsson  <jas@extundo.com>
46086
46087         * modules/sysexits: New file.
46088         * MODULES.html.sh (func_all_modules): Add sysexits.
46089
46090 2003-06-11  Simon Josefsson  <jas@extundo.com>
46091
46092         * lib/sysexit_.h: New file.
46093
46094 2003-06-11  Derek Price  <derek@ximbiot.com>
46095
46096         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
46097         necessary.
46098
46099 2003-06-11  Bruno Haible  <bruno@clisp.org>
46100
46101         * m4/sysexits.m4: New file.
46102
46103 2003-06-10  Simon Josefsson  <jas@extundo.com>
46104
46105         * lib/argp.h: New file, from glibc.
46106         * lib/argp-ba.c: New file, from glibc.
46107         * lib/argp-eexst.c: New file, from glibc.
46108         * lib/argp-fmtstream.c: New file, from glibc.
46109         * lib/argp-fmtstream.h: New file, from glibc.
46110         * lib/argp-fs-xinl.c: New file, from glibc.
46111         * lib/argp-help.c: New file, from glibc.
46112         * lib/argp-namefrob.h: New file, from glibc.
46113         * lib/argp-parse.c: New file, from glibc.
46114         * lib/argp-pv.c: New file, from glibc.
46115         * lib/argp-pvh.c: New file, from glibc.
46116         * lib/argp-xinl.c: New file, from glibc.
46117
46118 2003-06-10  Simon Josefsson  <jas@extundo.com>
46119
46120         * modules/strchrnul: New file.
46121
46122 2003-06-10  Simon Josefsson  <jas@extundo.com>
46123
46124         * modules/argp: New file.
46125
46126 2003-06-10  Simon Josefsson  <jas@extundo.com>
46127
46128         * m4/strchrnul.m4: New file.
46129
46130 2003-06-10  Simon Josefsson  <jas@extundo.com>
46131
46132         * lib/strchrnul.h: New file.
46133         * lib/strchrnul.c: New file.
46134
46135 2003-06-10  Bruno Haible  <bruno@clisp.org>
46136
46137         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
46138
46139 2003-06-07  Karl Berry  <karl@gnu.org>
46140
46141         * config/config.{guess,sub}: update from prep.
46142
46143 2003-06-07  Jim Meyering  <jim@meyering.net>
46144
46145         * modules/strtod: Use $(...) notation, not @...@ for
46146         AC_REPLACE'd variables.
46147         * modules/localcharset: Likewise.
46148
46149 2003-06-07  Jim Meyering  <jim@meyering.net>
46150
46151         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
46152         in place of my name in the copyright comment.
46153         Remove definition and uses of __P.
46154
46155         From coreutils.
46156         * lib/stat.c: Don't declare xmalloc explicitly.
46157         Instead, include "xalloc.h".
46158         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
46159         xrealloc, and xcalloc return values.
46160         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
46161         Improve comment.
46162         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
46163
46164 2003-06-07  Bruno Haible  <bruno@clisp.org>
46165
46166         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
46167         avoid AC_CONFIG_LINKS.
46168         * modules/fnmatch (Makefile.am): Use explicit creation rule for
46169         fnmatch.h, to avoid AC_CONFIG_LINKS.
46170         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
46171
46172 2003-06-07  Bruno Haible  <bruno@clisp.org>
46173
46174         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
46175         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
46176         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
46177         directory.
46178         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
46179         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
46180         directory.
46181
46182 2003-06-06  Jim Meyering  <jim@meyering.net>
46183
46184         Merge from coreutils.
46185         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
46186         Consolidate declarations and initializations of *_base* locals.
46187
46188         Merge from coreutils.
46189         This avoids a core dump on systems without GNU putenv,
46190         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
46191         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
46192         (unsetenv): New static function, from GNU libc.
46193         (rpl_putenv): Use it.
46194
46195         * lib/modechange.c: Remove trailing blanks.
46196
46197         Merge from coreutils.
46198         * lib/fsusage.c: Remove declaration of statfs.
46199         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
46200
46201         * lib/posixtm.c: Include <stdbool.h> unconditionally.
46202
46203 2003-06-06  Jim Meyering  <jim@meyering.net>
46204
46205         * lib/stdbool_.h: Renamed from stdbool.h.in.
46206
46207 2003-06-06  Jim Meyering  <jim@meyering.net>
46208             Bruno Haible  <bruno@clisp.org>
46209
46210         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
46211         Adjust Makefile.am snippet not to redirect directly to target.
46212         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
46213
46214 2003-06-05  Paul Eggert  <eggert@twinsun.com>
46215
46216         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
46217         mismatch, look in future quarters as well as past.  This fixes a
46218         bug when processing fall-backwards gaps immediately after a long
46219         period of daylight-saving time.
46220
46221         * lib/mktime.c: Assume freestanding C89 or better.
46222         (HAVE_LIMITS_H): Remove.  Assume it's 1.
46223         (__P): Remove; not used.
46224         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
46225         (mktime, not_equal_tm, print_tm, check_result,
46226         main): Use prototypes.  Use const * where appropriate.
46227         (main): Fix typo in testing code that uncovered by above changes.
46228         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
46229
46230 2003-06-04  Paul Eggert  <eggert@twinsun.com>
46231
46232         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
46233         locale.h, localeconv.  This merges changes from coreutils.
46234
46235         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
46236         It can be removed after the next Autoconf is released.
46237         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
46238         needed.
46239
46240 2003-06-04  Paul Eggert  <eggert@twinsun.com>
46241
46242         * lib/mktime.c: Fix Debian bug 177940
46243         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
46244         (localtime_offset): Now long int, not time_t, because we want it
46245         to be guaranteed to be signed.  All uses changed.
46246         (__mktime_internal): If overflow would occur when adding offset,
46247         don't add it.
46248
46249         Merge 'human' changes from coreutils.  Rewrite to support
46250         locale-specific notations like thousands separators.
46251         * lib/human.c: Simplify authorship notice.
46252         Include human.h immediately after config.h.
46253         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
46254         <limits.h>: Do not include, since human.h does.
46255         (SIZE_MAX, UINTMAX_MAX): New macros.
46256         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
46257         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
46258         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
46259         (power_letter): Renamed from suffixes.
46260         (generate_suffix_backwards): Remove.
46261         (adjust_value): Now takes int style (because of human.h changes)
46262         and long double value (for greater precision on some platforms).
46263         (group_number): New function.
46264         (human_readable): Use it.  Use integer options, not enum.
46265         Put the options before the sizes in the arg list.
46266         Support all the new options.
46267         The old human_readable function has been removed;
46268         use inttostr.h instead.
46269         (human_readable, default_block_size, humblock):
46270         Use uintmax_t, not int, for block sizes.
46271         (human_readable_inexact, block_size_types): Remove.
46272         (block_size_opts): New constant.
46273         (human_options): Renamed from human_block_size, with new signature
46274         that allows block sizes up to UINTMAX_MAX.  All callers changed.
46275         * lib/human.h: Add copyright and authorship notice.
46276         Include <limits.h> and <stdbool.h> unconditionally.
46277         (PARAMS): Remove.  All uses removed.
46278         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
46279         (enum human_inexact_style): Remove tag; now a nameless enum.
46280         (human_floor, human_ceiling, human_round_to_even): Now have
46281         values 2, 0, 1 rather than -1, 1, 0.
46282         (human_group_digits, human_suppress_point_zero, human_autoscale,
46283         human_base_1024, human_SI, human_B): New constants.
46284         (human_readable_inexact, human_block_size): Remove.
46285         (human_readable): Size args are now uintmax_t, not int.
46286         (human_options): New decl.
46287
46288         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
46289         unnecessary now that we assume C89 or better.  This change
46290         imported from coreutils.
46291
46292         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
46293         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
46294         in the 2003-05-30 sync from glibc.
46295
46296         .h files should stand alone, but we shouldn't include <sys/types.h>
46297         if we can get away with just <stddef.h>.
46298
46299         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
46300         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
46301         rather than <sys/types.h>, as we merely need size_t.
46302         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
46303         to get size_t.
46304         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
46305         Include <stdio.h>, to get FILE.
46306         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
46307         memcasecmp.h has included <stddef.h> and all we need is size_t.
46308         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
46309         our interface, instead of including <sys/types.h>
46310
46311 2003-06-04  Paul Eggert  <eggert@twinsun.com>
46312
46313         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
46314         now, as glibc mktime is buggy on non-glibc systems.
46315
46316 2003-06-03  Karl Berry  <karl@gnu.org>
46317
46318         * config/config.sub: update from prep.
46319
46320 2003-06-02  Paul Eggert  <eggert@twinsun.com>
46321
46322         [from coreutils]
46323         Fix some minor time-related bugs with POSIX time arguments.
46324         Some valid time stamps were being rejected (notably -1, and
46325         time stamps before 1900 on 64-bit hosts).  And some invalid
46326         time stamps were being accepted, e.g. September 31.
46327
46328         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
46329         that we can return (time_t) -1 successfully.
46330         * lib/posixtm.c: Likewise.
46331         [HAVE_STDBOOL_H]: Include <stdbool.h>.
46332         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
46333         (t): Remove static var.
46334         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
46335         of static var.  All uses changed.
46336         (year): Do not reject years before 1900; they can occur with
46337         64-bit time_t.
46338         (posix_time_parse): Do not check for out-of-range components;
46339         that is now the caller's responsibility, since our checks were
46340         only approximations.
46341         (posixtime): Use mktime to check for out-of-range components,
46342         since it knows them exactly.
46343         If mktime returns (time_t) -1, check whether an error actually occurred
46344         by invoking localtime on -1.
46345         (main) [TEST_POSIXTIME]: Check for input data errors, and report
46346         posixtime failures better.
46347         Improve the test data (in comments only).
46348
46349 2003-06-02  Karl Berry  <karl@gnu.org>
46350
46351         * config/mkinstalldirs (version): new variable.
46352         (--version): new option.
46353         (usage): improve message.
46354
46355 2003-05-30  Karl Berry  <karl@gnu.org>
46356
46357         * lib/mktime.c: update from libc.
46358
46359 2003-05-30  Bruno Haible  <bruno@clisp.org>
46360
46361         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
46362         * config/config.rpath: Upgrade to gettext-0.12.1.
46363
46364 2003-05-30  Bruno Haible  <bruno@clisp.org>
46365
46366         * m4/gettext.m4: Upgrade to gettext-0.12.1.
46367         * m4/nls.m4: New file, from gettext-0.12.1.
46368         * m4/po.m4: New file, from gettext-0.12.1.
46369         * m4/progtest.m4: Upgrade to gettext-0.12.1.
46370
46371 2003-05-30  Bruno Haible  <bruno@clisp.org>
46372
46373         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
46374         * lib/localcharset.h: Likewise.
46375         * lib/localcharset.c: Likewise.
46376
46377 2003-05-29  Karl Berry  <karl@gnu.org>
46378
46379         * config/config.rpath: update from gettext.
46380
46381 2003-05-28  Paul Eggert  <eggert@twinsun.com>
46382
46383         Assume the headers required for C89 freestanding compilers.
46384         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
46385         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
46386         * m4/human.m4 (gl_HUMAN): Likewise.
46387         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
46388         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
46389         * m4/userspec.m4 (gl_USERSPEC): Likewise.
46390         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
46391         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46392         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
46393
46394 2003-05-28  Paul Eggert  <eggert@twinsun.com>
46395
46396         Assume the headers required for C89 freestanding compilers.
46397         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
46398         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
46399         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
46400         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
46401         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
46402         define, since <limits.h> is guaranteed to do that.
46403         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
46404         * lib/exclude.c: Include <stdbool.h> unconditionally.
46405         * lib/tempname.c: Include <stddef.h> unconditionally.
46406         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
46407         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
46408         <stddef.h> does that.
46409         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
46410         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
46411         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
46412         needed.
46413         * lib/xstrtol.c: Likewise.
46414         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
46415         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
46416
46417         * lib/addext.c (addext): Use assignment rather than cast, to avoid
46418         warnings on some platforms.
46419
46420         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
46421         arbitrarily.
46422
46423 2003-05-26  Jim Meyering  <jim@meyering.net>
46424
46425         Merge in a change from coreutils:
46426         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
46427         that is guaranteed to be `no'.  Use `no_such_member' to indicate
46428         that condition, rather than `-1' which is slightly misleading.
46429         Change the name of the cache variable to have the gl_ prefix.
46430         Prompted by a patch from Richard Dawe for DJGPP.
46431
46432 2003-05-24  Karl Berry  <karl@gnu.org>
46433
46434         * config/config.guess: update from prep.
46435
46436 2003-05-22  Karl Berry  <karl@gnu.org>
46437
46438         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
46439
46440 2003-05-20  Karl Berry  <karl@gnu.org>
46441
46442         * config/config.guess: update from prep.
46443
46444 2003-05-18  Karl Berry  <karl@gnu.org>
46445
46446         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
46447         might actually be set by the user.
46448
46449         * config/depcomp, install-sh, mdate-sh: update from automake.
46450
46451 2003-05-17  Bruno Haible  <bruno@clisp.org>
46452
46453         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
46454         invalid expansion for AC_EGREP_CPP.
46455         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
46456         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
46457         Suggested by Akim Demaille <akim@epita.fr> in
46458         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
46459
46460 2003-05-12  Jim Meyering  <jim@meyering.net>
46461
46462         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
46463         the space-padded-by-default conversion specifiers, %e, %k, %l.
46464
46465 2003-05-12  Bruno Haible  <bruno@clisp.org>
46466
46467         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
46468         the string is longer than 4 KB.
46469
46470 2003-05-11  Karl Berry  <karl@gnu.org>
46471
46472         * config/config.{guess,sub}: update from prep.
46473
46474 2003-05-09  Bruno Haible  <bruno@clisp.org>
46475
46476         * modules/error: Add m4/strerror_r.m4 to file list.
46477
46478 2003-05-03  Bruno Haible  <bruno@clisp.org>
46479
46480         Upgrade to Unicode-4.0.
46481         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
46482         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
46483         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
46484         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
46485         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
46486         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
46487         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
46488         Change width of U+E0100..U+E01EF from 1 to 0.
46489
46490 2003-04-25  Jim Meyering  <jim@meyering.net>
46491
46492         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
46493         of type size_t, not int.
46494
46495 2003-04-25  Bruno Haible  <bruno@clisp.org>
46496
46497         * lib/copy-file.c: Include <stddef.h>, for size_t.
46498
46499 2003-04-21  Paul Eggert  <eggert@twinsun.com>
46500
46501         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
46502         code which expansion is under static control.  Patch imported from
46503         Akim Demaille's patch to Bison; see
46504         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
46505
46506 2003-04-14  Bruno Haible  <bruno@clisp.org>
46507
46508         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
46509
46510 2003-04-11  Jim Meyering  <jim@meyering.net>
46511
46512         Merge changes from Coreutils.
46513
46514         2003-03-22  Jim Meyering  <jim@meyering.net>
46515
46516         * lib/strftime.c (widen): Cast alloca return value to proper type.
46517
46518         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
46519
46520         From GNU libc.
46521         * lib/strftime.c (my_strftime): Handle very large width
46522         specifications for numeric values correctly.  Improve checks for
46523         overflow.
46524
46525         2003-01-19  Jim Meyering  <jim@meyering.net>
46526
46527         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
46528         definitions.
46529         (nl_get_alt_digit) [! defined my_strftime]: Define.
46530         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
46531         _nl_get_alt_digit and _nl_get_walt_digit.
46532
46533         * lib/strftime.c (my_strftime): Merge in locale-related changes from
46534         libc. These changes have no effect outside of _LIBC.
46535
46536 2003-04-10  Bruno Haible  <bruno@clisp.org>
46537
46538         * modules/findprog: New file.
46539         * MODULES.html.sh (func_all_modules): Add it.
46540
46541 2003-04-10  Bruno Haible  <bruno@clisp.org>
46542
46543         * m4/findprog.m4: New file.
46544         * m4/eaccess.m4: New file.
46545
46546 2003-04-10  Bruno Haible  <bruno@clisp.org>
46547
46548         * lib/findprog.h: New file, from GNU gettext.
46549         * lib/findprog.c: New file, from GNU gettext.
46550
46551 2003-04-05  Jim Meyering  <jim@meyering.net>
46552
46553         Merge changes from Coreutils.
46554
46555         * lib/exclude.h (PARAMS): Remove definition and uses.
46556         * lib/exclude.c: Remove uses of `PARAMS'.
46557
46558         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
46559         Add test-cases for DOS filenames. Declare program_name.
46560         (main): Set up program_name.  Patch by Rich Dawe.
46561
46562         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
46563         error from mntctl.
46564         Use mntctl's return value to drive the entry-processing loop, since
46565         we can't rely on the value of the vmt_length member in the last
46566         entry.  On some systems doing so could result in exhausting
46567         virtual memory.  Based in part on a patch from Mike Jetzer.
46568
46569 2003-04-04  Bruno Haible  <bruno@clisp.org>
46570
46571         * modules/linebreak: New file.
46572         * MODULES.html.sh (func_all_modules): Add it.
46573
46574 2003-04-04  Bruno Haible  <bruno@clisp.org>
46575
46576         * m4/linebreak.m4: New file.
46577
46578 2003-04-04  Bruno Haible  <bruno@clisp.org>
46579
46580         * lib/linebreak.h: New file, from GNU gettext.
46581         * lib/linebreak.c: New file, from GNU gettext with slight
46582         modifications.
46583         * lib/lbrkprop.h: New file, from GNU gettext.
46584
46585 2003-04-03  Bruno Haible  <bruno@clisp.org>
46586
46587         * modules/utf8-ucs4: New file.
46588         * modules/utf16-ucs4: New file.
46589         * modules/ucs4-utf8: New file.
46590         * modules/ucs4-utf16: New file.
46591         * MODULES.html.sh (func_all_modules): Add them.
46592
46593 2003-04-03  Bruno Haible  <bruno@clisp.org>
46594
46595         * m4/utf-ucs4.m4: New file.
46596         * m4/ucs4-utf.m4: New file.
46597
46598 2003-04-03  Bruno Haible  <bruno@clisp.org>
46599
46600         * lib/utf8-ucs4.h: New file, from GNU gettext.
46601         * lib/utf16-ucs4.h: New file, from GNU gettext.
46602         * lib/ucs4-utf8.h: New file, from GNU gettext.
46603         * lib/ucs4-utf16.h: New file, from GNU gettext.
46604
46605 2003-04-02  Bruno Haible  <bruno@clisp.org>
46606
46607         * modules/binary-io: New file.
46608         * MODULES.html.sh (func_all_modules): Add it.
46609
46610 2003-04-02  Bruno Haible  <bruno@clisp.org>
46611
46612         * lib/binary-io.h: New file, from GNU gettext.
46613
46614 2003-04-01  Bruno Haible  <bruno@clisp.org>
46615
46616         * modules/pathname: New file.
46617         * MODULES.html.sh (func_all_modules): Add it.
46618
46619 2003-04-01  Bruno Haible  <bruno@clisp.org>
46620
46621         * lib/pathname.h: New file, from GNU gettext.
46622         * lib/concatpath.c: New file, from GNU gettext.
46623
46624 2003-03-30  Bruno Haible  <bruno@clisp.org>
46625
46626         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
46627
46628 2003-03-30  Bruno Haible  <bruno@clisp.org>
46629
46630         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
46631         function chown() doesn't exist.
46632
46633 2003-03-28  Bruno Haible  <bruno@clisp.org>
46634
46635         * modules/copy-file: New file.
46636         * MODULES.html.sh (func_all_modules): Add it.
46637
46638 2003-03-28  Bruno Haible  <bruno@clisp.org>
46639
46640         * m4/copy-file.m4: New file.
46641
46642 2003-03-28  Bruno Haible  <bruno@clisp.org>
46643
46644         * lib/copy-file.h: New file, from GNU gettext.
46645         * lib/copy-file.c: New file, from GNU gettext.
46646
46647 2003-03-18  Jim Meyering  <jim@meyering.net>
46648
46649         * lib/quote.c (quote_n): Fix typo in comment.
46650
46651 2003-03-18  Bruno Haible  <bruno@clisp.org>
46652
46653         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
46654         checking.
46655         * m4/onceonly_2_57.m4: Likewise.
46656
46657 2003-03-17  Bruno Haible  <bruno@clisp.org>
46658
46659         * m4/onceonly.m4: Require autoconf 2.54 or newer.
46660         (m4_quote): Remove macro.
46661         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
46662
46663 2003-03-14  Jim Meyering  <jim@meyering.net>
46664
46665         Merge changes from Coreutils.
46666         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
46667         to be const, in order to avoid warnings.
46668         (obstack_room): Likewise.
46669         (obstack_empty_p): Likewise.
46670
46671 2003-03-14  Bruno Haible  <bruno@clisp.org>
46672
46673         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
46674         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
46675
46676 2003-03-13  Paul Eggert  <eggert@twinsun.com>
46677
46678         Merge changes from Bison.
46679         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
46680         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
46681         when compiling Bison 1.875's `bitset bset = obstack_alloc
46682         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
46683         * lib/hash.c: Include <stdbool.h> unconditionally.
46684
46685 2003-03-13  Paul Eggert  <eggert@twinsun.com>
46686
46687         * m4/onceonly.m4 (m4_quote): New macro.
46688         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
46689         Quote AC_FOREACH variable-expansions properly.
46690
46691 2003-03-13  Paul Eggert  <eggert@twinsun.com>
46692
46693         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
46694
46695 2003-03-09  Paul Eggert  <eggert@twinsun.com>
46696
46697         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
46698         Reported by Bruce Becker; see:
46699         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
46700
46701 2003-03-03  Paul Eggert  <eggert@twinsun.com>
46702             Bruno Haible  <bruno@clisp.org>
46703
46704         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
46705         Reported by John Hughes, see
46706         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
46707
46708 2003-02-20  Bruno Haible  <bruno@clisp.org>
46709
46710         * MODULES.html.sh (func_all_modules): Add poll.
46711
46712 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
46713
46714         * modules/poll: New file.
46715
46716 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
46717
46718         * lib/poll_.h: New file.
46719         * lib/poll.c: New file.
46720
46721 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
46722
46723         * m4/poll.m4: New file.
46724
46725 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
46726
46727         * modules/mathl: New file.
46728
46729 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
46730
46731         * lib/mathl.h: New file.
46732         * lib/acosl.c: New file.
46733         * lib/asinl.c: New file.
46734         * lib/atanl.c: New file.
46735         * lib/ceill.c: New file.
46736         * lib/cosl.c: New file.
46737         * lib/expl.c: New file.
46738         * lib/floorl.c: New file.
46739         * lib/frexpl.c: New file.
46740         * lib/ldexpl.c: New file.
46741         * lib/logl.c: New file.
46742         * lib/sincosl.c: New file.
46743         * lib/sinl.c: New file.
46744         * lib/sqrtl.c: New file.
46745         * lib/tanl.c: New file.
46746         * lib/trigl.c: New file.
46747         * lib/trigl.h: New file.
46748
46749 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
46750
46751         * m4/mathl.m4: New file.
46752
46753 2003-02-18  Bruno Haible  <bruno@clisp.org>
46754
46755         * MODULES.html.sh (func_all_modules): Add mathl.
46756
46757 2003-02-17  Bruno Haible  <bruno@clisp.org>
46758
46759         * modules/mkdtemp: New module.
46760         * MODULES.html.sh (func_all_modules): Add it.
46761
46762 2003-02-17  Bruno Haible  <bruno@clisp.org>
46763
46764         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
46765
46766 2003-02-17  Bruno Haible  <bruno@clisp.org>
46767
46768         * lib/mkdtemp.h: New file, from GNU gettext.
46769         * lib/mkdtemp.c: New file, from GNU gettext.
46770
46771 2003-02-02  Jim Meyering  <jim@meyering.net>
46772
46773         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
46774         e.g. glibc-2.2.93.
46775
46776 2003-01-31  Bruno Haible  <bruno@clisp.org>
46777
46778         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
46779         'rpl_rename'.
46780         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
46781         'rpl_strnlen'.
46782         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
46783         'rpl_strtod'.
46784         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
46785         'rpl_utime'.
46786
46787 2003-01-31  Bruno Haible  <bruno@clisp.org>
46788
46789         * lib/rename.c: #undef rename before defining rpl_rename.
46790         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
46791
46792 2003-01-30  Bruno Haible  <bruno@clisp.org>
46793
46794         * modules/vasnprintf, modules/vasprintf: New modules.
46795         * MODULES.html.sh (func_all_modules): Add them.
46796
46797 2003-01-30  Bruno Haible  <bruno@clisp.org>
46798
46799         * m4/signed.m4: New file, from GNU gettext.
46800         * m4/longdouble.m4: New file, from GNU gettext.
46801         * m4/wchar_t.m4: New file, from GNU gettext.
46802         * m4/wint_t.m4: New file, from GNU gettext.
46803         * m4/vasnprintf.m4: New file.
46804         * m4/vasprintf.m4: New file.
46805
46806 2003-01-30  Bruno Haible  <bruno@clisp.org>
46807
46808         * lib/printf-args.h: New file, from GNU gettext.
46809         * lib/printf-args.c: New file, from GNU gettext.
46810         * lib/printf-parse.h: New file, from GNU gettext.
46811         * lib/printf-parse.c: New file, from GNU gettext.
46812         * lib/vasnprintf.h: New file, from GNU gettext.
46813         * lib/vasnprintf.c: New file, from GNU gettext.
46814         * lib/asnprintf.c: New file, from GNU gettext.
46815         * lib/vasprintf.h: New file, from GNU gettext with modifications.
46816         * lib/vasprintf.c: New file, from GNU gettext.
46817         * lib/asprintf.c: New file, from GNU gettext.
46818
46819 2003-01-29  Bruno Haible  <bruno@clisp.org>
46820
46821         * modules/stpncpy: New module.
46822         * MODULES.html.sh (func_all_modules): Add it.
46823
46824 2003-01-29  Bruno Haible  <bruno@clisp.org>
46825
46826         * m4/stpncpy.m4: New file.
46827
46828 2003-01-29  Bruno Haible  <bruno@clisp.org>
46829
46830         * lib/stpncpy.h: New file, from GNU gettext with modifications.
46831         * lib/stpncpy.c: New file, from GNU gettext with modifications.
46832
46833 2003-01-28  Bruno Haible  <bruno@clisp.org>
46834
46835         * modules/c-ctype: New module.
46836         * MODULES.html.sh (func_all_modules): Add it.
46837
46838 2003-01-28  Bruno Haible  <bruno@clisp.org>
46839
46840         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
46841         Paul Eggert.
46842         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
46843         Paul Eggert.
46844
46845 2003-01-27  Bruno Haible  <bruno@clisp.org>
46846
46847         * modules/xsetenv: New module.
46848         * MODULES.html.sh (func_all_modules): Add it.
46849
46850 2003-01-27  Bruno Haible  <bruno@clisp.org>
46851
46852         * lib/xsetenv.h: New file, from GNU gettext.
46853         * lib/xsetenv.c: New file, from GNU gettext.
46854
46855 2003-01-23  Jim Meyering  <jim@meyering.net>
46856
46857         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
46858         from working on systems without dirfd (at least Irix and OSF1/Tru64).
46859
46860 2003-01-23  Bruno Haible  <bruno@clisp.org>
46861
46862         * modules/minmax: New module.
46863         * MODULES.html.sh (func_all_modules): Add it.
46864
46865 2003-01-23  Bruno Haible  <bruno@clisp.org>
46866
46867         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
46868         Eggert.
46869
46870 2003-01-22  Bruno Haible  <bruno@clisp.org>
46871
46872         * modules/exit: New module.
46873         * MODULES.html.sh (func_all_modules): Add it.
46874
46875 2003-01-22  Bruno Haible  <bruno@clisp.org>
46876
46877         * lib/exit.h: New file, from GNU gettext.
46878
46879 2003-01-19  Bruno Haible  <bruno@clisp.org>
46880
46881         * gnulib-tool: Recognize option --extract-maintainer.
46882         (func_get_maintainer): New function.
46883         * modules/*: Add Maintainer entry.
46884
46885 2003-01-16  Jim Meyering  <jim@meyering.net>
46886
46887         * m4/regex.m4: The `regex' struct is both input and output.
46888         Initialize it before each use.  Patch by Tim Waugh.
46889
46890 2003-01-16  Bruno Haible  <bruno@clisp.org>
46891
46892         * MODULES.html.sh: Add a table of contents. Add the module name as
46893         leftmost column. Add hyperlinks.
46894
46895 2003-01-15  Bruno Haible  <bruno@clisp.org>
46896
46897         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
46898
46899 2003-01-15  Bruno Haible  <bruno@clisp.org>
46900
46901         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
46902         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
46903         suffix.
46904
46905 2003-01-15  Bruno Haible  <bruno@clisp.org>
46906
46907         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
46908
46909 2003-01-15  Bruno Haible  <bruno@clisp.org>
46910
46911         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
46912         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
46913
46914 2003-01-14  Jim Meyering  <jim@meyering.net>
46915
46916         * lib/same.c (same_name): Tweak a comment.
46917
46918 2003-01-14  Bruno Haible  <bruno@clisp.org>
46919
46920         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
46921         when a string comparison is sufficient.
46922
46923 2003-01-14  Bruno Haible  <bruno@clisp.org>
46924
46925         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
46926         'unsigned int'.
46927
46928 2003-01-14  Bruno Haible  <bruno@clisp.org>
46929
46930         * lib/hash-pjw.c: Add comment about low quality of this function.
46931
46932 2003-01-13  Bruno Haible  <bruno@clisp.org>
46933
46934         * modules/stpcpy: Distribute lib/stpcpy.h.
46935         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
46936
46937 2003-01-13  Bruno Haible  <bruno@clisp.org>
46938
46939         * modules/*: Add a description.
46940         * modules/strpbrk: Fix Makefile.am snippet.
46941         * modules/strtoimax: Fix dependencies.
46942         * modules/strtoumax: Likewise.
46943
46944 2003-01-13  Bruno Haible  <bruno@clisp.org>
46945
46946         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
46947         * modules/alloca (Makefile.am): All object files depend on alloca.h.
46948         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
46949
46950 2003-01-13  Bruno Haible  <bruno@clisp.org>
46951
46952         * gnulib-tool (func_create_testdir): Store config/* files in the main
46953         directory.
46954         * config.rpath: Move to ...
46955         * config/config.rpath: ... here.
46956         * modules/gettext: Contains config/config.rpath, not config.rpath.
46957         * modules/iconv: Likewise.
46958
46959 2003-01-12  Paul Eggert  <eggert@twinsun.com>
46960
46961         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
46962         to avoid collisions with libcurses and libreadline.
46963
46964         * m4/getstr.m4: Remove.
46965         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
46966
46967 2003-01-12  Paul Eggert  <eggert@twinsun.com>
46968
46969         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
46970         to avoid collisions with libcurses and libreadline.
46971
46972         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
46973         * lib/getstr.h, getstr.c: Remove.
46974         * lib/getline.c: Include "getline.h", to check interface.
46975         Move body of old getstr.c here: this defines MIN_CHUNK and
46976         declares getdelim2, which is renamed from getstr.
46977         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
46978
46979         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
46980         All uses changed.
46981         * lib/linebuffer.h: Likewise.
46982         (readline): Remove backward-compatibility macro.
46983
46984 2003-01-12  Paul Eggert  <eggert@twinsun.com>
46985
46986         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
46987         to avoid collisions with libcurses and libreadline.
46988         * getstr: Remove.
46989         * MODULES.html.sh: Remove getstr.
46990         * modules/getline: Depend on unlocked-io, not getstr.
46991
46992 2003-01-12  Jim Meyering  <jim@meyering.net>
46993
46994         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
46995
46996 2003-01-10  Bruno Haible  <bruno@clisp.org>
46997
46998         * modules/alloca: Change Makefile.am requirements. Simplify Include
46999         requirements. Add lib/alloca_.h to file list.
47000
47001 2003-01-10  Bruno Haible  <bruno@clisp.org>
47002
47003         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
47004
47005 2003-01-10  Bruno Haible  <bruno@clisp.org>
47006
47007         * lib/alloca_.h: New file.
47008         * lib/getdate.y: Unconditionally include alloca.h.
47009         * lib/makepath.c: Likewise.
47010         * lib/setenv.c: Likewise.
47011         * lib/userspec.c: Likewise.
47012
47013 2003-01-09  Karl Berry  <karl@gnu.org>
47014
47015         * MODULES.html.sh: include `dirname $0` in PATH, to find
47016         gnulib-tool.
47017
47018 2003-01-09  Bruno Haible  <bruno@clisp.org>
47019
47020         * modules/stdbool: Change configure.ac, Makefile.am requirements.
47021         Simplify Include requirements. Add lib/stdbool.h.in to file list.
47022
47023 2003-01-09  Bruno Haible  <bruno@clisp.org>
47024
47025         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
47026
47027 2003-01-09  Bruno Haible  <bruno@clisp.org>
47028
47029         * lib/stdbool.h.in: New file.
47030
47031 2003-01-09  Bruno Haible  <bruno@clisp.org>
47032
47033         * gnulib-tool (func_all_modules): Ignore files ending in ~.
47034         * MODULES.html.sh: Likewise.
47035
47036 2003-01-08  Jim Meyering  <jim@meyering.net>
47037
47038         * lib/full-write.c: Undefine and define-away `const' after inclusion
47039         of errno.h, not before.  Suggestion from Bruno Haible.
47040
47041 2003-01-08  Bruno Haible  <bruno@clisp.org>
47042
47043         * modules/full-read: Depend on full-write.
47044
47045 2003-01-08  Bruno Haible  <bruno@clisp.org>
47046
47047         * lib/safe-read.c: Include specification header first, to ensure its
47048         selfcontainedness.
47049         * lib/full-write.c: Likewise.
47050
47051 2003-01-07  Jim Meyering  <jim@meyering.net>
47052
47053         * lib/full-write.c: Rework so that it may serve to define full_read,
47054         too.
47055         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
47056
47057 2003-01-07  Bruno Haible  <bruno@clisp.org>
47058
47059         * lib/strtoimax.c: Include <stdint.h> as an alternative to
47060         <inttypes.h>.
47061         * lib/xstrtol.h: Likewise.
47062         * lib/xstrtoimax.c: Likewise.
47063         * lib/xstrtoumax.c: Likewise.
47064         * lib/human.h: Likewise.
47065
47066         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
47067         on systems that have <inttypes.h> but not <stdint.h>.
47068
47069 2003-01-07  Bruno Haible  <bruno@clisp.org>
47070
47071         * MODULES.html.sh: Add copyright notice.
47072         (missed_files): Omit CVS directory entries.
47073         (func_module): Make it work with sed-3.02.
47074         * MODULES.txt: Remove file.
47075
47076 2003-01-06  Jim Meyering  <jim@meyering.net>
47077
47078         * lib/version-etc.c: Update year in translatable copyright string.
47079
47080 2003-01-03  Karl Berry  <karl@gnu.org>
47081
47082         * config/config.{guess,sub}: update from prep.
47083
47084 2003-01-02  Karl Berry  <karl@gnu.org>
47085
47086         * doc/COPYING.DOC: belatedly updated to 1.2.
47087
47088 2003-01-01  Karl Berry  <karl@gnu.org>
47089
47090         * gnulib-tool (func_verify_module): report module name $module in
47091         error message, not $1.
47092         * gnulib-tool (create-testdir): don't complain if destdir couldn't
47093         be created, only if it doesn't exist.
47094         * gnulib-tool (last_checkin_date): don't expand the $Date here.
47095
47096 2002-12-31  Paul Eggert  <eggert@twinsun.com>
47097
47098         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
47099
47100 2002-12-31  Paul Eggert  <eggert@twinsun.com>
47101
47102         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
47103         memcmp if strcoll doesn't work.
47104
47105 2002-12-31  Bruno Haible  <bruno@clisp.org>
47106
47107         * lib/utime.c (utime_null): No need to call ftruncate if the file was
47108         nonempty.
47109
47110 2002-12-31  Bruno Haible  <bruno@clisp.org>
47111
47112         * lib/memcoll.c (STRCOLL): New macro.
47113         (memcoll): Use it.
47114
47115 2002-12-31  Bruno Haible  <bruno@clisp.org>
47116
47117         * lib/localcharset.h: New file.
47118         * lib/localcharset.c: Include it.
47119         * lib/unicodeio.c: Likewise.
47120
47121 2002-12-31  Bruno Haible  <bruno@clisp.org>
47122
47123         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
47124         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
47125
47126 2002-12-31  Bruno Haible  <bruno@clisp.org>
47127
47128         * lib/getline.h: Include <stddef.h>, for size_t.
47129
47130         * lib/unicodeio.h: Include <stddef.h>, for size_t.
47131         * lib/unicodeio.c: Don't include <stddef.h>.
47132
47133 2002-12-31  Bruno Haible  <bruno@clisp.org>
47134
47135         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
47136         HAVE_TM_ZONE.
47137
47138 2002-12-24  Karl Berry  <karl@gnu.org>
47139
47140         * config/config.guess: update from prep.
47141
47142 2002-12-24  Bruno Haible  <bruno@clisp.org>
47143
47144         General infrasructure.
47145         * m4/README: Rewritten.
47146         * m4/onceonly.m4: New file.
47147         * m4/onceonly_2_57.m4: New file.
47148
47149         Module atexit.
47150         * m4/atexit.m4: New file.
47151
47152         Module strtod.
47153         * m4/strtod.m4: New file.
47154
47155         Module strtol.
47156         * m4/strtol.m4: New file.
47157
47158         Module strtoul.
47159         * m4/strtoul.m4: New file.
47160
47161         Module memchr.
47162         * m4/memchr.m4: New file.
47163
47164         Module memcmp.
47165         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
47166         (jm_FUNC_MEMCMP): Invoke it.
47167
47168         Module memcpy.
47169         * m4/memcpy.m4: New file.
47170
47171         Module memmove.
47172         * m4/memmove.m4: New file.
47173
47174         Module memset.
47175         * m4/memset.m4: New file.
47176
47177         Module strcspn.
47178         * m4/strcspn.m4: New file.
47179
47180         Module strpbrk.
47181         * m4/strpbrk.m4: New file.
47182
47183         Module strstr.
47184         * m4/strstr.m4: New file.
47185
47186         Module strerror.
47187         * m4/strerror.m4: New file.
47188
47189         Module mktime.
47190         * m4/mktime.m4: Renamed from jm-mktime.m4.
47191         (gl_PREREQ_MKTIME): New macro.
47192         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
47193
47194         Module malloc.
47195         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
47196         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
47197         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
47198
47199         Module realloc.
47200         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
47201         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
47202         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
47203
47204         Module strftime.
47205         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
47206         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
47207         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
47208         gl_TM_GMTOFF.
47209         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
47210
47211         Module xalloc.
47212         * m4/xalloc.m4: New file.
47213
47214         Module alloca.
47215         * m4/alloca.m4: New file.
47216
47217         Module putenv.
47218         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
47219         (jm_FUNC_PUTENV): Invoke it.
47220
47221         Module setenv.
47222         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
47223         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
47224         when invoked twice.
47225         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
47226         gt_FUNC_SETENV.
47227
47228         Module memrchr.
47229         * m4/memrchr.m4: New file.
47230
47231         Module stpcpy.
47232         * m4/stpcpy.m4: New file.
47233
47234         Module strcase.
47235         * m4/strcase.m4: New file.
47236
47237         Module strdup.
47238         * m4/strdup.m4: New file.
47239
47240         Module strnlen.
47241         * m4/strnlen.m4: New file.
47242
47243         Module strndup.
47244         * m4/strndup.m4: New file.
47245
47246         Module xstrtod.
47247         * m4/xstrtod.m4: New file.
47248
47249         Module xstrtol.
47250         * m4/xstrtol.m4: New file.
47251
47252         Module getdate.
47253         * m4/getdate.m4: New file.
47254
47255         Module unlocked-io.
47256         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
47257         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
47258         * m4/jm-glibc-io.m4n: Remove file.
47259
47260         Module long-options.
47261         * m4/long-options.m4: New file.
47262
47263         Module md5.
47264         * m4/md5.m4: New file.
47265
47266         Module sha.
47267         * m4/sha.m4: New file.
47268
47269         Module getstr.
47270         * m4/getstr.m4: New file.
47271
47272         Module getline.
47273         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
47274         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
47275         <sys/types.h>, for size_t. Use the function name gnu_getline, not
47276         simply getline. Infoke gl_PREREQ_GETLINE.
47277
47278         Module obstack.
47279         * m4/obstack.m4: New file.
47280
47281         Module hash.
47282         * m4/hash.m4: New file.
47283
47284         Module readtokens.
47285         * m4/readtokens.m4: New file.
47286
47287         Module strverscmp.
47288         * m4/strverscmp.m4: New file.
47289
47290         Module stdbool.
47291         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
47292         OSF/1.
47293
47294         Module strtoll.
47295         * m4/strtoll.m4: New file.
47296
47297         Module strtoull.
47298         * m4/strtoull.m4: New file.
47299
47300         Module strtoimax.
47301         * m4/strtoimax.m4: New file.
47302
47303         Module strtoumax.
47304         * m4/strtoumax.m4: New file.
47305
47306         Module xstrtoimax.
47307         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
47308         jm_AC_PREREQ_XSTRTOIMAX.
47309         Moved the strtol prerequisites to strtol.m4.
47310         Moved the strtoll prerequisites to strtoll.m4.
47311         Moved the strtoimax prerequisites to strtoimax.m4.
47312
47313         Module xstrtoumax.
47314         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
47315         jm_AC_PREREQ_XSTRTOUMAX.
47316         Moved the strtoul prerequisites to strtoul.m4.
47317         Moved the strtoull prerequisites to strtoull.m4.
47318         Moved the strtoumax prerequisites to strtoumax.m4.
47319
47320         Module chown.
47321         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
47322         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
47323
47324         Module dup2.
47325         * m4/dup2.m4: New file.
47326
47327         Module ftruncate.
47328         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
47329         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
47330
47331         Module getgroups.
47332         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
47333         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
47334
47335         Module gettimeofday.
47336         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
47337         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
47338         gl_PREREQ_GETTIMEOFDAY.
47339
47340         Module mkdir.
47341         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
47342         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
47343
47344         Module mkstemp.
47345         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
47346         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
47347         jm_AC_TYPE_UINTMAX_T.
47348         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
47349
47350         Module stat.
47351         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
47352         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
47353
47354         Module lstat.
47355         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
47356         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
47357
47358         Module timespec.
47359         * m4/timespec.m4 (gl_TIMESPEC): New macro.
47360         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
47361         * m4/st_mtim.m4: Indentation.
47362
47363         Module nanosleep.
47364         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
47365         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
47366         gl_PREREQ_NANOSLEEP.
47367
47368         Module regex.
47369         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
47370         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
47371         (gl_REGEX): New macro.
47372
47373         Module rename.
47374         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
47375         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
47376
47377         Module rmdir.
47378         * m4/rmdir.m4: New file.
47379
47380         Module utime.
47381         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
47382         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
47383         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
47384
47385         Module dirname.
47386         * m4/dirname.m4: New file.
47387
47388         Module getopt.
47389         * m4/getopt.m4: New file.
47390
47391         Module unistd-safer.
47392         * m4/unistd-safer.m4: New file.
47393
47394         Module fnmatch.
47395         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
47396         declaration.
47397         (gl_PREREQ_FNMATCH_EXTRA): New macro.
47398         (gl_FUNC_FNMATCH_POSIX): New macro.
47399         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
47400         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
47401         simply fnmatch.
47402
47403         Module exclude.
47404         * m4/exclude.m4: New file.
47405
47406         Module human.
47407         * m4/human.m4: New file.
47408
47409         Module acl.
47410         * m4/acl.m4: Nop.
47411
47412         Module backupfile.
47413         * m4/backupfile.m4: New file.
47414         * m4/d-ino.m4: Indentation.
47415
47416         Module fsusage.
47417         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
47418         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
47419         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
47420
47421         Module dirfd.
47422         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
47423         requirements.
47424
47425         Module euidaccess.
47426         * m4/euidaccess.m4: New file.
47427
47428         Module file-type.
47429         * m4/file-type.m4: New file.
47430
47431         Module fileblocks.
47432         * m4/fileblocks.m4: New file.
47433
47434         Module filemode.
47435         * m4/filemode.m4: New file.
47436
47437         Module isdir.
47438         * m4/isdir.m4: New file.
47439
47440         Module lchown.
47441         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
47442         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
47443
47444         Module makepath.
47445         * m4/makepath.m4: New file.
47446
47447         Module modechange.
47448         * m4/modechange.m4: New file.
47449
47450         Module mountlist.
47451         * m4/mountlist.m4: New file.
47452         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
47453         Indentation.
47454
47455         Module path-concat.
47456         * m4/path-concat.m4: New file.
47457
47458         Module pathmax.
47459         * m4/pathmax.m4: New file.
47460
47461         Module same.
47462         * m4/same.m4: New file.
47463
47464         Module save-cwd.
47465         * m4/save-cwd.m4: New file.
47466
47467         Module savedir.
47468         * m4/savedir.m4: New file.
47469
47470         Module xgetcwd.
47471         * m4/xgetcwd.m4: New file.
47472         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
47473
47474         Module xreadlink.
47475         * m4/xreadlink.m4: New file.
47476
47477         Module safe-read.
47478         * m4/safe-read.m4: New file.
47479
47480         Module safe-write.
47481         * m4/safe-write.m4: New file.
47482
47483         Module closeout.
47484         * m4/closeout.m4: New file.
47485
47486         Module stdio-safer.
47487         * m4/stdio-safer.m4: New file.
47488
47489         Module getpass.
47490         * m4/getpass.m4: New file.
47491
47492         Module getugroups.
47493         * m4/getugroups.m4: New file.
47494
47495         Module group-member.
47496         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
47497         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
47498
47499         Module idcache.
47500         * m4/idcache.m4: New file.
47501
47502         Module userspec.
47503         * m4/userspec.m4: New file.
47504
47505         Module gettime.
47506         * m4/clock_time.m4: New file.
47507         * m4/gettime.m4: New file.
47508
47509         Module settime.
47510         * m4/settime.m4: New file.
47511
47512         Module posixtm.
47513         * m4/posixtm.m4: New file.
47514
47515         Module gethostname.
47516         * m4/gethostname.m4: New file.
47517
47518         Module canon-host.
47519         * m4/canon-host.m4: New file.
47520
47521         Module gettext.
47522         * m4/codeset.m4: New file, from gettext-0.11.5.
47523         * m4/gettext.m4: New file, from gettext-0.11.5.
47524         * m4/glibc21.m4: New file, from gettext-0.11.5.
47525         * m4/iconv.m4: New file, from gettext-0.11.5.
47526         * m4/intdiv0.m4: New file, from gettext-0.11.5.
47527         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
47528         * m4/inttypes.m4: New file, from gettext-0.11.5.
47529         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
47530         * m4/isc-posix.m4: New file, from gettext-0.11.5.
47531         * m4/lcmessage.m4: New file, from gettext-0.11.5.
47532         * m4/lib-ld.m4: New file, from gettext-0.11.5.
47533         * m4/lib-link.m4: New file, from gettext-0.11.5.
47534         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
47535         * m4/progtest.m4: New file, from gettext-0.11.5.
47536         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
47537         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
47538         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
47539
47540         Module localcharset.
47541         * m4/localcharset.m4: New file.
47542
47543         Module hard-locale.
47544         * m4/hard-locale.m4: New file.
47545
47546         Module mbswidth.
47547         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
47548         onceonly macros.
47549         * m4/mbrtowc.m4: Add comment.
47550
47551         Module memcasecmp.
47552         * m4/memcasecmp.m4: New file.
47553
47554         Module memcoll.
47555         * m4/memcoll.m4: New file.
47556
47557         Module unicodeio.
47558         * m4/unicodeio.m4: New file.
47559
47560         Module rpmatch.
47561         * m4/rpmatch.m4: New file.
47562
47563         Module yesno.
47564         * m4/yesno.m4: New file.
47565
47566         Module exitfail.
47567         * m4/exitfail.m4: New file.
47568
47569         Module c-stack.
47570         * m4/c-stack.m4 (gl_C_STACK): New macro.
47571         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
47572
47573         Module error.
47574         * m4/error.m4 (gl_ERROR): New macro.
47575         (jm_PREREQ_ERROR): Use onceonly macros.
47576
47577         Module fatal.
47578         * m4/fatal.m4: New file.
47579
47580         Module getloadavg.
47581         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
47582         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
47583
47584         Module getpagesize.
47585         * m4/getpagesize.m4: New file.
47586
47587         Module getusershell.
47588         * m4/getusershell.m4: New file.
47589
47590         Module physmem.
47591         * m4/physmem.m4: New file.
47592
47593         Module posixver.
47594         * m4/posixver.m4: New file.
47595
47596         Module quotearg.
47597         * m4/quotearg.m4: New file.
47598
47599         Module quote.
47600         * m4/quote.m4: New file.
47601
47602         Module readutmp.
47603         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
47604
47605         Module sig2str.
47606         * m4/sig2str.m4: New file.
47607
47608         Other.
47609         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
47610         ulonglong.m4.
47611         * m4/intmax_t.m4: New file.
47612         * m4/d-type.m4: Indentation.
47613         * m4/jm-macros.m4: Update.
47614         * m4/prereq.m4 (jm_PREREQ): Update.
47615         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
47616         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
47617         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
47618         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
47619         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
47620         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
47621         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
47622         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
47623         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
47624         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
47625         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
47626         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
47627         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
47628         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
47629         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
47630         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
47631         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
47632         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
47633         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
47634
47635 2002-12-24  Bruno Haible  <bruno@clisp.org>
47636
47637         * MODULES.txt: Update according to m4/ changes.
47638
47639         Module gettext.
47640         * config.rpath: New file, from gettext-0.11.5.
47641
47642         * modules/*: New module descriptions.
47643         * gnulib-tool: New file.
47644         * MODULES.html.sh: New file.
47645
47646 2002-12-21  Karl Berry  <karl@gnu.org>
47647
47648         * doc/fdl.texi: update to version 1.2.
47649
47650 2002-12-19  Karl Berry  <karl@gnu.org>
47651
47652         * config/config.guess: update from prep.
47653
47654 2002-12-18  Bruno Haible  <bruno@clisp.org>
47655
47656         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
47657         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
47658
47659 2002-12-17  Bruno Haible  <bruno@clisp.org>
47660
47661         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
47662         stdlib.h, string.h.
47663
47664 2002-12-17  Bruno Haible  <bruno@clisp.org>
47665
47666         * lib/canon-host.c (strdup): Remove unused declaration.
47667
47668         * lib/fsusage.c: Include full_read.h.
47669         (get_fs_usage): Use full_read instead of safe_read.
47670
47671         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
47672
47673 2002-12-12  Karl Berry  <karl@gnu.org>
47674
47675         * config/config.guess: update from prep.
47676
47677 2002-12-11  Bruno Haible  <bruno@clisp.org>
47678
47679         * m4/setenv.m4: New file, from gettext-0.11.5.
47680
47681 2002-12-11  Bruno Haible  <bruno@clisp.org>
47682
47683         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
47684         not unsetenv().
47685         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
47686         modifications:
47687
47688         2002-12-11  Bruno Haible  <bruno@clisp.org>
47689
47690                 * setenv.c (alloca): Fall back to malloc.
47691                 (freea): New macro.
47692                 (setenv): Use freea() to free memory allocated with alloca().
47693
47694         2002-11-13  Bruno Haible  <bruno@clisp.org>
47695
47696                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
47697                 function declarations.
47698                 * unsetenv.c (unsetenv): Likewise.
47699
47700         2002-03-04  Bruno Haible  <bruno@clisp.org>
47701
47702                 Portability to AIX 4.3.3.
47703                 * unsetenv.c: New file, extracted from setenv.c.
47704                 * setenv.c: Move the unsetenv() function to unsetenv.c.
47705
47706         2001-12-20  Bruno Haible  <bruno@clisp.org>
47707
47708                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
47709                 use malloc instead. For SunOS 4.
47710
47711         2001-12-11  Bruno Haible  <bruno@clisp.org>
47712
47713                 * setenv.c: Declare alloca.
47714                 (compar_fn_t): New typedef.
47715                 (KNOWN_VALUE, STORE_VALUE): Use it.
47716
47717         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
47718         setenv.h.
47719
47720 2002-12-10  Paul Eggert  <eggert@twinsun.com>
47721
47722         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
47723         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
47724         Choose values that are less likely to collide with system fnmatch
47725         options.
47726         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
47727         defined (e.g., a pure POSIX system).
47728         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
47729         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
47730
47731 2002-12-06  Paul Eggert  <eggert@twinsun.com>
47732
47733         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
47734         a pain in practice to deal with generated m4 files.  This change
47735         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
47736
47737         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
47738         and jm-glibc-io.m4, as they are no longer a special case.
47739         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
47740         kludge and the auto-generation stuff.  Check only whether the
47741         functions are declared, not whether they exist, since older hosts
47742         that don't declare the functions can't use the optimization anyway.
47743
47744 2002-12-06  Jim Meyering  <jim@meyering.net>
47745
47746         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
47747
47748         Merge in changes from libc's misc/error.c, in preparation
47749         for the merge of gnulib's changes back into libc.
47750
47751         * lib/error.c (_): Define only if not already defined.
47752         Move definition to follow all #include directives.
47753         Include unlocked-io.h only if !_LIBC.
47754         [_LIBC]: Include <libio/libioP.h>.
47755         [USE_IN_LIBIO]: Include <libio/iolibio.h>
47756         (fflush): Tweak definition to use INTUSE.
47757         (putc): Define.
47758
47759 2002-12-05  Paul Eggert  <eggert@twinsun.com>
47760
47761         * lib/alloca.c [defined emacs]: Include "lisp.h".
47762         (xalloc_die) [defined emacs]: New macro.
47763         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
47764         [! defined emacs]: Include <xalloc.h>.
47765         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
47766         (pointer): Typedef to POINTER_TYPE *.
47767         (malloc): Remove decl; we now always use xmalloc.
47768         (alloca): Use old-style definition, since Emacs needs this.
47769         Check for arithmetic overflow when computing combined size.
47770
47771 2002-12-04  Paul Eggert  <eggert@twinsun.com>
47772
47773         Do not generate unlocked-io.h automatically, since it's easier to
47774         maintain it by hand.
47775
47776         * lib/unlocked-io.h: New file, from GNU diffutils,
47777         but with proper copyright notice and attribution.
47778         * lib/gen-uio: Remove.
47779         * lib/Makefile.am: Add copyright notice.
47780         (libfetish_a_SOURCES): Add unlocked-io.h.
47781         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
47782         (DISTCLEANFILES, io_functions): Remove macros.
47783         (EXTRA_DIST): Remove gen_uio.
47784         (unlocked-io.h): Remove rule.
47785
47786 2002-12-04  Jim Meyering  <jim@meyering.net>
47787
47788         Reflect the fact that stat.c and lstat.c are no longer generated.
47789         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
47790         (DISTCLEANFILES): Likewise.
47791         (EXTRA_DIST): Likewise.
47792         (all_local): Don't depend on stat.c or lstat.c.
47793         (stat.c, lstat.c): Remove rules.
47794         (EXTRA_DIST): Remove xstat.in.
47795
47796         * lib/xstat.in: Remove file.  Contents moved into stat.c.
47797         * lib/stat.c: New file.  Contents mostly from xstat.in.
47798         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
47799         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
47800
47801         * lib/safe-read.c: Rework so that it may serve to define safe_write,
47802         too.
47803         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
47804
47805 2002-12-03  Jim Meyering  <jim@meyering.net>
47806
47807         * lib/safe-read.c, safe-write.c: Change variable names and comments,
47808         but not semantics, to minimize the differences between these two files.
47809         (safe_read): Change comment to mention SAFE_READ_ERROR.
47810
47811         * lib/safe-read.c (IS_EINTR): Define.
47812         (safe_read): Use IS_EINTR in place of in-function cpp directives.
47813
47814 2002-12-02  Jim Meyering  <jim@meyering.net>
47815
47816         * lib/safe-read.c (EINTR): Define.
47817         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
47818         (INT_MAX): Provide fallback.
47819         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
47820
47821         * lib/safe-read.h (SAFE_READ_ERROR): Define.
47822
47823 2002-12-02  Bruno Haible  <bruno@clisp.org>
47824
47825         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
47826         Define, taken from safe-read.c.
47827         (INT_MAX): Provide fallback.
47828         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
47829         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
47830
47831         * lib/safe-read.c (EINTR): Remove definition.
47832         (safe_read): Don't use EINTR if it is absent.
47833
47834 2002-12-01  Jim Meyering  <jim@meyering.net>
47835
47836         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
47837         zero.
47838         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
47839
47840 2002-11-27  Paul Eggert  <eggert@twinsun.com>
47841
47842         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
47843         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
47844         with `if (! (value < limit)) abort ();', for readability.
47845
47846 2002-11-26  Karl Berry  <karl@gnu.org>
47847
47848         * lib/strdup.c: copy from libc again, with jim's ok.
47849         * lib/.cppi-disable: re-add strdup.c
47850
47851 2002-11-25  Karl Berry  <karl@gnu.org>
47852
47853         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
47854         instead of "strtol.c".
47855
47856 2002-11-25  Karl Berry  <karl@gnu.org>
47857
47858         * config/install-sh: update from automake for variable quoting, $0 in
47859         error msgs, etc.
47860
47861         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
47862         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
47863         entry.
47864
47865 2002-11-25  Jim Meyering  <jim@meyering.net>
47866
47867         * lib/mktime.c: Sync from libc, now that it has the latest fix.
47868
47869 2002-11-24  Karl Berry  <karl@gnu.org>
47870
47871         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
47872         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
47873
47874 2002-11-24  Jim Meyering  <jim@meyering.net>
47875
47876         Update from coreutils:
47877
47878         * lib/mktime.c: Merge in changes from libc.
47879
47880         Avoid a link-time failure on some Linux systems.
47881         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
47882         (otherwise).
47883         (__mon_yday): Declare with the STATIC attribute.
47884         (__mktime_internal): Likewise.
47885         Based on a report from Greg Schafer.
47886
47887 2002-11-23  Jim Meyering  <jim@meyering.net>
47888
47889         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
47890         Use `unsigned', not `int', as type of index.
47891
47892         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
47893
47894         * lib/fsusage.c: Remove unneeded parentheses around operands of
47895         `defined'.
47896
47897 2002-11-22  Paul Eggert  <eggert@twinsun.com>
47898
47899         * lib/quotearg.h: Allow multiple inclusion by surrounding with
47900         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
47901         so that we can be included first.
47902         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
47903         * lib/quotearg.c: Include quotearg.h immediately after config.h.
47904         No need to include stddef.h or sys/types.h any more.
47905         Surround local include files with "", not "<>".
47906         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
47907         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
47908         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
47909         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
47910         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
47911         (ISPRINT): Remove; no longer needed now that we assume C89.
47912
47913         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
47914         Preserve errno.
47915
47916         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
47917         quotearg_char): Use SIZE_MAX rather than
47918         (size_t) -1 when we are talking about "infinity".
47919
47920         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
47921
47922 2002-11-22  Paul Eggert  <eggert@twinsun.com>
47923
47924         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
47925         hint that one should use `if (! x) abort ();' rather than `assert
47926         (x);', and anyway it's one less thing to worry about configuring.
47927         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
47928         hash_rehash, hash_insert): Use abort rather than assert.
47929
47930 2002-11-22  Bruno Haible  <bruno@clisp.org>
47931
47932         * lib/safe-read.h: Assume C89. Add comments.
47933         (safe_read): Change return type to size_t.
47934         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
47935         byte counts > SSIZE_MAX correctly.
47936         * lib/safe-write.h: New file.
47937         * lib/safe-write.c: New file.
47938         * lib/full-read.h: New file.
47939         * lib/full-read.c: New file.
47940         * lib/full-write.h: Assume C89. Add comments.
47941         * lib/full-write.c: Include safe-write.h.
47942         (full_write): Rewritten to use safe_write.
47943         Suggested by Jim Meyering and Paul Eggert.
47944
47945 2002-11-21  Jim Meyering  <jim@meyering.net>
47946
47947         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
47948
47949         Merge in changes from the coreutils.
47950
47951         2002-09-25  Paul Eggert  <eggert@twinsun.com>
47952         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
47953         <stdint.h>.
47954         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
47955         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
47956         int.  Work more efficiently if X is the same width as uintmax_t.
47957         Do not compare X to -1, to avoid bogus compiler warning.
47958         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
47959         Don't assume that f_frsize and f_bsize are the same type.
47960
47961         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
47962         warning on FreeBSD.
47963
47964         * lib/makepath.c (make_path): Restore umask *before* creating the final
47965         component.
47966         (make_path): Minor reformatting.
47967
47968         * lib/xmalloc.c: Adjust to work with new autoconf macros,
47969         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
47970         HAVE_MALLOC/HAVE_REALLOC.
47971
47972         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
47973         dummy ones.  At least on GNU/Linux systems, `auto' means something
47974         else.
47975         From Michael Stone.
47976
47977 2002-11-21  Bruno Haible  <bruno@clisp.org>
47978
47979         Remove case insensitive option matching.
47980         * lib/argmatch.h (argcasematch): Remove declaration.
47981         (ARGCASEMATCH): Remove macro.
47982         (__xargmatch_internal): Remove case_sensitive argument.
47983         (XARGMATCH): Update.
47984         (XARGCASEMATCH): Remove macro.
47985         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
47986         case_sensitive argument.
47987         (argcasematch): Remove function.
47988         (__xargmatch_internal): Remove case_sensitive argument.
47989         (main): Use XARGMATCH instead of XARGCASEMATCH.
47990
47991         * lib/xmalloc.c: Change compile-time error message. Add comment about
47992         required autoconf version.
47993
47994 2002-11-20  Paul Eggert  <eggert@twinsun.com>
47995
47996         Merge argmatch cleanups from Bison.  Assume C89.
47997
47998         * lib/argmatch.c: Include config.h here, not in argmatch.h.
47999         Include stdlib.h, for EXIT_FAILURE.
48000         Always include <string.h>, since we assume C89.
48001         (EXIT_FAILURE): Remove pre-C89 bug workaround.
48002         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
48003         Include <stddef.h> instead, since it's all we need for size_t.
48004         (PARAMS): Remove.  All uses removed.
48005         (ARRAY_CARDINALITY): Do not bother to #undef.
48006         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
48007         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
48008         Remove unnecessary parentheses.
48009         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
48010         Insert necessary parentheses.
48011         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
48012         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
48013
48014 2002-11-19  Bruno Haible  <bruno@clisp.org>
48015
48016         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
48017         * lib/mbswidth.h: Include <stddef.h>, for size_t.
48018
48019         * lib/mbswidth.h (PARAMS): Remove macro.
48020         (mbswidth, mbsnwidth): Use ANSI C function declarations.
48021         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
48022
48023         * lib/gcd.h (PARAMS): Remove macro.
48024         (gcd): Use ANSI C function declarations.
48025         * lib/gcd.c (gcd): Likewise.
48026
48027 2002-11-15  Bruno Haible  <bruno@clisp.org>
48028
48029         * lib/strcspn.c: Include <stddef.h>.
48030         (strcspn): Use ANSI C function declaration. Change return type to
48031         size_t. Use NULL.
48032         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
48033         (strpbrk): Use NULL.
48034         * lib/strpbrk.h (PARAMS): Remove macro.
48035         (strpbrk): Use ANSI C function declaration.
48036         * lib/strstr.c: Don't include <sys/types.h>.
48037         * lib/strstr.h (PARAMS): Remove macro.
48038         (strstr): Use ANSI C function declarations.
48039
48040 2002-11-14  Karl Berry  <karl@gnu.org>
48041
48042         * config/mkinstalldirs: `do' on separate line, instead of
48043         `for var; do'.
48044
48045 2002-11-06  Bruno Haible  <bruno@clisp.org>
48046
48047         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
48048         * lib/gcd.c (gcd): Likewise.
48049
48050 2002-11-05  Bruno Haible  <bruno@clisp.org>
48051
48052         * lib/gcd.h: New file, from gettext-0.11.5.
48053         * lib/gcd.c: New file, from gettext-0.11.5.
48054
48055 2002-11-05  Bruno Haible  <bruno@clisp.org>
48056
48057         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
48058         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
48059         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
48060         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
48061
48062         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
48063         <libintl.h>.
48064         * lib/makepath.c: Include gettext.h instead of <locale.h> and
48065         <libintl.h>.
48066
48067         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
48068         * lib/human.c: Include gettext.h instead of <libintl.h>.
48069         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
48070         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
48071         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
48072         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
48073         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
48074         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
48075         (textdomain): Remove definition.
48076         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
48077
48078         * lib/long-options.c: Remove include of <libintl.h> and definition of
48079         _.
48080         * lib/same.c: Remove include of <libintl.h> and definition of _.
48081
48082 2002-11-04  Owen Taylor  <otaylor@redhat.com>
48083
48084         * lib/config.charset: A few additions for Solaris.
48085
48086 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
48087
48088         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
48089         * lib/localcharset.c (locale_charset): Declare as extern "C".
48090
48091 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
48092
48093         * lib/config.charset: msdos in uk_UA uses CP1125.
48094
48095 2002-11-04  Bruno Haible  <bruno@clisp.org>
48096
48097         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
48098         * lib/strcase.h: New file, from GNU gettext-0.11.5.
48099         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
48100         * lib/strstr.h: New file, from GNU gettext-0.11.5.
48101         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
48102
48103 2002-11-04  Bruno Haible  <bruno@clisp.org>
48104
48105         * lib/localcharset.c (locale_charset): Don't return an empty string.
48106
48107 2002-11-04  Bruno Haible  <bruno@clisp.org>
48108
48109         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
48110         aliases.
48111
48112 2002-11-04  Bruno Haible  <bruno@clisp.org>
48113
48114         * lib/config.charset: Update for newest glibc. Add canonical names
48115         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
48116
48117 2002-11-04  Bruno Haible  <bruno@clisp.org>
48118
48119         * lib/config.charset: Add support for NetBSD.
48120
48121 2002-11-04  Bruno Haible  <bruno@clisp.org>
48122
48123         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
48124
48125 2002-11-01  Bruno Haible  <bruno@clisp.org>
48126
48127         * configure.in: Add AC_CONFIG_AUX_DIR call.
48128         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
48129         test/Makefile.
48130         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
48131
48132 2002-09-28  Karl Berry  <karl@gnu.org>
48133
48134         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
48135         installed automake until the next release, since changes have been
48136         made.
48137
48138 2002-09-25  Karl Berry  <karl@gnu.org>
48139
48140         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
48141         * lib/getopt*: copy from libc/posix.
48142         * lib/gettext.h: copy from gettext.
48143         * lib/.cppi-disable: add strdup.c, gettext.h.
48144
48145 2002-09-25  Karl Berry  <karl@gnu.org>
48146
48147         * config/srclist.txt: enable gettext.h check.
48148         * config/config.{guess,sub}: update from prep.
48149         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
48150                 from automake 1.6.3.
48151         See srclist*.
48152
48153 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
48154
48155         * regex.c (PATFETCH): Remove the translating fetch.
48156         (PATFETCH_RAW): Rename to PATFETCH.
48157         (set_image_of_range): New fun.
48158         (SET_RANGE_TABLE_WORK_AREA): Use it.
48159         (regex_compile): Don't translate the pattern chars so eagerly.
48160         Only do it when inserting an `exactn' bytecode or when handling
48161         a char-range.
48162         (mutually_exclusive_p): Avoid empty statement.
48163
48164 2002-07-06  Jim Meyering  <meyering@lucent.com>
48165
48166         * m4/README: Don't mention Makefile.am.in.
48167         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
48168
48169 2002-07-01  Jim Meyering  <meyering@lucent.com>
48170
48171         * lib/c-stack.c: Include sys/time.h.
48172         From Volker Borchert.
48173
48174 2002-06-26  Paul Eggert  <eggert@twinsun.com>
48175
48176         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
48177
48178 2002-06-26  Paul Eggert  <eggert@twinsun.com>
48179
48180         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
48181         New macro.  Use it uniformly instead of
48182         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
48183         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
48184         reported by Vin Shelton.
48185
48186 2002-06-22  Paul Eggert  <eggert@twinsun.com>
48187
48188         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
48189         Do not assume SA_SIGINFO behavior.
48190         Bug reported by Jim Meyering on NetBSD 1.5.2.
48191
48192 2002-06-22  Jim Meyering  <meyering@lucent.com>
48193
48194         * m4/c-stack.m4: New file, from diffutils-2.8.2.
48195         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
48196
48197         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
48198         now that configure.ac uses AC_GNU_SOURCE.
48199         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
48200         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
48201
48202         Update to latest tools.  Suggestions from Paul Eggert.
48203         * m4/stdbool.m4: New file, from diffutils-2.8.2.
48204         * m4/gnu-source.m4: Update from diffutils-2.8.2.
48205         * m4/fnmatch.m4: Likewise.
48206         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
48207         to AC_HEADER_STDBOOL
48208
48209 2002-06-22  Jim Meyering  <meyering@lucent.com>
48210
48211         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
48212         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
48213
48214 2002-06-22  Jim Meyering  <meyering@lucent.com>
48215
48216         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
48217
48218         * lib/exitfail.c, exitfail.h: Likewise.
48219         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
48220
48221         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
48222         of fnmatch.h.
48223         (EXTRA_DIST): Add fnmatch_loop.c.
48224         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
48225
48226         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
48227         * lib/fnmatch.c: Update from diffutils-2.8.2.
48228         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
48229         * lib/fnmatch.h: Remove file.
48230
48231 2002-06-21  Jim Meyering  <meyering@lucent.com>
48232
48233         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
48234         * m4/mbrtowc.m4: Likewise.
48235
48236         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
48237         * m4/mbswidth.m4: Reflect name change:
48238         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
48239         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
48240
48241         * m4/lib-link.m4: Update from gettext-0.11.2.
48242         * m4/gettext.m4: Likewise.
48243
48244         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
48245         From Alfred M. Szmidt.
48246
48247 2002-06-18  Paul Eggert  <eggert@twinsun.com>
48248
48249         * lib/file-type.h: Report an error if neither S_ISREG nor
48250         S_IFREG is defined, instead of using a test specific to glibc
48251         2.2.  This should be safe, since POSIX requires S_ISREG and
48252         Unix Version 7 had S_IFREG.  We don't need to check for
48253         <sys/types.h> since we don't use any symbols that it defines.
48254
48255 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
48256
48257         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
48258         $@-t, so that each temporary file name is unique and valid in the first
48259         8 characters, for operation under DOS.
48260
48261 2002-06-15  Paul Eggert  <eggert@twinsun.com>
48262
48263         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
48264
48265 2002-06-15  Jim Meyering  <meyering@lucent.com>
48266
48267         Work even with DJGPP 2.03, which lacks support for symlinks.
48268         From Richard Dawe.
48269         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
48270         is defined.
48271         * lib/lchown.c (S_ISLNK): Likewise.
48272
48273 2002-06-15  Jim Meyering  <meyering@lucent.com>
48274
48275         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
48276         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
48277         have been included before this file.
48278
48279 2002-06-14  Jim Meyering  <meyering@lucent.com>
48280
48281         * lib/file-type.h: Use the version from diffutils-2.8.2.
48282         * lib/file-type.c: Likewise.
48283
48284 2002-06-07  Jim Meyering  <meyering@lucent.com>
48285
48286         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
48287         They're needed at least for NetBSD 1.5.2.
48288         ($statxfs_includes): Include those same headers.
48289         ($statxfs_includes): Include sys/vfs.h if available.
48290         ($statxfs_includes): Likewise for sys/statvfs.h.
48291         Check for the following members in both structs statfs and statvfs:
48292         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
48293
48294 2002-06-01  Jim Meyering  <meyering@lucent.com>
48295
48296         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
48297         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
48298
48299 2002-05-28  Jim Meyering  <meyering@lucent.com>
48300
48301         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
48302         Reported by Volker Borchert.
48303
48304 2002-05-27  Jim Meyering  <meyering@lucent.com>
48305
48306         Fix a problem seen only on nonconforming systems whereby ls.c's
48307         use of localtime, and then of gettimeofday would cause trouble:
48308         the localtime call used to initialize rpl_gettimeofday's save
48309         mechanism would clobber ls's current local time information so
48310         that in any long listing the first file would always be listed
48311         with date 1970-01-01.  Analysis by Volker Borchert.
48312
48313         * lib/gettimeofday.c (localtime): Undefine.
48314         (rpl_localtime): New function.
48315
48316 2002-05-27  Jim Meyering  <meyering@lucent.com>
48317
48318         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
48319         localtime.
48320
48321         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
48322         use the replacement function; it wouldn't resolve at link time.
48323         Reported by Volker Borchert.
48324
48325 2002-05-22  Jim Meyering  <meyering@lucent.com>
48326
48327         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
48328         file-type.h.
48329         * lib/file-type.h: New file.
48330         * lib/file-type.c (file_type): New file/function.  Extracted from
48331         diffutils.
48332
48333 2002-04-30  Jim Meyering  <meyering@lucent.com>
48334
48335         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
48336
48337 2002-04-29  Paul Eggert  <eggert@twinsun.com>
48338
48339         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
48340
48341 2002-04-29  Paul Eggert  <eggert@twinsun.com>
48342
48343         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
48344         Do not check for alloca.h (no longer used) or stdbool.h (was never
48345         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
48346
48347 2002-04-29  Paul Eggert  <eggert@twinsun.com>
48348
48349         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
48350
48351 2002-04-29  Jim Meyering  <meyering@lucent.com>
48352
48353         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
48354         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
48355         Use AC_FUNC_STRNLEN here instead.
48356
48357         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
48358         With autoconf-2.53a, it's part of AC_PROG_CC.
48359
48360 2002-04-28  Paul Eggert  <eggert@twinsun.com>
48361
48362         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
48363         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
48364
48365 2002-04-28  Paul Eggert  <eggert@twinsun.com>
48366
48367         * lib/sig2str.h, lib/sig2str.c: New files.
48368         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
48369
48370 2002-04-28  Paul Eggert  <eggert@twinsun.com>
48371
48372         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
48373         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
48374         of 127, since 64 is the largest conceivable number for ancient
48375         nonstandard hosts.
48376         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
48377
48378 2002-04-28  Jim Meyering  <meyering@lucent.com>
48379
48380         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
48381
48382 2002-04-24  Jim Meyering  <meyering@lucent.com>
48383
48384         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
48385         (jm_PREREQ): Use it.
48386
48387         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
48388         mach/mach.h fcntl.h.
48389         Check for this function: setlocale.
48390
48391 2002-04-24  Jim Meyering  <meyering@lucent.com>
48392
48393         * lib/gettext.h: New file, from Gettext.
48394         * lib/Makefile.am (INCLUDES): Remove -I../intl.
48395         (libfetish_a_SOURCES): Add gettext.h.
48396
48397 2002-04-16  Jim Meyering  <meyering@lucent.com>
48398
48399         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
48400         ut_pid, ut_id, ut_exit.
48401
48402 2002-04-16  Jim Meyering  <meyering@lucent.com>
48403
48404         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
48405         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
48406         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
48407
48408 2002-04-12  Jim Meyering  <meyering@lucent.com>
48409
48410         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
48411         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
48412         existence of the getmntinfo function.  Needed for Darwin 5.3.
48413
48414         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
48415         This is necessary at least on Darwin 5.3.
48416
48417         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
48418         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
48419         strnlen.o in the library, and that makes some versions of ranlib
48420         object.
48421
48422 2002-04-12  Jim Meyering  <meyering@lucent.com>
48423
48424         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
48425
48426 2002-04-09  Jim Meyering  <meyering@lucent.com>
48427
48428         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
48429         to be more precise.  Rather than saying we're checking whether the
48430         function `works', say what we're testing.
48431         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
48432         Reported by Bruno Haible.
48433
48434 2002-03-10  Jim Meyering  <meyering@lucent.com>
48435
48436         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
48437         Suggestion from Santiago Vila.
48438
48439 2002-03-08  Jim Meyering  <meyering@lucent.com>
48440
48441         * lib/rename.c: Mention that this wrapper is needed also on
48442         mips-dec-ultrix4.4 systems.
48443
48444 2002-03-02  Jim Meyering  <meyering@lucent.com>
48445
48446         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
48447         not HAVE_CLOCK_SETTIME.
48448
48449 2002-02-27  Paul Eggert  <eggert@twinsun.com>
48450
48451         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
48452         Check for clock_settime.
48453
48454 2002-02-27  Paul Eggert  <eggert@twinsun.com>
48455
48456         * lib/nanosleep.h: Rename to....
48457         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
48458
48459         * lib/gettime.c: New file.
48460         * lib/settime.c: New file.
48461         * lib/stime.c: Remove.
48462
48463         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
48464         timespec.h.  Remove nanosleep.h.
48465
48466 2002-02-25  Paul Eggert  <eggert@twinsun.com>
48467
48468         * m4/acl.m4: New file.
48469         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
48470         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
48471
48472 2002-02-25  Paul Eggert  <eggert@twinsun.com>
48473
48474         * lib/acl.c, lib/acl.h: New files.
48475         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
48476
48477 2002-02-24  Jim Meyering  <meyering@lucent.com>
48478
48479         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
48480         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
48481         cause trouble.  Reported by Nelson Beebe.
48482
48483 2002-02-23  Paul Eggert  <eggert@twinsun.com>
48484
48485         * lib/path-concat.c (xpath_concat): Reorder code to pacify
48486         compilers that don't know that xalloc_die never returns.
48487
48488 2002-02-20  Jim Meyering  <meyering@lucent.com>
48489
48490         * lib/getdate.c: Regenerate using bison-1.33.
48491
48492 2002-02-17  Jim Meyering  <meyering@lucent.com>
48493
48494         * config/config.guess (main): Don't use `head -1'; it's no longer
48495         portable. Use `sed 1q' instead.
48496
48497 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
48498
48499         * m4/codeset.m4: Upgrade to gettext-0.11.
48500         * m4/gettext.m4: Upgrade to gettext-0.11.
48501         * m4/glibc21.m4: Upgrade to gettext-0.11.
48502         * m4/iconv.m4: Upgrade to gettext-0.11.
48503         * m4/isc-posix.m4: Upgrade to gettext-0.11.
48504         * m4/lcmessage.m4: Upgrade to gettext-0.11.
48505         * m4/lib-ld.m4: New file, from gettext-0.11.
48506         * m4/lib-link.m4: New file, from gettext-0.11.
48507         * m4/lib-prefix.m4: New file, from gettext-0.11.
48508         * m4/progtest.m4: Upgrade to gettext-0.11.
48509
48510 2002-02-15  Paul Eggert  <eggert@twinsun.com>
48511
48512         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
48513         (jm_PREREQ): Use it.
48514
48515 2002-02-15  Paul Eggert  <eggert@twinsun.com>
48516
48517         * lib/posixver.c, lib/posixver.h: New files.
48518         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
48519
48520 2002-02-02  Paul Eggert  <eggert@twinsun.com>
48521             Bruno Haible  <bruno@clisp.org>
48522
48523         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
48524         (fwrite_success_callback): New declaration.
48525         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
48526         print_unicode_char. Call failure callback instead of error.
48527         (fwrite_success_callback): New function.
48528         (exit_failure_callback): New function.
48529         (fallback_failure_callback): New function.
48530         (print_unicode_char): Call unicode_to_mb.
48531
48532 2002-01-26  Jim Meyering  <meyering@lucent.com>
48533
48534         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
48535         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
48536
48537 2002-01-26  Jim Meyering  <meyering@lucent.com>
48538
48539         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
48540
48541 2002-01-22  Paul Eggert  <eggert@twinsun.com>
48542
48543         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
48544
48545 2002-01-22  Jim Meyering  <meyering@lucent.com>
48546
48547         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
48548         Otherwise, some versions of automake would omit the rule that makes
48549         Makefile from Makefile.in.
48550
48551 2002-01-21  Paul Eggert  <eggert@twinsun.com>
48552
48553         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
48554         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
48555         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
48556         (memcoll): Set errno to zero if there is no error.
48557
48558         * lib/quotearg.c (quotearg_buffer_restyled):
48559         Fix bug with quoting buffers containing NUL when backslashing escapes.
48560         This bug was exposed by the other changes in this patch.
48561         (quotearg_n_options): New arg ARGSIZE.
48562         All callers changed.
48563         (quoting_options_from_style): New function.
48564         (quotearg_n_style): Use it.
48565         (quotearg_n_style_mem): New function.
48566
48567         * lib/quotearg.h (quotearg_n_style_mem): New function.
48568
48569 2002-01-19  Jim Meyering  <meyering@lucent.com>
48570
48571         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
48572         Remove useless quotes: DF_PROG="df".
48573         * m4/strnlen.m4: New file.
48574
48575 2002-01-16  Paul Eggert  <eggert@twinsun.com>
48576
48577         * lib/backupfile.c (ISDIGIT): Comment fix.
48578         * lib/getdate.y (ISDIGIT): Likewise.
48579         * lib/posixtm.c (ISDIGIT, year): Likewise.
48580         * lib/strverscmp.c (ISDIGIT): Likewise.
48581         * lib/userspec.c (ISDIGIT): Likewise.
48582
48583 2002-01-16  Jim Meyering  <meyering@lucent.com>
48584
48585         * lib/getdate.y: Add three semicolons, each just before a closing
48586         brace. Bison (as of version 1.31) no longer papers over that mistake.
48587
48588 2002-01-05  Jim Meyering  <meyering@lucent.com>
48589
48590         * lib/version-etc.c (version_etc_copyright): Update copyright year.
48591
48592 2001-12-19  Paul Eggert  <eggert@twinsun.com>
48593
48594         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
48595         not silently exit merely because the output buffer happens to
48596         have nothing pending.
48597
48598 2001-12-18  Paul Eggert  <eggert@twinsun.com>
48599
48600         See the big note in ../ChangeLog.
48601         * lib/human.c (suffixes): Prefer K to k for 1024.
48602         (generate_suffix_backwards): New function.
48603         (human_readable_inexact): Use it.
48604         * lib/xstrtol.c (__xstrtol): If there is no number but there
48605         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
48606         Accept 'K' as well as 'k'.
48607
48608 2001-12-15  Jim Meyering  <meyering@lucent.com>
48609
48610         * lib/regex.h (__restrict_arr): Update from libc.
48611
48612         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
48613         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
48614         (STREQ): Define.
48615
48616 2001-12-14  Jim Meyering  <meyering@lucent.com>
48617
48618         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
48619         Suggestion from Bruno Haible.
48620
48621 2001-12-10  Jim Meyering  <meyering@lucent.com>
48622
48623         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
48624         xrealloc, Instead, include "xalloc.h".
48625         (initbuffer): Don't cast xmalloc return value to char*.
48626         (readline): Reword comment.
48627         Don't cast xrealloc return value to char*
48628         Return NULL, not 0.
48629
48630 2001-12-09  Jim Meyering  <meyering@lucent.com>
48631
48632         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
48633         about `signed and unsigned type in conditional expression'.
48634         * lib/posixtm.c (posix_time_parse): Likewise.
48635
48636         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
48637
48638         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
48639         to avoid a pedantic warning.
48640
48641         * lib/getstr.c: Don't include assert.h.
48642         (getstr): Remove warning-evoking assertions.
48643         Return -1 if offset parameter is out of bounds.
48644         Change the type of a local from int to size_t.
48645
48646         * lib/strftime.c (my_strftime_localtime_r): Include this function
48647         definition in the `#if ! HAVE_TM_GMTOFF' block.
48648
48649         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
48650         Include xalloc.h instead.
48651
48652 2001-12-02  Jim Meyering  <meyering@lucent.com>
48653
48654         * lib/tempname.c: Don't declare getenv, thus reverting the change of
48655         2001-11-18.  It's no longer necessary, now that stdlib.h is always
48656         included.
48657
48658         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
48659         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
48660
48661 2001-11-30  Akim Demaille  <akim@epita.fr>
48662
48663         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
48664         before being defined.
48665
48666 2001-11-27  Paul Eggert  <eggert@twinsun.com>
48667
48668         * lib/quotearg.h (quotearg_n, quotearg_n_style):
48669         First arg is int, not unsigned.
48670         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
48671         (SIZE_MAX, UINT_MAX): New macros.
48672         (quotearg_n_options): Abort if N is negative.
48673         Avoid overflow check on hosts where size_t is 64 bits and int
48674         is 32 bits, as overflow is impossible there.
48675         Fix off-by-one typo that caused unnecessary reallocation.
48676
48677 2001-11-27  Jim Meyering  <meyering@lucent.com>
48678
48679         * lib/tempname.c: Merge with version from libc.
48680         * lib/regex.c: Likewise.
48681
48682         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
48683         systems for which STDC_HEADERS is 0, it was not included, resulting in
48684         a warning about an integer-to-pointer conversion problem with getenv.
48685         Reported by Volker Borchert.
48686
48687 2001-11-26  Jim Meyering  <meyering@lucent.com>
48688
48689         * lib/gtod.h: Remove file.
48690         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
48691         * lib/gettimeofday.c: Don't include gtod.h.
48692         (GTOD_init): Remove function.
48693         (rpl_gettimeofday): Do its job here instead, rather than aborting.
48694         Suggestion from Volker Borchert.
48695
48696 2001-11-23  Jim Meyering  <meyering@lucent.com>
48697
48698         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
48699         it.
48700         * lib/hash.c (struct hash_table): Define it here instead.
48701
48702 2001-11-22  Jim Meyering  <meyering@lucent.com>
48703
48704         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
48705
48706 2001-11-20  Jim Meyering  <meyering@lucent.com>
48707
48708         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
48709         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
48710
48711 2001-11-19  Jim Meyering  <meyering@lucent.com>
48712
48713         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
48714         directory.  Use "conftestXXXXXX" as the template.
48715         Suggestion from Paul Eggert.
48716
48717         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
48718         immediately, so the test doesn't mistakenly hit the max-open-files
48719         limit.
48720
48721 2001-11-18  Paul Eggert  <eggert@twinsun.com>
48722
48723         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
48724         (TEMPORARIES): New macro.
48725         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
48726         removes an artificial limitation (e.g. HP-UX 10.20, where
48727         TMP_MAX is 17576).
48728
48729 2001-11-18  Jim Meyering  <meyering@lucent.com>
48730
48731         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
48732
48733 2001-11-18  Jim Meyering  <meyering@lucent.com>
48734
48735         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
48736         on SunOS 4.
48737
48738         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
48739         files will be created before anything else.
48740
48741 2001-11-17  Paul Eggert  <eggert@twinsun.com>
48742
48743         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
48744         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
48745
48746 2001-11-17  Jim Meyering  <meyering@lucent.com>
48747
48748         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
48749         Prompted by a report from Bob Proulx.
48750
48751         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
48752         Instead, require UTILS_FUNC_MKSTEMP.
48753
48754 2001-11-17  Jim Meyering  <meyering@lucent.com>
48755
48756         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
48757         Now, that's done as part of AC_FUNC_STRTOD.
48758
48759 2001-11-17  Jim Meyering  <meyering@lucent.com>
48760
48761         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
48762         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
48763         rather than group writable.  Patch by Juan F. Codagnone.
48764
48765         * lib/readtokens.c: Remove explicit declarations of xmalloc and
48766         xrealloc, Instead, include "xalloc.h".
48767
48768         * lib/mountlist.c: Include unlocked-io.h after all system headers.
48769         Remove explicit declarations of xmalloc, xrealloc,
48770         and xstrdup.  Instead, include "xalloc.h".
48771
48772         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
48773         unlocked-io.h.
48774         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
48775         Likewise.
48776         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
48777
48778         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
48779         Reported by Padraig Brady.
48780
48781         * lib/mkstemp.c: #undef mkstemp.
48782         Include config.h.
48783         (rpl_mkstemp): Rename from mkstemp.
48784         Protoize.
48785
48786 2001-11-16  Jim Meyering  <meyering@lucent.com>
48787
48788         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
48789         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
48790         determine the amount of total physical memory, use pstat_getstatic.
48791         HPUX-11 doesn't define _SC_PHYS_PAGES.
48792         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
48793         If sysconf couldn't be used to determine the amount of available
48794         physical memory, use both pstat_getstatic and pstat_getdynamic.
48795         Based on a patch from Bob Proulx.
48796
48797 2001-11-10  Jim Meyering  <meyering@lucent.com>
48798
48799         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
48800         (jm_PREREQ): Use it.
48801
48802 2001-11-09  Jim Meyering  <meyering@lucent.com>
48803
48804         * m4/jm-macros.m4: Require autoconf-2.52f.
48805         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
48806         Use these AC_-prefixed names, not the AM_-prefixed ones.
48807
48808         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
48809
48810 2001-11-05  Jim Meyering  <meyering@lucent.com>
48811
48812         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
48813
48814 2001-11-04  Jim Meyering  <meyering@lucent.com>
48815
48816         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
48817         $DEFS.
48818
48819 2001-11-03  Jim Meyering  <meyering@lucent.com>
48820
48821         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
48822         of AC_DEFUN.
48823
48824         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
48825         know the name of the variable in the macro definition.
48826
48827 2001-11-03  Jim Meyering  <meyering@lucent.com>
48828
48829         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
48830         in argmatch_to_argument call.
48831
48832         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
48833         argument.
48834
48835         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
48836         e.g., a fault due to an attempt to free a NULL pointer.
48837
48838 2001-11-01  Jim Meyering  <meyering@lucent.com>
48839
48840         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
48841         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
48842
48843 2001-11-01  Jim Meyering  <meyering@lucent.com>
48844
48845         * lib/dirfd.c, lib/dirfd.h: New files.
48846         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
48847
48848         * lib/hash.c (hash_print) [TESTING]: Clean up.
48849
48850 2001-10-22  Paul Eggert  <eggert@twinsun.com>
48851
48852         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
48853         to avoid a warning if -Wall.
48854
48855 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
48856
48857         * README: New file
48858         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
48859         (per RMS's instructions, this is now the canonical source)
48860         * lgpl/, gpl/: New directories.
48861
48862 2001-10-21  Paul Eggert  <eggert@twinsun.com>
48863
48864         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
48865
48866 2001-10-21  Jim Meyering  <meyering@lucent.com>
48867
48868         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
48869         this code would end up calling gettext even in packages built
48870         with --disable-nls.
48871         * lib/getopt.c (_): Likewise.
48872         * lib/regex.c (_): Likewise.
48873
48874 2001-10-20  Paul Eggert  <eggert@twinsun.com>
48875
48876         * m4/error.m4 (jm_PREREQ_ERROR):
48877         Do not invoke AC_CHECK_FUNCS with strerror_r, as
48878         AC_FUNC_STRERROR_R does that.
48879         Check for strerror declaration.
48880
48881         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
48882         are supposed to have them these days.
48883         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
48884         Merge changes from latest Autoconf CVS.
48885         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
48886         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
48887         POSIX decided to standardize on the int flavor of strerror_r.
48888
48889 2001-10-20  Paul Eggert  <eggert@twinsun.com>
48890
48891         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
48892         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
48893         Use strerror_r that is only a macro, even if it is not a function.
48894         (strerror): Check for HAVE_DECL_STRERROR before declaring.
48895         (private_strerror): Use prototypes, not old-style function definition.
48896         (print_errno_message): New function.
48897         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
48898         char*-flavored one.
48899         (error_tail, error, error_at_line): Use it.
48900
48901 2001-10-11  Jim Meyering  <meyering@lucent.com>
48902
48903         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
48904         and quote_n (1, ... to avoid clobbering a buffer.
48905
48906 2001-10-05  Jim Meyering  <meyering@lucent.com>
48907
48908         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
48909         hash-pjw.h.
48910         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
48911         * lib/hash-pjw.h: New file.
48912
48913 2001-09-30  Jim Meyering  <meyering@lucent.com>
48914
48915         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
48916         `struct fsstat' has the `f_fstypename' member.
48917         Use that to define FS_TYPE, which is now used to make
48918         the getfsstat link test tighter.
48919
48920 2001-09-30  Jim Meyering  <meyering@lucent.com>
48921
48922         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
48923         Include <sys/ucred.h>, for Apple Darwin.
48924         Include sys/mount.h and sys/fs_types.h only if available.
48925         (FS_TYPE): Define.
48926         (read_filesystem_list): Use FS_TYPE.
48927
48928 2001-09-29  Paul Eggert  <eggert@twinsun.com>
48929
48930         * lib/exclude.c (excluded_filename): 0 -> false, since it's
48931         a boolean context.
48932
48933 2001-09-29  Jim Meyering  <meyering@lucent.com>
48934
48935         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
48936         [one-argument getmntent function]): Include stdio.h before mntent.h.
48937         SunOS 4.1.x needs it for the declaration of `FILE'.
48938         Patch by Volker Borchert.
48939
48940         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
48941         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
48942         sys/fs_types.h, and make the link-test for getfsstat guard #include
48943         directives with appropriate #if HAVE_*_H tests so that we can
48944         detect getfsstat on Apple Darwin1.3.7 systems.
48945         Reported by Nelson Beebe.
48946         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
48947
48948 2001-09-28  Paul Eggert  <eggert@twinsun.com>
48949
48950         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
48951         #defines strtoimax.  Also treat the other strto* functions
48952         like strtoimax.
48953
48954         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
48955         Check for strtoul and strtoumax,
48956         as those declarations are made even in the signed case.
48957         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
48958         Likewise, for strtol and strtoimax.
48959
48960 2001-09-28  Paul Eggert  <eggert@twinsun.com>
48961
48962         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
48963         #defines strtoimax.  Also treat the other strto* functions
48964         like strtoimax.
48965
48966         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
48967         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
48968         (strtoimax, strtoumax): Do not declare if already defined as a macro.
48969
48970 2001-09-26  Jim Meyering  <meyering@lucent.com>
48971
48972         Most macros in unlocked-io.h had the wrong number of arguments.
48973         * lib/gen-uio: New script.
48974         (USE_UNLOCKED_IO): Define to 1 if not already defined.
48975         * lib/unlocked-io.hin: Remove file.
48976         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
48977         rather than trying to embed it here.
48978         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
48979         Reported by Padraig Brady.
48980
48981 2001-09-25  Volker Borchert  <bt@teknon.de>
48982
48983         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
48984         `result'.
48985
48986 2001-09-24  Jim Meyering  <meyering@lucent.com>
48987
48988         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
48989
48990 2001-09-23  Jim Meyering  <meyering@lucent.com>
48991
48992         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
48993         instead of the mere test for existence of mntent.h.  The latter
48994         would get a false-positive on AIX 3.4 systems.
48995         In the outer getmntent if-block, don't die if neither of the getmntent
48996         tests succeeds.  Instead, just fall through and continue with the
48997         remaining tests.
48998
48999 2001-09-23  Jim Meyering  <meyering@lucent.com>
49000
49001         * lib/mountlist.c: Remove useless parentheses in #if directives.
49002         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
49003         the deprecated MOUNTED symbol is no longer defined in mntent.h.
49004
49005 2001-09-22  Jim Meyering  <meyering@lucent.com>
49006
49007         * m4/gettext.m4: New file.  From gettext.
49008         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
49009         * m4/progtest.m4: Likewise
49010         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
49011         * m4/glibc21.m4: Likewise.
49012
49013         * m4/libintl.m4: Remove.  No longer used.
49014
49015 2001-09-22  Jim Meyering  <meyering@lucent.com>
49016
49017         * lib/localcharset.c: Update from latest gettext.
49018         * lib/config.charset: Likewise.
49019
49020 2001-09-20  Jim Meyering  <meyering@lucent.com>
49021
49022         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
49023         strtoimax.
49024         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
49025         strtoumax.
49026
49027 2001-09-20  Jim Meyering  <meyering@lucent.com>
49028
49029         * lib/xstrtol.c (strtoimax): Guard declaration with
49030         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
49031         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
49032         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
49033         (strtoumax): Likewise, for completeness (it wasn't necessary).
49034
49035 2001-09-17  Paul Eggert  <eggert@twinsun.com>
49036
49037         * lib/strtoimax.c (HAVE_LONG_LONG):
49038         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
49039         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
49040         to work around bug in IBM C compiler.
49041
49042 2001-09-17  Jim Meyering  <meyering@lucent.com>
49043
49044         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
49045         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
49046         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
49047         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
49048         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
49049         whenever the right hand side need not be expanded by the shell.
49050
49051 2001-09-16  Paul Eggert  <eggert@twinsun.com>
49052
49053         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
49054         library.  It's not correct, as some older glibcs are buggy.
49055         fnmatch wasn't fixed until glibc 2.2.
49056
49057         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
49058         special shell magic here.
49059
49060 2001-09-16  Jim Meyering  <meyering@lucent.com>
49061
49062         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
49063         * m4/jm-macros.m4: Require it.
49064
49065 2001-09-16  Jim Meyering  <meyering@lucent.com>
49066
49067         * lib/mkdir.c: New file.
49068
49069 2001-09-15  Jim Meyering  <meyering@lucent.com>
49070
49071         * m4/jm-macros.m4: Check for help2man.
49072
49073 2001-09-11  Jim Meyering  <meyering@lucent.com>
49074
49075         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
49076         The body, by Paul Eggert, was moved here from configure.in.
49077         * m4/jm-macros.m4: Require UTILS_HOST_OS.
49078
49079 2001-09-04  Paul Eggert  <eggert@twinsun.com>
49080
49081         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
49082         (jm_PREREQ): Use it.
49083
49084 2001-09-04  Paul Eggert  <eggert@twinsun.com>
49085
49086         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
49087         Use ssize_t, not int, to store result of readlink.
49088         Check for ssize_t overflow as well as size_t overflow,
49089         as POSIX says the result of readlink is implementation-defined
49090         when ssize_t overflows.
49091         Remove unnecessary cast to char*.
49092         Use free+malloc instead of realloc, as the storage doesn't need
49093         to be preserved and it's clearer and can be more efficient that way.
49094         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
49095         * lib/xreadlink.h (xreadlink): Update prototype.
49096
49097 2001-09-04  Paul Eggert  <eggert@twinsun.com>
49098
49099         * lib/xgetcwd.c: Revert some of the previous change; intead,
49100         fix the HAVE_GETCWD_NULL code to behave more like the
49101         !HAVE_GETCWD_NULL code used to.
49102
49103         Include "xalloc.h".
49104         (xgetcwd): Do not return NULL when memory is exhausted; instead,
49105         invoke xalloc_die.
49106
49107 2001-09-03  Paul Eggert  <eggert@twinsun.com>
49108
49109         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
49110         sys/param.h, as pathmax.h includes them.
49111
49112 2001-09-03  Paul Eggert  <eggert@twinsun.com>
49113
49114         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
49115         (jm_PREREQ_XGETCWD): New macro.
49116
49117         * m4/getcwd.m4: New file.
49118
49119 2001-09-03  Paul Eggert  <eggert@twinsun.com>
49120
49121         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
49122         like the HAVE_GETCWD_NULL code.
49123         Include pathmax.h if not HAVE_GETCWD.
49124         Do not include xalloc.h.
49125         (INITIAL_BUFFER_SIZE): New symbol.
49126         Do not use xmalloc / xrealloc, since the caller is responsible for
49127         handling errors.  Preserve errno around `free' during failure.
49128         Do not overrun buffer when using getwd.
49129
49130 2001-09-03  Paul Eggert  <eggert@twinsun.com>
49131
49132         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
49133         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
49134         getcwd (NULL, 0).
49135
49136 2001-09-03  Paul Eggert  <eggert@twinsun.com>
49137
49138         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
49139         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
49140         spotted by Jim Meyering.
49141
49142 2001-09-03  Jim Meyering  <meyering@lucent.com>
49143
49144         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
49145         failure.
49146
49147 2001-09-02  Jim Meyering  <meyering@lucent.com>
49148
49149         * lib/error.c: Update from GNU libc.
49150
49151 2001-09-01  Jim Meyering  <meyering@lucent.com>
49152
49153         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
49154         Used by df.
49155
49156 2001-09-01  Jim Meyering  <meyering@lucent.com>
49157
49158         * lib/xreadlink.c: New file.
49159         * lib/xreadlink.h: New file.
49160         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
49161         xreadlink.h.
49162
49163         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
49164         doesn't conflict with sparc Solaris 7's definition in
49165         /usr/include/sys/int_types.h.
49166
49167         * lib/exclude.c: Use `""', not `<>' to #include non-system header
49168         files.
49169         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
49170         and strncasecmp as r-values.  Unixware didn't have declarations.
49171
49172 2001-08-31  Paul Eggert  <eggert@twinsun.com>
49173
49174         * lib/xstrtol.h: Add copyright notice.
49175         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
49176         LONGINT_INVALID_SUFFIX_CHAR.
49177
49178 2001-08-31  Paul Eggert  <eggert@twinsun.com>
49179
49180         * lib/xstrtol.c (strtoimax): New decl.
49181
49182 2001-08-31  Paul Eggert  <eggert@twinsun.com>
49183
49184         * lib/xgetcwd.c: Don't include pathmax.h.
49185         Include stdlib.h and unistd.h if available.
49186         Include xalloc.h.
49187         (xmalloc, xstrdup, free): Remove decls.
49188         (xgetcwd): Don't assume sizes fit in unsigned.
49189         Check for overflow when computing sizes.
49190         Simplify reallocation code.
49191
49192 2001-08-31  Paul Eggert  <eggert@twinsun.com>
49193
49194         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
49195         a directory's st_size can have an arbitrary value, so the old
49196         usage could waste an arbitrary amount of memory.  All uses
49197         changed.
49198         * lib/savedir.h: Update prototype.
49199
49200 2001-08-31  Paul Eggert  <eggert@twinsun.com>
49201
49202         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
49203
49204         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
49205         old strtoimax.c.
49206
49207         Also, make the following further changes to make this file's
49208         configuration more similar to that of strtol.c:
49209         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
49210         (strtoumax, uintmax_t, strtoull, strtol): Remove.
49211         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
49212         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
49213         changed to signed values.
49214
49215         And make the following changes as well:
49216         Fix copyright notice, as 1999 was missing.
49217         (verify): New macro.
49218         (strtoimax): Check sizes at compile-time, not run-time.
49219         Prefer strtol to strtoll if both work.
49220         (main): Remove; it was not that useful and was a pain to maintain.
49221
49222         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
49223
49224 2001-08-31  Jim Meyering  <meyering@lucent.com>
49225
49226         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
49227         Use an initial, malloc'd, buffer of length 128 rather than
49228         a statically allocated one of length 1024.
49229
49230 2001-08-30  Paul Eggert  <eggert@twinsun.com>
49231
49232         Simplify code, partly by assuming autoconf 2.52 semantics.
49233
49234         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
49235
49236         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
49237         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
49238         All uses removed.
49239         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
49240         Move AC_REQUIRE to next-to-top level, to avoid confusion.
49241         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
49242         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
49243         jm_AC_HEADER_INTTYPES_H.
49244         * m4/jm-macros.m4 (jm_MACROS): Likewise.
49245
49246         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
49247
49248         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
49249         Quote first arg of AC_DEFUN.
49250         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
49251         since they are needed to parse the include file even if we need
49252         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
49253         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
49254         but with opposite signedness.
49255
49256 2001-08-30  Paul Eggert  <eggert@twinsun.com>
49257
49258         Merge 'exclude' changes from tar 1.13.22.
49259         This fixes one or two unlikely storage allocation overflow bugs,
49260         but doesn't change user-visible behavior otherwise.
49261
49262 2001-08-30  Paul Eggert  <eggert@twinsun.com>
49263
49264         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
49265         (jm_PREREQ_EXCLUDE): New macro.
49266
49267 2001-08-30  Paul Eggert  <eggert@twinsun.com>
49268
49269         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
49270         tm to be declared.
49271
49272 2001-08-30  Paul Eggert  <eggert@twinsun.com>
49273
49274         * lib/hash.c: Remove '2001' from copyright notice.
49275
49276 2001-08-30  Paul Eggert  <eggert@twinsun.com>
49277
49278         * lib/full-write.h: New file.
49279         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
49280         * lib/full-write.c: Correct credits, as cccp.c no longer
49281         exists and anyway it was so heavily changed from the old cccp
49282         code as to be unrecognizable.  Include full-write.h.
49283         (full_write) Return size_t, with short writes meaning failure.
49284         All callers changed.  This fixes a bug with large buffers
49285         on 64-bit hosts.
49286         * lib/utime.c: Include full-write.h.
49287
49288 2001-08-30  Paul Eggert  <eggert@twinsun.com>
49289
49290         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
49291         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
49292         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
49293         Include if available.
49294         (<xalloc.h>): Include
49295         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
49296         (verify): New macro.  Use it to verify that EXCLUDE macros do not
49297         collide with FNM macros.
49298         (struct patopts): New struct.
49299         (struct exclude): Use it, as exclude patterns now come with options.
49300         (new_exclude): Support above changes.
49301         (new_exclude, add_exclude_file):
49302         Initial size must now be a power of two to simplify overflow checking.
49303         (free_exclude, fnmatch_no_wildcards): New function.
49304         (excluded_filename): No longer requires options arg, as the options
49305         are determined by add_exclude.  Now returns bool, not int.
49306         (excluded_filename, add_exclude):
49307         Add support for the fancy new exclusion options.
49308         (add_exclude, add_exclude_file): Now takes int options arg.
49309         Check for arithmetic overflow when computing sizes.
49310         (add_exclude_file): xrealloc might modify errno, so don't
49311         realloc until after errno might be used.
49312
49313         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
49314         New macros.
49315         (free_exclude): New decl.
49316         (add_exclude, add_exclude_file): Now takes int options arg.
49317         (excluded_filename): No longer requires options arg, as the options
49318         are determined by add_exclude.  Now returns bool, not int.
49319
49320 2001-08-30  Paul Eggert  <eggert@twinsun.com>
49321
49322         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
49323
49324 2001-08-27  Jim Meyering  <meyering@lucent.com>
49325
49326         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
49327
49328         * lib/version-etc.c (N_): Remove definition.
49329         Revert most of last change.
49330         Instead, simply don't mark the `Copyright...' string for translation.
49331         Based on advice from Paul Eggert.
49332
49333         * lib/strtoxmax.c: Tweak comment.
49334
49335 2001-08-26  Jim Meyering  <meyering@lucent.com>
49336
49337         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
49338
49339         * m4/xstrtoimax.m4: New file.
49340         * m4/xstrtoumax.m4: Add comments explaining why we
49341         AC_REPLACE_FUNCS(strtol).
49342
49343 2001-08-26  Jim Meyering  <meyering@lucent.com>
49344
49345         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
49346         of copyright with `%s' so translators don't get an untranslated
49347         message in 2002.
49348         (COPYRIGHT_YEAR): Define.
49349         (version_etc): Use fprintf rather than fputs.
49350         Suggestion from Ulrich Drepper.
49351
49352         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
49353
49354         * lib/strtoll.c: New file, from GNU libc.
49355         * lib/xstrtoimax.c: New file.
49356
49357         * lib/xstrtol.h: Add xstrtoimax.
49358         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
49359         * lib/strtoimax.c: New file.  Likewise, but first define
49360         STRTOUXMAX_SIGNED.
49361
49362         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
49363         ...
49364         * lib/strtoxmax.c: ... then renamed to this.
49365
49366 2001-08-18  Paul Eggert  <eggert@twinsun.com>
49367
49368         * m4/inttypes.m4: Add AC_PREREQ(2.13).
49369         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
49370         (jm_AC_TYPE_INTMAX_T): New macro.
49371         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
49372
49373         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
49374
49375         * m4/longlong.m4: Renamed from ulonglong.m4.
49376         * m4/inttypes.m4: Renamed from inttypes_h.m4.
49377         * m4/uintmax_t.m4: Removed.
49378
49379 2001-08-13  Paul Eggert  <eggert@twinsun.com>
49380
49381         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
49382         Port to Solaris 8, where 'sed' requires a space after the 'r'
49383         command, and where sh dislikes "$/".  Clean up the spacing a bit.
49384         Redirect output to $tmp just once.
49385
49386 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
49387
49388         * lib/addext.c (<errno.h>): Include.
49389         (errno): Declare if not defined.
49390         (addext): Work correctly when pathconf returns -1 and leaves
49391         errno alone because there is no limit.  Also, work even if
49392         pathconf returns a value greater than SIZE_MAX.
49393
49394 2001-08-12  Jim Meyering  <meyering@lucent.com>
49395
49396         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
49397         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
49398         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
49399         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
49400         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
49401         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
49402         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
49403         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
49404         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
49405         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
49406         utime.m4, utimes.m4, xstrtoumax.m4:
49407         Quote the first argument in each use of AC_DEFUN.
49408
49409 2001-08-12  Jim Meyering  <meyering@lucent.com>
49410
49411         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
49412         Simply `return getcwd (NULL, 0);'.
49413         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
49414         Use 1300 as initial value for length, not PATH_MAX.
49415
49416         * lib/pathmax.h: Clean up cpp syntax.
49417
49418 2001-08-12  Jim Meyering  <meyering@lucent.com>
49419
49420         * lib/gettimeofday.c: New file.
49421         * lib/gtod.h: New file.
49422         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
49423
49424 2001-08-05  Jim Meyering  <meyering@lucent.com>
49425
49426         * m4/jm-macros.m4: Require autoconf-2.52.
49427
49428 2001-08-04  Jim Meyering  <meyering@lucent.com>
49429
49430         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
49431         stmt, to get in sync with glibc.
49432
49433 2001-08-03  Paul Eggert  <eggert@twinsun.com>
49434
49435         The following changes are from gettext 0.10.39 as maintained by
49436         Bruno Haible.
49437
49438         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
49439         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
49440         with inverted sense.  All uses changed.
49441
49442         * lib/mbswidth.c: Don't include <limits.h>.
49443         Include <stdlib.h> and <string.h> unconditionally.
49444         (iswcntrl, mbsinit, ISCNTRL): New macros.
49445         (mbsnwidth): Use K&R style function declarations.
49446         Don't bother checking for MB_LEN_MAX == 1, since the compiler
49447         can optimize it when MB_CUR_MAX == 1.
49448         The width of control characters is zero, not 1.
49449
49450 2001-08-03  Paul Eggert  <eggert@twinsun.com>
49451
49452         The following changes are from gettext 0.10.39 as maintained by
49453         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
49454
49455         * m4/codeset.m4: Upgrade to serial AM1.
49456         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
49457         all uses changed.  Quote first arg of AC_DEFUN.
49458         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
49459
49460         * m4/iconv.m4: Upgrade to serial AM2.
49461         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
49462         Add --with-libconv-prefix.
49463         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
49464         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
49465         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
49466         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
49467         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
49468
49469         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
49470         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
49471         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
49472         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
49473         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
49474         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
49475         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
49476         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
49477         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
49478
49479         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
49480         string.h any more.
49481
49482         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
49483         not the default value.
49484
49485         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
49486         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
49487         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
49488         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
49489         Also check for iswcntrl, used for wcwidth fallback.
49490         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
49491         to Autoconf 2.13.
49492
49493 2001-08-03  Jim Meyering  <meyering@lucent.com>
49494
49495         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
49496         as it was in the original.  Reported by Paul Eggert.
49497
49498 2001-07-16  Jim Meyering  <meyering@lucent.com>
49499
49500         * m4/gettimeofday.m4: New file.
49501         Prompted by a report from Bernhard Baehr.
49502
49503 2001-07-15  Jim Meyering  <meyering@lucent.com>
49504
49505         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
49506         stuff. Now it's in ../Makefile.cfg.
49507
49508 2001-07-15  Jim Meyering  <meyering@lucent.com>
49509
49510         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
49511         (BUILT_SOURCES): Add unlocked-io.h.
49512         (io_functions): Define.
49513         (unlocked-io.h): New rule.
49514         (DISTCLEANFILES): Add unlocked-io.h.
49515         (all-local): Depend on unlocked-io.h, to ensure it is created.
49516
49517         * lib/unlocked-io.hin: New file
49518
49519         * lib/regex.c: Update from glibc.
49520
49521 2001-07-05  Jim Meyering  <meyering@lucent.com>
49522
49523         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
49524         recommendation.
49525         (libfetish_a_SOURCES): Put all .h files here instead.
49526         Remove a thus-exposed (better checks in automake) duplicate and
49527         two unnecessary .h files.
49528
49529 2001-07-04  Jim Meyering  <meyering@lucent.com>
49530
49531         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
49532         that generates jm-glibc-io.m4 so that it doesn't trigger any make
49533         distcheck failure.
49534
49535 2001-07-02  Jim Meyering  <meyering@lucent.com>
49536
49537         The following changes were prompted by suggestions from Bruno Haible.
49538
49539         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
49540         is now generated.
49541         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
49542         definition of EXTRA_DIST.
49543         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
49544         ensure that the generated file is created/updated whenever the list
49545         of $(unlocked_functions) is changed.
49546         (jm-glibc-io.m4): New rule.
49547         (unlocked-io.h): New rule -- currently unused.
49548
49549 2001-06-24  Jim Meyering  <meyering@lucent.com>
49550
49551         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
49552         unmatched right bracket, rather than kludging it with an extra,
49553         falsely-matching quote in a comment.  Patch by Akim Demaille.
49554
49555 2001-06-11  Jim Meyering  <meyering@lucent.com>
49556
49557         * lib/regex.c: Update from GNU libc.
49558
49559 2001-05-27  Jim Meyering  <meyering@lucent.com>
49560
49561         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
49562         Check for ut_type in struct utmp.
49563
49564 2001-05-27  Jim Meyering  <meyering@lucent.com>
49565
49566         * lib/readutmp.h (UT_TYPE): Define.
49567
49568 2001-05-24  Jim Meyering  <meyering@lucent.com>
49569
49570         * lib/argmatch.c: Include "quote.h".
49571         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
49572         quote function.  Reported by Göran Uddeborg.
49573
49574 2001-05-22  Jim Meyering  <meyering@lucent.com>
49575
49576         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
49577         now that we use the package-supplied version unconditionally.
49578         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
49579
49580 2001-05-21  Jim Meyering  <meyering@lucent.com>
49581
49582         * m4/regex.m4: Change a couple backticks to single quotes to avoid
49583         shell syntax errors.
49584
49585 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
49586
49587         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
49588
49589 2001-05-20  Paul Eggert  <eggert@twinsun.com>
49590
49591         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
49592         Don't bother to check library strftime, since
49593         we'll be using our own my_strftime function anyway.
49594         Define my_strftime instead of strftime.
49595
49596 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
49597
49598         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
49599         which is not yet declared.
49600
49601 2001-05-15  Jim Meyering  <meyering@lucent.com>
49602
49603         * m4/regex.m4: Use proper quoting so brackets appear in the test
49604         program.
49605         Reported by, and with help from, Bruno Haible.
49606
49607 2001-05-13  Jim Meyering  <meyering@lucent.com>
49608
49609         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
49610         undefined.
49611
49612 2001-05-11  Paul Eggert  <eggert@twinsun.com>
49613
49614         dirname code cleanup.  base_name now behaves more compatibly
49615         with POSIX basename when given file names that have trailing
49616         slashes, and similarly for dir_name.  Add new primitives
49617         base_len and dir_len.  Put the directory-name-related decls
49618         into dirname.h.
49619
49620         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
49621         * lib/backupfile.c (base_name): Likewise.
49622         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
49623         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
49624         * lib/makepath.c (strip_trailing_slashes): Likewise.
49625         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
49626         ISSLASH): Likewise.
49627         * lib/rename.c (strip_trailing_slashes): Likewise.
49628         * lib/same.c (base_name): Likewise.
49629         * lib/stripslash.c (ISSLASH): Likewise.
49630
49631         * lib/addext.c: Include <dirname.h> after size_t is defined.
49632         * lib/backupfile.c: Likewise.
49633
49634         * lib/addext.c (addext): Use base_len to trim redundant
49635         trailing slashes instead of doing it ourselves.
49636         But do not trim the last slash if it is not redundant.
49637
49638         * lib/backupfile.c (find_backup_file_name,
49639         max_backup_version): Use base_len instead of rolling it ourselves.
49640         Handle the case of "" and (on DOS) "C:" correctly.
49641
49642         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
49643         needed. Include <string.h>, <dirname.h>.
49644         (base_name): Allow file names ending in slashes, other than names
49645         that are all slashes.  In this case, return the basename followed
49646         by the slashes.  This is more general, and can be used in places
49647         where the original base_name purposely had an assertion failure.
49648         (base_len): New function.
49649
49650         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
49651         Do not include <assert.h>; no longer needed.
49652         Include xalloc.h.
49653         (memrchr): Remove decl.
49654         (dir_name_r): Remove.
49655         (dir_len): Renamed from dirlen.  All callers changed.
49656         Rewrite in terms of base_name, for simplicity and consistency.
49657         (dir_name): Never return NULL.  All callers changed.
49658         Do not include <stdlib.h> in test program; no longer needed.
49659         return 0; is fine for test program.
49660
49661         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
49662         New macros.
49663         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
49664
49665         * lib/path-concat.c (path_concat): Use base_len to compute
49666         base length, not strlen; this means we cannot rely on memcpy
49667         to null-terminate.
49668
49669         * lib/same.c (STREQ): Remove.
49670         (same_name): Handle the case where the basename ends in trailing '/'.
49671
49672         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
49673         a slash was stripped.  Do not strip the last slash after a
49674         file system prefix.
49675
49676 2001-05-11  Paul Eggert  <eggert@twinsun.com>
49677
49678         * lib/Makefile.am (libfetish_a_SOURCES):
49679         Add strftime.c, since we now compile it on all hosts.
49680
49681         * lib/strftime.c (my_strftime):
49682         Define to nstrftime if emacs, but only if my_strftime is not defined.
49683         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
49684         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
49685         Add one more extra argument: a nanoseconds value.
49686         All uses changed.
49687         (ns): New macro.
49688         (my_strftime function): Add %N format.
49689         (emacs_strftimeu): Renamed from emacs_strftime,
49690         with extra ut argument.
49691
49692 2001-05-09  Paul Eggert  <eggert@twinsun.com>
49693
49694         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
49695
49696 2001-04-21  Jim Meyering  <meyering@lucent.com>
49697
49698         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
49699         doesn't interfere.
49700
49701 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
49702
49703         * m4/ftruncate.m4: Check for chsize.
49704         Link with ftruncate.o unconditionally if ftruncate is missing.
49705         This was required when cross-compiling to i586-mingw32msvc.
49706
49707 2001-04-08  Jim Meyering  <meyering@lucent.com>
49708
49709         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
49710         recomputed; that's necessary when the offset spans a DST transition.
49711         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
49712
49713 2001-04-02  Jim Meyering  <meyering@lucent.com>
49714
49715         * lib/regex.h, regex.c: Update from GNU libc.
49716
49717 2001-03-24  Jim Meyering  <meyering@lucent.com>
49718
49719         * m4/jm-macros.m4: Require autoconf-2.49d.
49720
49721 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
49722
49723         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
49724
49725 2001-03-19  Paul Eggert  <eggert@twinsun.com>
49726
49727         * lib/version-etc.c (version_etc_copyright): Update to 2001.
49728
49729 2001-03-17  Jim Meyering  <meyering@lucent.com>
49730
49731         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
49732         now that the version in autoconf is equivalent.
49733         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
49734
49735         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
49736         Suggestion from Akim Demaille.
49737
49738         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
49739         (jm_PREREQ_TEMPNAME): New function.
49740
49741 2001-03-16  Paul Eggert  <eggert@twinsun.com>
49742
49743         * lib/tempname.c (uint64_t): Define to uintmax_t if
49744         not defined, and if UINT64_MAX is not defined.
49745         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
49746         Reported by John David Anglin.
49747
49748 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
49749
49750         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
49751         resolve alias if codeset is empty.
49752         * lib/config.charset (BeOS): Use wildcard syntax.
49753
49754 2001-03-13  Jim Meyering  <meyering@lucent.com>
49755
49756         * lib/path-concat.c (path_concat)
49757         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
49758         concatenating e.g., `C:' and `foo'.
49759         From Bruno Haible.
49760
49761 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
49762
49763         * lib/localcharset.c (locale_charset): Don't use
49764         setlocale(LC_CTYPE,NULL). Don't return NULL.
49765         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
49766
49767 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
49768
49769         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
49770         support for DOS/DJGPP.
49771
49772 2001-03-01  Paul Eggert  <eggert@twinsun.com>
49773
49774         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
49775         lacks mkstemp.  Compile our own tempname.c if we compile our own
49776         mkstemp.c, as mkstemp relies on tempname.
49777
49778 2001-03-01  Jim Meyering  <meyering@lucent.com>
49779
49780         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
49781         AH_VERBATIM really does output its argument verbatim.
49782
49783 2001-02-28  Paul Eggert  <eggert@twinsun.com>
49784
49785         * lib/Makefile.am (libfetish_a_SOURCES):
49786         Add dup-safer.c, fopen-safer.c.
49787         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
49788
49789         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
49790         * lib/unistd-safer.h: New files.
49791
49792 2001-02-25  Paul Eggert  <eggert@twinsun.com>
49793
49794         The mkstemp replacement is taken from glibc 2.2.2, with some
49795         portability fixes for use outside glibc, as follows:
49796
49797         * lib/tempname.c (struct_stat64): New macro.
49798         (direxists, __gen_tempname): Use it.
49799         This avoids a portability problem with Solaris 8.
49800
49801         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
49802         (<stddef.h>, <stdint.h>, <string.h>):
49803         Include only if STDC_HEADERS || _LIBC.
49804         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
49805         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
49806         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
49807         (__set_errno): Define this macro if <errno.h> doesn't.
49808         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
49809         Define these macros if <stdio.h> doesn't.
49810         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
49811         Define these macros if <sys/stat.h>
49812         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
49813         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
49814         __xstat64): Define if not _LIBC.
49815         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
49816         (__gen_tempname): Invoke gettimeofday only if
49817         HAVE_GETTIMEOFDAY || _LIBC;
49818         otherwise, fall back on plain "time".
49819         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
49820
49821         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
49822
49823         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
49824
49825 2001-02-18  Paul Eggert  <eggert@twinsun.com>
49826
49827         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
49828
49829 2001-02-17  Paul Eggert  <eggert@twinsun.com>
49830
49831         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
49832         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
49833         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
49834         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
49835
49836 2001-02-17  Paul Eggert  <eggert@twinsun.com>
49837
49838         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
49839         Remove workaround macros for hosts that have mbrtowc but not
49840         mbstate_t, as we now insist on proper declarations for both
49841         before using mbrtowc.
49842
49843 2001-02-17  Jim Meyering  <meyering@lucent.com>
49844
49845         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
49846         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
49847         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
49848         UnixWare 7.1.1.
49849
49850         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
49851         rather than AC_CACHE_VAL.
49852
49853 2001-02-17  Jim Meyering  <meyering@lucent.com>
49854
49855         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
49856         around included file name.
49857
49858         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
49859
49860         * lib/strftime.c: Update from GNU libc (the only changes were to
49861         comments).
49862
49863 2001-02-17  Jim Meyering  <meyering@lucent.com>
49864
49865         * lib/regex.c: Update from libc.
49866
49867 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
49868
49869         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
49870         clash.
49871
49872 2001-02-16  Paul Eggert  <eggert@twinsun.com>
49873
49874         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
49875         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
49876         Reported by Mark Hounschell via Paul Eggert.
49877
49878 2001-02-07  Jim Meyering  <meyering@lucent.com>
49879
49880         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
49881
49882 2001-02-05  Jim Meyering  <meyering@lucent.com>
49883
49884         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
49885         it includes the patch required for `large file' support with at least
49886         HP-UX's 10.20 /bin/cc.
49887
49888 2001-02-03  Jim Meyering  <meyering@lucent.com>
49889
49890         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
49891         AS_IF, now that it works once again (mysteriously).
49892         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
49893
49894 2001-01-30  Jim Meyering  <meyering@lucent.com>
49895
49896         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
49897         * m4/chown.m4: Rename conftestchown to conftest.chown.
49898         * m4/rename.m4: s/conftestdir/conftest.d1/ and
49899         s/conftestdir2/conftest.d2/.
49900         * m4/utimes.m4: s/conftestdata/conftest.data/
49901         Inspired by Pavel Roskin's change in autoconf.
49902
49903 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
49904
49905         * lib/config.charset: Update for FreeBSD 4.2.
49906
49907 2001-01-27  Jim Meyering  <meyering@lucent.com>
49908
49909         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
49910         a use of AS_IF.
49911         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
49912
49913 2001-01-26  Jim Meyering  <meyering@lucent.com>
49914
49915         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
49916         quotearg.c includes it.
49917
49918 2001-01-26  Jim Meyering  <meyering@lucent.com>
49919
49920         * lib/quotearg.c: Include stddef.h.
49921         * lib/quote.c: Include stddef.h.
49922         Reported by Axel Kittenberger.
49923
49924         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
49925         line in double quotes so that it evokes a better diagnostic.
49926         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
49927         Reported by Axel Kittenberger.
49928
49929 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
49930
49931         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
49932         as if it was a `charset'.
49933
49934 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
49935
49936         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
49937         has const.
49938
49939 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
49940
49941         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
49942         to avoid a warning.  Add back 'const' to inptr.
49943
49944 2001-01-20  Jim Meyering  <meyering@lucent.com>
49945
49946         Be sure that headers are checked before used in code compiled
49947         for the type checks.
49948         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
49949         In place of that, invoke jm_CHECK_ALL_TYPES.
49950         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
49951         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
49952         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
49953         The check for ssize_t was mistakenly run before the test for unistd.h.
49954
49955         The configure-time check for stdbool.h was missing.
49956         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
49957         (jm_PREREQ_HASH): New function.
49958
49959 2001-01-17  Jim Meyering  <meyering@lucent.com>
49960
49961         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
49962         for autoconf-2.49c.
49963         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
49964
49965 2001-01-16  Jim Meyering  <meyering@lucent.com>
49966
49967         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
49968         From Bruno Haible.
49969
49970 2001-01-14  Jim Meyering  <meyering@lucent.com>
49971
49972         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
49973         foo and bar.  Create conftestdir/ in the script, not in the C code.
49974         Remove directories in the script, not in the C code.
49975         Remove conftestdir{,2} before trying to create the directory.
49976         Make the entire configure script fail if the mkdir fails.
49977
49978 2001-01-14  Jim Meyering  <meyering@lucent.com>
49979
49980         * lib/rename.c: New file.  From Volker Borchert.
49981         Include stdlib.h, string.h or strings.h, and xalloc.h.
49982         Use strip_trailing_slashes rather than open-coding it.
49983
49984 2001-01-03  Paul Eggert  <eggert@twinsun.com>
49985
49986         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
49987
49988 2001-01-03  Jim Meyering  <meyering@lucent.com>
49989
49990         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
49991         of local `inptr' to avoid warning with some system declarations of
49992         iconv.
49993
49994 2001-01-02  Volker Borchert  <bt@teknon.de>
49995
49996         * m4/rename.m4: New file.
49997         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
49998
49999 2001-01-01  Jim Meyering  <meyering@lucent.com>
50000
50001         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
50002         even on systems with utmpx.h.  It's necessary for the declaration of
50003         utmp's ut_user member.  Reported by Andreas Jaeger.
50004
50005         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
50006         available. They are required for the declarations of getgrgid and
50007         getpwuid resp.
50008         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
50009         Reported by Andreas Jaeger.
50010
50011 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
50012
50013         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
50014         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
50015         so `make install' also works in VPATH builds.
50016
50017 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
50018
50019         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
50020         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
50021         can be used in subdirectories.
50022
50023 2000-12-29  Paul Eggert  <eggert@twinsun.com>
50024
50025         * lib/modechange.c: Do not assume that mode_t uses the
50026         traditional octal encoding.  E.g. "chmod 1 FOO" should set
50027         the other-execute bit of FOO even if S_IXOTH != 1.
50028
50029         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
50030         WOTH, XOTH, ALLM): New macros.
50031         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
50032          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
50033         Use them.
50034         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
50035         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
50036         (mode_compile):
50037         No need to use uintmax_t; unsigned long is long enough.
50038         Don't bother to get suffix since we don't use it.
50039
50040 2000-12-26  Jim Meyering  <meyering@lucent.com>
50041
50042         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
50043         better with autoheader.
50044
50045 2000-12-24  Jim Meyering  <meyering@lucent.com>
50046
50047         * lib/hash.c (is_prime): Return explicit boolean values.
50048         (hash_get_first): Return NULL to appease Irix5.6's 89.
50049         Reported by Nelson Beebe.
50050
50051 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
50052
50053         * lib/localcharset.c (locale_charset): Add support for Win32.
50054
50055 2000-12-18  Paul Eggert  <eggert@twinsun.com>
50056
50057         * lib/physmem.h, lib/physmem.c: New files.
50058
50059         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
50060         (noinst_HEADERS): Add physmem.h.
50061
50062         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
50063         't' for compatibility with Solaris 8 sort.
50064
50065 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
50066
50067         * lib/config.charset: Add support for BeOS.
50068
50069 2000-12-17  Jim Meyering  <meyering@lucent.com>
50070
50071         * m4/dos.m4 (jm_AC_DOS): New file and macro.
50072         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
50073
50074 2000-12-16  Jim Meyering  <meyering@lucent.com>
50075
50076         This bug had a serious impact on chown: `chown N:M FILE' (for integer
50077         N and M) would have treated it like `chown N:N FILE'.
50078
50079         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
50080
50081 2000-12-16  Jim Meyering  <meyering@lucent.com>
50082
50083         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
50084         SHELLS_FILE to a file name that's useful on djgpp systems.
50085         Include stdlib.h.
50086         (ADDITIONAL_DEFAULT_SHELLS): Define.
50087         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
50088         Based mostly on a patch from Prashant TR.
50089
50090 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
50091
50092         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
50093         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
50094         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
50095
50096 2000-12-08  Andreas Schwab  <schwab@suse.de>
50097
50098         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
50099         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
50100
50101 2000-12-07  Jim Meyering  <meyering@lucent.com>
50102
50103         * lib/stripslash.c (ISSLASH): Define.
50104         (strip_trailing_slashes): Use ISSLASH rather than comparing against
50105         `/'.
50106         From Prashant TR.
50107
50108         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
50109         (dir_name_r): Declare this function as static.
50110         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
50111         manifest itself on a name containing a mix of slashes and
50112         backslashes.
50113         Make this function work with names starting with a DOS-style
50114         drive letter and colon prefix.
50115         (dir_name): Append `.' if necessary.
50116         Based mostly on patches from Prashant TR and Eli Zaretskii.
50117
50118         * lib/dirname.h (dir_name_r): Remove prototype.
50119
50120 2000-12-06  Paul Eggert  <eggert@twinsun.com>
50121
50122         * m4/off_t-format.m4: Remove this file.
50123         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
50124
50125 2000-12-06  Jim Meyering  <meyering@lucent.com>
50126
50127         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
50128         replacement strtoull, we may well need the replacement strtoul, too.
50129         Check for declarations of strtoul and strtoull.
50130         Check for strtol.  Mainly as a cue to cause automake to include
50131         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
50132         Check for limits.h -- strtol.c needs it.
50133
50134 2000-12-05  Jim Meyering  <meyering@lucent.com>
50135
50136         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
50137
50138 2000-12-04  Jim Meyering  <meyering@lucent.com>
50139
50140         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
50141         Also include memory.h, stdlib.h, unistd.h if appropriate.
50142         Reported by Andreas Jaeger (conflicting declaration of malloc).
50143
50144 2000-12-02  Jim Meyering  <meyering@lucent.com>
50145
50146         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
50147         * m4/jm-macros.m4 (jm_MACROS): require it.
50148
50149 2000-12-02  Jim Meyering  <meyering@lucent.com>
50150
50151         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
50152
50153 2000-12-01  Paul Eggert  <eggert@twinsun.com>
50154
50155         * lib/memrchr.c: Include <config.h> before any system include file.
50156
50157 2000-11-30  Jim Meyering  <meyering@lucent.com>
50158
50159         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
50160
50161 2000-11-30  Jim Meyering  <meyering@lucent.com>
50162
50163         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
50164
50165 2000-11-29  Paul Eggert  <eggert@twinsun.com>
50166
50167         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
50168
50169 2000-11-26  Jim Meyering  <meyering@lucent.com>
50170
50171         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
50172
50173 2000-11-22  Paul Eggert  <eggert@twinsun.com>
50174
50175         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
50176         size of (size_t) -1; it's not portable.
50177
50178 2000-11-17  Jim Meyering  <meyering@lucent.com>
50179
50180         * lib/strstr.c: Update from GNU libc.
50181
50182 2000-11-17  Akim Demaille  <akim@epita.fr>
50183
50184         * lib/obstack.h: Formatting changes.
50185         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
50186         prevent type checking.
50187         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
50188         cast the value to (void *): assigning a `foo *' to a `void *'
50189         variable is valid.
50190         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
50191
50192 2000-11-16  Jim Meyering  <meyering@lucent.com>
50193
50194         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
50195
50196 2000-11-11  Jim Meyering  <meyering@lucent.com>
50197
50198         * lib/error.c: Add a couple #includes, merging from GNU libc version.
50199
50200 2000-11-10  Jim Meyering  <meyering@lucent.com>
50201
50202         * lib/obstack.h: Update from GNU libc.
50203         * lib/obstack.c: Likewise.
50204
50205 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
50206
50207         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
50208
50209 2000-11-06  Paul Eggert  <eggert@twinsun.com>
50210
50211         * lib/getusershell.c (setusershell): Use rewind rather than
50212         fseek/fseeko, to avoid configuration hassles with fseeko.
50213         Don't bother opening SHELLS_FILE if shellstream is NULL;
50214         it's not necessary.
50215
50216 2000-11-05  Jim Meyering  <meyering@lucent.com>
50217
50218         * lib/makepath.h (make_dir): Declare.
50219         * lib/makepath.c (make_dir): Remove `static' attribute.
50220         Tweak a comment.
50221
50222 2000-11-04  Jim Meyering  <meyering@lucent.com>
50223
50224         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
50225
50226 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
50227
50228         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
50229         last one in a bucket, advance to the next bucket.
50230
50231 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
50232
50233         * lib/fnmatch.c: Do not comment out all the code if we are using
50234         the GNU C library, because in some cases we are replacing buggy
50235         code in the GNU C library itself.
50236
50237 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
50238
50239         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
50240         (regex_compile): Catch bogus \(\1\).
50241
50242 2000-10-30  Paul Eggert  <eggert@twinsun.com>
50243
50244         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
50245         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
50246         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
50247
50248 2000-10-30  Paul Eggert  <eggert@twinsun.com>
50249
50250         * lib/error.h, getline.h, modechange.h:
50251         Remove "2000" from Copyright line, as the file hasn't been
50252         changed this year other than in the copyright notice.
50253
50254         * lib/xalloc.h: Add "2000" to Copyright line, as this file
50255         was changed this year.
50256
50257 2000-10-29  Jim Meyering  <meyering@lucent.com>
50258
50259         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
50260         renaming.
50261         * m4/ls-mntd-fs.m4: Likewise
50262
50263 2000-10-29  Jim Meyering  <meyering@lucent.com>
50264
50265         * lib/xstat.in: Fix grammar in comment.
50266
50267 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
50268
50269         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
50270         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
50271         doesn't define __restrict_arr.
50272
50273 2000-10-28  Jim Meyering  <meyering@lucent.com>
50274
50275         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
50276         (jm_PREREQ_MEMCHR): New function.
50277
50278 2000-10-28  Jim Meyering  <meyering@lucent.com>
50279
50280         * lib/memchr.c: Update from libc.
50281         Adjust for portability:
50282         [HAVE_STDLIB_H]: Include stdlib.h.
50283         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
50284         Undef __memchr, too.
50285         [!weak_alias]: Define __memchr to memchr.
50286
50287         * lib/regex.c: Update from libc.
50288         * lib/regex.h: Likewise.
50289         * lib/getopt1.c: Likewise.
50290         * lib/memcmp.c: Likewise.
50291
50292         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
50293         Avoid using fseek, when possible -- it's broken by design.
50294         Patch by Ulrich Drepper.
50295
50296 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
50297
50298         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
50299         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
50300         Giving in to popular pressure to shut up the compiler with casts.
50301
50302 2000-10-26  Jim Meyering  <meyering@lucent.com>
50303
50304         * lib/strftime.c: Update from libc.
50305
50306 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
50307
50308         * regex.c: More `unsigned char' -> `re_char' changes.
50309         Also change several `int' into `re_wchar_t'.
50310         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
50311         (PUSH_FAILURE_POINTER): Don't cast any more.
50312         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
50313         We want GCC to complain, since this piece of code makes
50314         re_match non-reentrant, which *should* be fixed.
50315         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
50316         (EXTEND_BUFFER): Use RETALLOC.
50317         (SET_LIST_BIT): Don't cast.
50318         (re_wchar_t): New type.
50319         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
50320         that those two functions will always properly return.
50321         (IMMEDIATE_QUIT_CHECK): Cast to void.
50322         (analyse_first): Use recursion rather than an explicit stack.
50323         (re_compile_fastmap): Can't fail anymore.
50324         (re_search_2): Don't check re_compile_fastmap for failure.
50325         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
50326         Now also sets the new value (passed in a new argument).
50327         (re_match_2_internal): Use it.
50328         Also, use a new var `reg' of type size_t when looping through regs
50329         rather than reuse the inappropriate `mcnt'.
50330
50331 2000-10-25  Jim Meyering  <meyering@lucent.com>
50332
50333         * lib/obstack.c: Update from libc.
50334
50335 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
50336
50337         * regex.c (regex_compile): Change the way of handling a range from
50338         a char less than 256 to a char not less than 256.
50339
50340 2000-10-24  Andrew Innes  <andrewi@gnu.org>
50341
50342         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
50343         NT-Emacs only.
50344         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
50345         so that re_search functions only quit when callers expect them to.
50346
50347 2000-10-23  Jim Meyering  <meyering@lucent.com>
50348
50349         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
50350         wrong.  That set_locale call must not have any side effects.
50351         From Paul Eggert.
50352
50353 2000-10-22  Jim Meyering  <meyering@lucent.com>
50354
50355         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
50356         [CYCLIC]: Remove now-unused definition.
50357
50358         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
50359         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
50360         Suggestion from Ulrich Drepper.
50361
50362 2000-10-21  Jim Meyering  <meyering@lucent.com>
50363
50364         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
50365         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
50366         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
50367
50368 2000-10-21  Jim Meyering  <meyering@lucent.com>
50369
50370         * lib/dirname.c (memrchr): Declare if necessary.
50371         (dir_name): Remove the restriction that there be no
50372         trailing slashes.  Now, this code skips past them, effectively
50373         ignoring them.
50374         [TEST_DIRNAME] (main): New unit tests.
50375
50376         * lib/memrchr.c: New file from GNU libc.
50377         Undef __memrchr, too.
50378         [!weak_alias]: Define __memrchr to memrchr.
50379         Guard weak_alias use with `#ifdef weak_alias'.
50380
50381 2000-10-21  Jim Meyering  <meyering@lucent.com>
50382
50383         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
50384         (dir_name): Use dir_name_r.
50385         * lib/dirname.h (dir_name_r): Declare it.
50386
50387 2000-10-17  Jim Meyering  <meyering@lucent.com>
50388
50389         * lib/quote.h (PARAMS): Define and use.
50390         Reported by Akim Demaille.
50391
50392         * lib/getopt.c: Update from libc.
50393
50394 2000-10-16  Jim Meyering  <meyering@lucent.com>
50395
50396         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
50397         setlocale.
50398         From Jan Fedak.
50399
50400 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
50401
50402         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
50403
50404 2000-09-25  Jim Meyering  <meyering@lucent.com>
50405
50406         * lib/md5.h (rol): Define (from GnuPG).
50407
50408         * lib/sha.c: Give credit (GnuPG) where due.
50409         (M): Use rol rather than open-coding it.
50410         Add a FIXME comment.
50411
50412 2000-09-21  Jim Meyering  <meyering@lucent.com>
50413
50414         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
50415         Reported by Michael Stone.
50416
50417 2000-09-20  Jim Meyering  <meyering@lucent.com>
50418
50419         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
50420         (noinst_HEADERS): Add sha.h.
50421         Based on code from Scott G. Miller and from GnuPG.
50422
50423 2000-09-18  Jim Meyering  <meyering@lucent.com>
50424
50425         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
50426         LIBS. Otherwise, everyone ends up linking with -lelf for some
50427         configurations.
50428         Reported by Mike Stone.
50429
50430 2000-09-15  Jim Meyering  <meyering@lucent.com>
50431
50432         * lib/regex.c: Update from libc.
50433
50434 2000-09-10  Jim Meyering  <meyering@lucent.com>
50435
50436         * lib/getopt.c (_getopt_internal): Update from glibc.
50437
50438 2000-09-09  Jim Meyering  <meyering@lucent.com>
50439
50440         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
50441         think it should be used as a general replacement for isascii.
50442         * lib/fnmatch.c: Likewise.
50443         * lib/mbswidth.c: Likewise
50444         * lib/regex.c: Likewise.
50445
50446         Don't use atoi.
50447         * lib/userspec.c: Include sys/param.h and limits.h.
50448         Include xstrtol.h.
50449         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
50450         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
50451         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
50452         UID, GID.  Check range.
50453
50454 2000-09-06  Jim Meyering  <meyering@lucent.com>
50455
50456         * lib/getopt.c (_getopt_internal): Update from glibc.
50457
50458 2000-08-30  Jim Meyering  <meyering@lucent.com>
50459
50460         * lib/strftime.c: Merge in changes from GNU libc.
50461
50462 2000-08-26  Jim Meyering  <meyering@lucent.com>
50463
50464         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
50465         * m4/fpending.m4: New file.
50466
50467 2000-08-26  Jim Meyering  <meyering@lucent.com>
50468
50469         * lib/closeout.c: Include "__fpending.h".
50470         (close_stdout_status): Return right away if there's nothing to flush.
50471
50472         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
50473         * lib/__fpending.c: New file.
50474         * lib/__fpending.h: New file.
50475
50476 2000-08-20  Jim Meyering  <meyering@lucent.com>
50477
50478         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
50479         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
50480         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
50481
50482 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
50483
50484         Improve fileutils installation on systems where running
50485         programs (like install) can't be unlinked.
50486         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
50487         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
50488
50489 2000-08-07  Paul Eggert  <eggert@twinsun.com>
50490
50491         Standardize on "memory exhausted" instead of "Memory exhausted"
50492         or "virtual memory exhausted".
50493         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
50494         "virtual memory exhausted".
50495         * lib/same.c (same_name): Invoke xalloc_die instead of printing
50496         our own message.
50497         * lib/userspec.c (parse_user_spec): Likewise.
50498         * lib/bumpalloc.h: comment fix
50499         * lib/same.c, userspec.c: Include xalloc.h.
50500
50501         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
50502         not char *const and pointing to a constant array.
50503         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
50504         (xrealloc): Comment fix.
50505
50506         * lib/userspec.c (parse_user_spec):
50507         Don't translate a message until just before returning,
50508         to avoid unnecessary translation.
50509
50510 2000-08-07  Jim Meyering  <meyering@lucent.com>
50511
50512         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
50513         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
50514         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
50515         getgroups.c, gethostname.c, getopt.h, group-member.c,
50516         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
50517         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
50518         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
50519         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
50520         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
50521         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
50522         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
50523         yesno.c: Back out Copyright date changes for each file with no change
50524         this year.  This eases coordination with other programs using the same
50525         source code modules.  From Paul Eggert.
50526
50527 2000-08-06  Paul Eggert  <eggert@twinsun.com>
50528
50529         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
50530         not char, for compatibility with glibc 2.1.3 strftime.c.
50531
50532 2000-08-03  Greg McGary  <greg@mcgary.org>
50533
50534         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
50535         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
50536         (EXTEND_BUFFER): Use them.
50537
50538 2000-08-01  Jim Meyering  <meyering@lucent.com>
50539
50540         * lib/dirname.c (ISSLASH): Define.
50541         (BACKSLASH_IS_PATH_SEPARATOR): Define.
50542         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
50543         both `\' and `/' may be use as path separators.
50544         Based on a patch from Prashant TR.
50545
50546 2000-07-31  Paul Eggert  <eggert@twinsun.com>
50547
50548         * lib/quotearg.c (quotearg_n_options): Don't make the initial
50549         slot vector a constant, since it might get modified.
50550
50551 2000-07-31  Jim Meyering  <meyering@lucent.com>
50552
50553         * lib/xmalloc.c: Use `virtual memory exhausted', not
50554         `Memory exhausted'.
50555         * lib/obstack.c (print_and_abort): Likewise.
50556
50557 2000-07-30  Paul Eggert  <eggert@twinsun.com>
50558
50559         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
50560         buffer, so that the caller can always quote one small
50561         component of a "memory exhausted" message in slot 0.
50562         From a suggestion by Jim Meyering.
50563
50564 2000-07-30  Jim Meyering  <meyering@lucent.com>
50565
50566         * lib/makepath.c (make_path): Quote the other instance, too.
50567
50568         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
50569         (STATIC_BUF_SIZE): Define.
50570         (quotearg_n_options): Use only statically allocated storage when
50571         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
50572         than STATIC_BUF_SIZE.
50573
50574 2000-07-29  Jim Meyering  <meyering@lucent.com>
50575
50576         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
50577         * lib/dirname.c (dir_name): Likewise.
50578
50579         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
50580         `/'.
50581
50582         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
50583         (dir_name): Assert that there are no trailing slashes.
50584
50585 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
50586
50587         * lib/mbswidth.h (mbswidth): Add a flags argument.
50588         (mbswidth): New declaration.
50589         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
50590         * lib/mbswidth.c (mbswidth): Add a flags argument.
50591         (mbsnwidth): New function.
50592
50593 2000-07-24  Jim Meyering  <meyering@lucent.com>
50594
50595         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
50596
50597 2000-07-23  Paul Eggert  <eggert@twinsun.com>
50598
50599         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
50600
50601 2000-07-23  Paul Eggert  <eggert@twinsun.com>
50602
50603         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
50604         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
50605         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
50606         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
50607         invoke multibyte primitives.
50608
50609 2000-07-23  Paul Eggert  <eggert@twinsun.com>
50610
50611         * lib/quotearg.c:
50612         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
50613         so that mbstate_t is always defined.
50614
50615         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
50616         be 1 in at least one GCC installation, and this configuration
50617         error is likely to be common.  Ignoring MB_LEN_MAX hurts
50618         performance on hosts that have mbrtowc but have only unibyte
50619         locales, but I assume these hosts are rare.
50620
50621 2000-07-23  Paul Eggert  <eggert@twinsun.com>
50622
50623         * lib/mbswidth.c (_XOPEN_SOURCE):
50624         Don't define; this causes problems on Solaris 7.
50625         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
50626
50627 2000-07-23  Jim Meyering  <meyering@lucent.com>
50628
50629         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
50630         too: getgrgid, getpwuid, getuid.
50631
50632 2000-07-23  Jim Meyering  <meyering@lucent.com>
50633
50634         * lib/basename.c (base_name): Add an assertion.
50635
50636 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
50637
50638         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
50639         shadow its mbsinit function.
50640
50641 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
50642
50643         * lib/mbswidth.h: New file.
50644         * lib/mbswidth.c: New file.
50645         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
50646         (noinst_HEADERS): Add mbswidth.h.
50647
50648 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
50649
50650         * lib/config.charset: Add support for FreeBSD. Improve support for
50651         HP-UX and IRIX 6.
50652
50653 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
50654
50655         * m4/mbswidth.m4: New file.
50656         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
50657
50658 2000-07-15  Jim Meyering  <meyering@lucent.com>
50659
50660         * lib/makepath.c: Include quote.h.
50661         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
50662         corresponding argument in a `quote (...)' call.
50663         Give better diagnostics.
50664
50665         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
50666         (noinst_HEADERS): Add quote.h.
50667
50668         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
50669         from tar's src/misc.c.
50670         * lib/quote.h: New file.  Prototypes for same.
50671
50672 2000-07-14  Paul Eggert  <eggert@twinsun.com>
50673
50674         From a suggestion by Bruno Haible.
50675         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
50676         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
50677         to decide whether to define the BeOS workaround macro;
50678         this adjusts to the change to AC_MBSTATE_T.
50679
50680 2000-07-14  Jim Meyering  <meyering@lucent.com>
50681
50682         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
50683         jm_AC_TYPE_UINTMAX_T.
50684
50685 2000-07-13  Paul Eggert  <eggert@twinsun.com>
50686
50687         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
50688
50689         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
50690         quotearg_buffer_restyled): Add support for
50691         clocale_quoting_style.  Undo previous change to
50692         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
50693         and "{RIGHT QUOTATION MARK}" msgids.
50694
50695 2000-07-10  Paul Eggert  <eggert@twinsun.com>
50696
50697         From a suggestion by Bruno Haible.
50698         * m4/mbstate_t.m4 (AC_MBSTATE_T):
50699         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
50700         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
50701         and mbstate_t, to a single-part test that simply defines mbstate_t.
50702         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
50703         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
50704
50705 2000-07-10  Jim Meyering  <meyering@lucent.com>
50706
50707         * m4/strerror_r.m4: Mirror the correction made in autoconf.
50708
50709         * m4/gnu-source.m4: Output to confdefs.h directly.
50710         Suggestion from Akim Demaille.
50711
50712 2000-07-09  Paul Eggert  <eggert@twinsun.com>
50713
50714         The old behavior of quoting `like this' doesn't look good with
50715         newer, ISO-style fonts.  See:
50716         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
50717
50718         Instead, quote "like this" by default.  Let the translator
50719         tailor the locale-specific quoting behavior by providing
50720         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
50721
50722         * lib/quotearg.c (N_): New macro.
50723         (gettext_default): New function.
50724         (quotearg_buffer_restyled): Use
50725         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
50726         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
50727
50728 2000-07-09  Jim Meyering  <meyering@lucent.com>
50729
50730         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
50731         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
50732
50733         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
50734         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
50735
50736 2000-07-09  Jim Meyering  <meyering@lucent.com>
50737
50738         * lib/Most files: Update copyright dates to include 2000.
50739
50740 2000-07-08  Jim Meyering  <meyering@lucent.com>
50741
50742         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
50743         if not defined.
50744         (xgethostname): Remove now-unnecessary #ifdef.
50745         Move declaration of `err' into loop where it's used.
50746
50747 2000-07-05  Paul Eggert  <eggert@twinsun.com>
50748         and Bruno Haible  <haible@clisp.cons.org>
50749
50750         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
50751         only if the test for an object-type mbstate_t fails.  This
50752         prevents us from mistakenly reporting that mbstate_t is a
50753         system object type after we "#define mbstate_t int" to work
50754         around its lack.
50755
50756 2000-07-05  Paul Eggert  <eggert@twinsun.com>
50757         and Bruno Haible  <haible@clisp.cons.org>
50758
50759         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
50760
50761 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
50762
50763         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
50764         to strerror_r.
50765         Include <ctype.h> for use of isalpha.
50766
50767 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
50768
50769         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
50770         by allocating a larger buffer. Test the gethostname return value for
50771         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
50772         returns an error and ENAMETOOLONG isn't defined.
50773
50774 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
50775
50776         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
50777         dimension.
50778
50779 2000-07-04  Jim Meyering  <meyering@lucent.com>
50780
50781         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
50782         of the deprecated AC_CHECKING.
50783
50784 2000-07-04  Jim Meyering  <meyering@lucent.com>
50785
50786         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
50787         Reported by Bruno Haible.
50788
50789 2000-07-04  Jim Meyering  <meyering@lucent.com>
50790
50791         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
50792         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
50793         lacks mbrtowc.
50794
50795 2000-07-03  Paul Eggert  <eggert@twinsun.com>
50796
50797         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
50798         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
50799
50800 2000-07-03  Paul Eggert  <eggert@twinsun.com>
50801         and Bruno Haible  <haible@clisp.cons.org>
50802
50803         * lib/quotearg.c (mbrtowc):
50804         Assign to *pwc, and return 1 only if result is nonzero.
50805         (iswprint): Use ISPRINT when substituting our own mbrtowc.
50806
50807 2000-07-03  Jim Meyering  <meyering@lucent.com>
50808
50809         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
50810
50811 2000-07-03  Jim Meyering  <meyering@lucent.com>
50812
50813         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
50814         This is necessary to get a definition of e.g., UTMP_FILE on
50815         HP-UX 10.20.
50816         From Bob Proulx.
50817
50818 2000-07-02  Jim Meyering  <meyering@lucent.com>
50819
50820         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
50821
50822         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
50823         AC_LIBOBJ(function_name).
50824         * m4/chown.m4: Likewise.
50825         * m4/fnmatch.m4: Likewise.
50826         * m4/ftruncate.m4: Likewise.
50827         * m4/getgroups.m4: Likewise.
50828         * m4/getline.m4: Likewise.
50829         * m4/group-member.m4: Likewise.
50830         * m4/jm-macros.m4: Likewise.
50831         * m4/lstat.m4: Likewise.
50832         * m4/malloc.m4: Likewise.
50833         * m4/memcmp.m4: Likewise.
50834         * m4/nanosleep.m4: Likewise.
50835         * m4/putenv.m4: Likewise.
50836         * m4/realloc.m4: Likewise.
50837         * m4/regex.m4: Likewise.
50838         * m4/stat.m4: Likewise.
50839         * m4/strftime.m4: Likewise.
50840
50841 2000-07-02  Jim Meyering  <meyering@lucent.com>
50842
50843         * lib/quotearg.c (mbstate_t): Don't define here.
50844
50845 2000-07-02  Jim Meyering  <meyering@lucent.com>
50846
50847         * lib/nanosleep.c (SIGCONT): Define if not already defined.
50848
50849 2000-07-01  Jim Meyering  <meyering@lucent.com>
50850
50851         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
50852
50853 2000-07-01  Jim Meyering  <meyering@lucent.com>
50854
50855         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
50856         problem.
50857
50858 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
50859
50860         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
50861         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
50862
50863 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
50864
50865         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
50866         per change in ../m4/ls-mntd-fs.m4.
50867         (read_filesystem_list): Ignore symbolic links.
50868
50869 2000-06-29  Jim Meyering  <meyering@lucent.com>
50870
50871         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
50872         for declaration of strcmp.
50873
50874         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
50875
50876         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
50877         Avoid warning by casting result to `char *' to remove `const'.
50878
50879 2000-06-28  Jim Meyering  <meyering@lucent.com>
50880
50881         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
50882         included by quotearg.c, for which we perform this test.  From
50883         Bruno Haible.
50884
50885 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
50886
50887         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
50888         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
50889         <utmpx.h> exists, put readutmp.o into LIBOBJS.
50890
50891 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
50892
50893         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
50894
50895 2000-06-26  Paul Eggert  <eggert@twinsun.com>
50896
50897         savedir now sets errno on failure and invokes xmalloc to get memory.
50898         Fix a couple of other minor bugs while we're at it.
50899
50900         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
50901         (NAMLEN): Remove macro.
50902         (malloc, realloc): Remove decls.
50903         (stpcpy): Likewise.
50904         ("xalloc.h"): Include.
50905         (NAME_SIZE_DEFAULT): New macro.
50906         (savedir): Use xmalloc / xrealloc to allocate memory.
50907         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
50908         Skip "" directory entries.
50909         Use strlen to calculate directory entry length, since the old method
50910         is rarely used these days and isn't worth supporting.
50911         Don't use a pointer after freeing it.
50912         Check for integer overflow when calculating allocation size.
50913         Use memcpy to copy entries, instead of stpcpy.
50914         Set errno properly when returning NULL.
50915         Check for readdir error.
50916
50917 2000-06-26  Jim Meyering  <meyering@lucent.com>
50918
50919         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
50920
50921 2000-06-25  Jim Meyering  <meyering@lucent.com>
50922
50923         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
50924         Linux header bug when _XOPEN_SOURCE is defined to 500.
50925
50926 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
50927
50928         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
50929         deficiency.
50930
50931 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
50932
50933         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
50934         Include xalloc.h.
50935         Don't include <stdlib.h>.  Don't declare malloc, realloc.
50936
50937 2000-06-24  Jim Meyering  <meyering@lucent.com>
50938
50939         * m4/strerror_r.m4: Revive this file -- to try out an experimental
50940         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
50941         for which strerror does return char*, but which lacks a conveniently
50942         accessible declaration of the function.  If the compile-test says
50943         strerror_r doesn't work, then resort to a `run'-test that works on
50944         BeOS and segfaults on DEC Unix.
50945
50946 2000-06-24  Jim Meyering  <meyering@lucent.com>
50947
50948         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
50949
50950 2000-06-23  Paul Eggert  <eggert@twinsun.com>
50951
50952         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
50953         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
50954
50955 2000-06-23  Paul Eggert  <eggert@twinsun.com>
50956
50957         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
50958         (mbrtowc, mbstate_t): Define substitutes if
50959         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
50960         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
50961         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
50962
50963 2000-06-23  Jim Meyering  <meyering@lucent.com>
50964
50965         * m4/afs.m4: Add missing AC_MSG_RESULT.
50966         Reported by Bruno Haible.
50967
50968         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
50969         Suggestion from Bruno Haible.
50970
50971 2000-06-23  Jim Meyering  <meyering@lucent.com>
50972
50973         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
50974
50975 2000-06-21  Jim Meyering  <meyering@lucent.com>
50976
50977         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
50978
50979 2000-06-21  Jim Meyering  <meyering@lucent.com>
50980
50981         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
50982         (noinst_HEADERS): Add getstr.h.
50983
50984         * lib/getline.c (getstr): Move into a separate file.
50985         * lib/getstr.c (getstr): New file, extracted from getline.c, with
50986         the following changes: new parameter, delim2; both delim[12]
50987         parameters have type `int', not `char'.  The latter would lose
50988         with 8-bit delimiters.
50989         * lib/getstr.h: New file.
50990
50991 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
50992
50993         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
50994         than 1024, return a memory chunk of least possible size, instead
50995         of size PATH_MAX + 2. In the loop, increment the size proportionally.
50996         Use free/xmalloc instead of xrealloc to avoid copying for very long
50997         paths.
50998
50999 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
51000
51001         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
51002         the empty string.
51003
51004 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
51005
51006         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
51007         address, not strdup.  Include <stdlib.h> and don't declare free().
51008
51009 2000-06-19  Jim Meyering  <meyering@lucent.com>
51010
51011         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
51012
51013 2000-06-18  Jim Meyering  <meyering@lucent.com>
51014
51015         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
51016
51017         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
51018         `checking whether...' message to be consistent with that of the
51019         lstat test.
51020
51021 2000-06-18  Jim Meyering  <meyering@lucent.com>
51022
51023         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
51024         Besides, these days every porting target provides a mkdir function.
51025
51026         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
51027         needed. (this snippet comes from src/system.h).
51028
51029 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
51030
51031         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
51032
51033 2000-06-15  Paul Eggert  <eggert@twinsun.com>
51034
51035         * lib/human.c (adjust_value): New function.
51036         (human_readable_inexact): Apply rounding style even when
51037         printing approximate values.
51038
51039 2000-06-14  Paul Eggert  <eggert@twinsun.com>
51040
51041         * lib/human.c (human_readable_inexact): Allow an input block
51042         size that is not a multiple of the output block size, and vice versa.
51043         Reported by Piergiorgio Sartor.
51044
51045 2000-06-14  Paul Eggert  <eggert@twinsun.com>
51046
51047         * lib/getdate.y (get_date): Apply relative times after time
51048         zone indicator, not before.  Reported by Todd A. Jacobs.
51049
51050 2000-06-13  Jim Meyering  <meyering@lucent.com>
51051
51052         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
51053
51054         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
51055
51056 2000-06-12  Paul Eggert  <eggert@twinsun.com>
51057
51058         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
51059
51060 2000-06-12  Jim Meyering  <meyering@lucent.com>
51061
51062         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
51063         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
51064         optional argument.
51065         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
51066         the optional argument, `lib'.
51067
51068 2000-06-08  Jim Meyering  <meyering@lucent.com>
51069
51070         * m4/largefile.m4: Remove file (now that it's part of autoconf).
51071
51072 2000-06-04  Paul Eggert  <eggert@twinsun.com>
51073
51074         Rewrite largefile configuration so that we don't need to run
51075         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
51076         AC_CANONICAL_HOST in configure.in -- jmm]
51077
51078         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
51079         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
51080         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
51081         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
51082         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
51083         All uses changed.
51084         Instead of inspecting the output of getconf, try to compile the
51085         test program without and with the macro definition.
51086         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
51087         for getconf.  Instead, check for the needed flags by compiling
51088         test programs.
51089
51090 2000-06-04  Paul Eggert  <eggert@twinsun.com>
51091
51092         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
51093
51094 2000-06-04  Jim Meyering  <meyering@lucent.com>
51095
51096         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
51097         SunOS 4.1.4 for which gid_t is an unsigned type.
51098
51099 2000-06-03  Jim Meyering  <meyering@lucent.com>
51100
51101         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
51102         now that autoconf requires that.
51103
51104         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
51105         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
51106         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
51107
51108 2000-06-03  Jim Meyering  <meyering@lucent.com>
51109
51110         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
51111
51112 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
51113
51114         * m4/glibc21.m4: New file.
51115         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
51116
51117 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
51118
51119         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
51120         newer, don't install charset.alias.
51121         * lib/config.charset: Change the Linux/glibc rules so they become empty
51122         on glibc-2.1 or newer.
51123
51124 2000-06-02  Jim Meyering  <meyering@lucent.com>
51125
51126         * lib/mountlist.c: Back out last change.  Instead, do this...
51127         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
51128         me_dummy member using the same `ignore'-testing code.
51129         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
51130         fs_type strings.
51131         From Mark D. Roth.
51132
51133 2000-05-29  Jim Meyering  <meyering@lucent.com>
51134
51135         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
51136         mounts with the `ignore' attribute.  Based on a patch from
51137         Mark D. Roth.
51138
51139 2000-05-28  Jim Meyering  <meyering@lucent.com>
51140
51141         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
51142         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
51143         * m4/stat.m4: Likewise.
51144         * m4/lstat.m4: Likewise.
51145         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
51146
51147         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
51148         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
51149
51150 2000-05-26  Jim Meyering  <meyering@lucent.com>
51151
51152         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
51153
51154 2000-05-24  Jim Meyering  <meyering@lucent.com>
51155
51156         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
51157         autoconf requires that.
51158         * m4/lib-check.m4: Likewise.
51159         * m4/jm-macros.m4: Likewise.
51160         * m4/strftime.m4: Likewise.
51161
51162         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
51163         AC_CHECK_DECLS, now that autoconf requires that.
51164
51165 2000-05-22  Jim Meyering  <meyering@lucent.com>
51166
51167         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
51168         * m4/lstat.m4: Likewise.
51169
51170 2000-05-22  Jim Meyering  <meyering@lucent.com>
51171
51172         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
51173
51174 2000-05-20  Jim Meyering  <meyering@lucent.com>
51175
51176         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
51177         (jm_PREREQ): Use it.
51178
51179 2000-05-18  Jim Meyering  <meyering@lucent.com>
51180
51181         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
51182         back, too, since it may have been modified by allocate_entry.
51183         (hash_delete): Rewrite to use neither the assignment operator
51184         nor the comma operator in an if-expression.
51185
51186 2000-05-15  Paul Eggert  <eggert@twinsun.com>
51187
51188         * lib/closeout.c:
51189         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
51190         Remove; no longer needed.
51191         "quotearg.h": Add include.
51192         (file_name): Do not bother to explicitly initialize to NULL; it's less
51193         efficient on some hosts.
51194         (close_stdout_status): Remove test as to whether stdout was already
51195         closed; it breaks for the case "echo x | sort >&-".
51196         Quote file name colons.
51197         Do not assume that _("write error") lacks format strings.
51198
51199 2000-05-15  Jim Meyering  <meyering@lucent.com>
51200
51201         * lib/version-etc.c (version_etc_copyright): Update the copyright
51202         string used in all --version output.
51203
51204 2000-05-14  Jim Meyering  <meyering@lucent.com>
51205
51206         * lib/closeout.c (close_stdout_set_file_name): New function.
51207         (close_stdout_status): Use new file-scoped global.
51208         Return right away if fstat says the stdout file descriptor is invalid.
51209         * lib/closeout.h (close_stdout_set_file_name): Declare.
51210
51211 2000-05-10  Jim Meyering  <meyering@lucent.com>
51212
51213         * lib/closeout.c [default_exit_status]: New file-scoped variable.
51214         (close_stdout_set_status): New function.
51215         * lib/closeout.h (close_stdout_set_status): Declare.
51216
51217 2000-05-09  Jim Meyering  <meyering@lucent.com>
51218
51219         * m4/gettext.m4: Rename this...
51220         * m4/libintl.m4: ...to this.
51221
51222 2000-05-08  Jim Meyering  <meyering@lucent.com>
51223
51224         * lib/long-options.c: Don't include closeout.h.
51225         (parse_long_options): Don't call close_stdout for --version.
51226
51227 2000-05-06  Paul Eggert  <eggert@twinsun.com>
51228
51229         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
51230         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
51231         2.1.3 bug.  This avoids a clash when files like regex.c define
51232         _GNU_SOURCE.
51233
51234 2000-05-06  Jim Meyering  <meyering@lucent.com>
51235
51236         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
51237         (AC_REPLACE_FUNCS): Add strnlen.
51238
51239         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
51240         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
51241
51242         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
51243         AC_SEARCH_LIBS call for nanosleep.
51244         (LIB_NANOSLEEP): Set and AC_SUBST.
51245
51246 2000-05-06  Jim Meyering  <meyering@lucent.com>
51247
51248         * lib/strnlen.c: Undefine __strnlen and strnlen.
51249         [!weak_alias]: Define __strnlen to strnlen.
51250
51251         * lib/atexit.c: New file, from libiberty.
51252
51253 2000-05-06  Jim Meyering  <meyering@lucent.com>
51254
51255         * lib/closeout.c (close_stdout_status): Also check for errors on the
51256         stderr stream.
51257
51258 2000-05-05  Jim Meyering  <meyering@lucent.com>
51259
51260         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
51261         AC_SEARCH_LIBS call for clock_gettime.
51262         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
51263
51264         * m4/search-libs.m4: Update from autoconf.
51265
51266         su doesn't work on Solaris 2.6.
51267         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
51268         <shadow.h>.  Reported by Dragos Harabor.
51269
51270 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
51271
51272         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
51273         memcpy instead of xmalloc, xrealloc, path_concat.
51274         (locale_charset): Treat empty environment variables as absent.
51275         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
51276
51277 2000-05-04  Jim Meyering  <meyering@lucent.com>
51278
51279         * lib/getopt.c: Update from glibc.
51280         * lib/obstack.c: Likewise.
51281         * lib/obstack.h: Likewise.
51282         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
51283         file
51284
51285         * lib/regex.h: Likewise.
51286         * lib/strndup.c: Likewise.
51287         * lib/strnlen.c: New file, from glibc.
51288
51289 2000-05-03  Jim Meyering  <meyering@lucent.com>
51290
51291         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
51292
51293 2000-05-02  Paul Eggert  <eggert@twinsun.com>
51294
51295         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
51296         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
51297         compile-time test, rather than inspecting host and OS, to
51298         decide whether to define _LARGEFILE_SOURCE.
51299
51300 2000-05-01  Jim Meyering  <meyering@lucent.com>
51301
51302         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
51303
51304         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
51305         Based on a patch from Bruno Haible.
51306
51307 2000-05-01  Jim Meyering  <meyering@lucent.com>
51308
51309         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
51310
51311 2000-04-29  Jim Meyering  <meyering@lucent.com>
51312
51313         * lib/path-concat.c: Declare strdup only if it's not defined.
51314         * lib/canon-host.c: Likewise.
51315
51316 2000-04-28  Jim Meyering  <meyering@lucent.com>
51317
51318         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
51319         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
51320         is included first, then limits.h is included by locale.h by libintl.h.
51321         From John David Anglin.
51322
51323 2000-04-25  Jim Meyering  <meyering@lucent.com>
51324
51325         * lib/makepath.c (S_IRWXUGO): Define.
51326         (make_path): Always perform explicit chmod if MODE specifies any
51327         of the `special' permission bits.  Prompted by a bug report against
51328         install from Mate Wierdl and Joost van Baal.
51329
51330 2000-04-18  Jim Meyering  <meyering@lucent.com>
51331
51332         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
51333         (jm_PREREQ): Use it.
51334
51335 2000-04-18  Jim Meyering  <meyering@lucent.com>
51336
51337         * lib/README: New file.
51338
51339         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
51340         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
51341
51342 2000-04-17  Jim Meyering  <meyering@lucent.com>
51343
51344         Get it right :-)
51345         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
51346         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
51347         Suggestion from Akim Demaille.
51348
51349 2000-04-17  Jim Meyering  <meyering@lucent.com>
51350
51351         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
51352         the definition of it to rpl_strftime also defined-away the system's
51353         declaration.
51354
51355 2000-04-15  Jim Meyering  <meyering@lucent.com>
51356
51357         Use `C' to denote so-called `contiguous' files, the same way
51358         that tar does.
51359         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
51360         (ftypelet): Use S_ISCTG.
51361         From Michael Deutschmann.
51362
51363 2000-04-14  Jim Meyering  <meyering@lucent.com>
51364
51365         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
51366         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
51367         clobbered.
51368
51369 2000-04-14  Jim Meyering  <meyering@lucent.com>
51370
51371         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
51372
51373 2000-04-13  Jim Meyering  <meyering@lucent.com>
51374
51375         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
51376         AH_VERBATIM to insert required #ifndef into config.h.in.
51377         Suggestion from Akim Demaille.
51378
51379 2000-04-12  Jim Meyering  <meyering@lucent.com>
51380
51381         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
51382         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
51383         Christian Krackowizer.
51384
51385         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
51386         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
51387         (AC_SYS_LARGEFILE): Require.
51388         (AM_C_PROTOTYPES): Require.
51389
51390 2000-04-08  Jim Meyering  <meyering@lucent.com>
51391
51392         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
51393         names don't conflict.  Reported by Eli Zaretskii.
51394
51395 2000-04-07  Jim Meyering  <meyering@lucent.com>
51396
51397         * lib/putenv.c: Move inclusion of errno.h so it follows that of
51398         sys/types.h, to work around system header problems on AIX 3.2.5.
51399         From Bruno Haible.
51400
51401 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
51402
51403         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
51404         bug.  Deal with the different error behavior of Irix iconv.
51405
51406 2000-04-05  Paul Eggert  <eggert@twinsun.com>
51407
51408         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
51409         IRIX if the installer said otherwise.
51410
51411 2000-04-05  Jim Meyering  <meyering@lucent.com>
51412
51413         Portability tweaks required for ultrix4.3.
51414         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
51415         (jm_CHECK_DECLS): Add getutent to the list of functions.
51416         (_jm_DECL_HEADERS): Add utmpx.h.
51417         From John David Anglin.
51418
51419         * m4/strftime.m4: Back out the 2000-04-02 change.
51420         Instead of that change, simply undefine putenv in the test program.
51421
51422 2000-04-05  Jim Meyering  <meyering@lucent.com>
51423
51424         Portability tweaks required for ultrix4.3.
51425         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
51426         getutent.
51427         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
51428         * lib/canon-host.c: Declare strdup.
51429         * lib/path-concat.c: Likewise.
51430         From John David Anglin.
51431
51432 2000-04-04  Jim Meyering  <meyering@lucent.com>
51433
51434         Be more DOS 8.3-friendly.
51435         * lib/ref-add.sin: Renamed from ref-add.sed.in.
51436         * lib/ref-del.sin: Renamed from ref-del.sed.in.
51437         * lib/Makefile.am: Reflect renaming.
51438         Reported by Eli Zaretskii.
51439
51440         Use a temporary file name that won't clash with `charset.alias'
51441         in the DOS 8.3 name space.
51442         * lib/Makefile.am (charset_tmp): Define.
51443         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
51444         (uninstall-local): Likewise.
51445         Reported by Eli Zaretskii.
51446
51447 2000-04-03  Jim Meyering  <meyering@lucent.com>
51448
51449         * m4/gettext.m4: Fix typo in comment.
51450
51451         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
51452         textutils/configure.in).  Suggestion from Paul Eggert.
51453         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
51454
51455 2000-04-02  Paul Eggert  <eggert@twinsun.com>
51456
51457         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
51458         variable in the shell rather than using putenv, which isn't
51459         portable.  This avoids the configure-time inter-test dependency
51460         on the potentially-renamed putenv function.
51461
51462 2000-03-30  Paul Eggert  <eggert@twinsun.com>
51463
51464         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
51465         before checking struct stat.st_blksize, so that
51466         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
51467
51468 2000-03-29  Paul Eggert  <eggert@twinsun.com>
51469
51470         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
51471         since strftime.c uses HAVE_STRFTIME to decide whether to use
51472         the underlying strftime.
51473
51474 2000-03-29  Paul Eggert  <eggert@twinsun.com>
51475
51476         * lib/time/strftime.c (my_strftime): Make sure we call the system
51477         strftime, not ourselves, when invoking the underlying strftime.
51478
51479 2000-03-24  Jim Meyering  <meyering@lucent.com>
51480
51481         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
51482         (charset_alias): Define.
51483         (install-exec-local): Factor out common code.
51484         (uninstall-local): Split lines longer than 80.
51485         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
51486         (SUFFIXES): Define.
51487         (.sed.in.sed): New rule.  Don't redirect directly to $@.
51488         (CLEANFILES): Add ref-add.sed and ref-del.sed.
51489
51490 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
51491
51492         * lib/config.charset: Output a line containing "Packages using this
51493         file".
51494         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
51495         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
51496         ref-del.sed): New rules.
51497
51498 2000-03-17  Jim Meyering  <meyering@lucent.com>
51499
51500         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
51501         Otherwise, include <strings.h>
51502
51503 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
51504
51505         * lib/unicodeio.c (utf8_wctomb): New function.
51506         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
51507         format instead of in UCS-4 with platform dependent endianness.
51508
51509 2000-03-10  Jim Meyering  <meyering@lucent.com>
51510
51511         * m4/lib-check.m4: Look for getspnam in -lgen, too.
51512         From Marco Franzen.
51513
51514 2000-03-07  Paul Eggert  <eggert@twinsun.com>
51515
51516         * lib/savedir.c (savedir): Work even if directory size is
51517         negative; this can happen with some screwy NFS configurations.
51518
51519 2000-03-06  Jim Meyering  <meyering@lucent.com>
51520
51521         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
51522         if it's NULL (because we ran out of memory).  From Bruno Haible.
51523
51524 2000-03-05  Jim Meyering  <meyering@lucent.com>
51525
51526         * lib/localcharset.c ("path-concat.h"): Include.
51527         (get_charset_aliases): Use path_concat instead of ANSI string
51528         concatenation.
51529
51530         * lib/unicodeio.h (PARAMS): Define.
51531         Use it to guard prototype.
51532
51533 2000-03-04  Jim Meyering  <meyering@lucent.com>
51534
51535         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
51536         for lib/localcharset.c.
51537
51538 2000-03-04  Jim Meyering  <meyering@lucent.com>
51539
51540         * lib/Makefile.am (install-exec-local): Create $(libdir) before
51541         installing into it.
51542         (uninstall-local): Uncomment this rule so `make distcheck' works
51543         once again.
51544
51545         * lib/unicodeio.c (<errno.h>): Include it.
51546         (errno): Declare if not defined.
51547
51548         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
51549
51550         * lib/config.charset: New version, incorporating remarks from a linux
51551         i18n mailing list.  From Bruno Haible.
51552
51553 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
51554
51555         * m4/codeset.m4: New file.
51556         * m4/iconv.m4: New file.
51557         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
51558
51559 2000-03-03  Jim Meyering  <meyering@lucent.com>
51560
51561         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
51562
51563 2000-03-02  Jim Meyering  <meyering@lucent.com>
51564
51565         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
51566         the messages come out on separate lines.
51567
51568         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
51569         rather than jm_CHECK_DECLARATIONS.
51570         * m4/decl.m4: Remove now-unused file.
51571
51572         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
51573         geteuid.
51574
51575 2000-03-02  Jim Meyering  <meyering@lucent.com>
51576
51577         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
51578
51579 2000-03-01  Jim Meyering  <meyering@lucent.com>
51580
51581         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
51582         * lib/unicodeio.c: Likewise.
51583
51584 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
51585
51586         * lib/config.charset: New file.
51587         * lib/localcharset.c: New file.
51588         * lib/unicodeio.h, lib/unicodeio.c: New files.
51589         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
51590         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
51591         (noinst_HEADERS): Add unicodeio.h.
51592         (all-local, install-exec-local, charset.alias): New targets.
51593
51594 2000-02-28  Paul Eggert  <eggert@twinsun.com>
51595
51596         * lib/quotearg.c (ALERT_CHAR): New macro.
51597         (quotearg_buffer_restyled): Use it.
51598
51599 2000-02-27  Jim Meyering  <meyering@lucent.com>
51600
51601         * m4/check-decl.m4: Add getenv to the list.
51602
51603 2000-02-27  Jim Meyering  <meyering@lucent.com>
51604
51605         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
51606         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
51607
51608         * lib/backupfile.c: Guard inclusion of stdlib.h with
51609         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
51610         Declare malloc if needed.
51611
51612         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
51613         `#ifndef HAVE_DECL..'
51614         now that autoconf always defines the HAVE_DECL_ symbols.
51615         * lib/human.c: Likewise.
51616         * lib/same.c: Likewise.
51617         * lib/strtoumax.c: Likewise.
51618
51619         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
51620         declaration check was not run.
51621         * lib/hash.c: Likewise.
51622         * lib/human.c: Likewise.
51623         * lib/same.c: Likewise.
51624         * lib/strtoumax.c: Likewise.
51625
51626         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
51627         `.', then first look up the entire `.'-containing string as a login
51628         name.
51629
51630 2000-02-23  Jim Meyering  <meyering@lucent.com>
51631
51632         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
51633         in place of my hack.
51634
51635 2000-02-18  Paul Eggert  <eggert@twinsun.com>
51636
51637         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
51638         (textint): New typedef.
51639         (parser_control): Member year changed from int to textint.
51640         All uses changed.
51641         (YYSTYPE): Removed; replaced by %union with int and textint members.
51642         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
51643         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
51644         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
51645         (tSNUMBER, tUNUMBER): Now of type <textintval>.
51646         (date, number, to_year): Use width of number in digits, not its value,
51647         to determine whether it's a 2-digit year, or a 2-digit time.
51648         (yylex): Store number of digits of numeric tokens.
51649         Reported by John Kendall.
51650
51651         (parser_control): Changed from struct parser_control to typedef (for
51652         consistency).  All uses changed.
51653
51654         (tID): Removed; not used.
51655         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
51656
51657 2000-02-14  Paul Eggert  <eggert@twinsun.com>
51658
51659         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
51660         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
51661
51662 2000-02-12  Jim Meyering  <meyering@lucent.com>
51663
51664         * lib/userspec.c (ISDIGIT): Define it.
51665         (isdigit): Remove definition.
51666         (is_number): Use ISDIGIT, not isdigit.
51667         <libintl.h>: Include.
51668         (_ and N_): Define.
51669         (parse_user_spec): Mark translatable strings.
51670
51671 2000-02-10  Jim Meyering  <meyering@lucent.com>
51672
51673         With these changes, nanosleep.[ch] are finally enough like the other
51674         lib/* replacement files to compile on a few more losing systems.
51675
51676         * lib/nanosleep.h: Don't include config.h.
51677         Remove prototype from declaration of nanosleep.
51678         (PARAMS): Remove now-unneeded definition.
51679         * lib/nanosleep.c: #undef nanosleep.
51680         (rpl_nanosleep): Rename from nanosleep.
51681
51682 2000-02-10  Jim Meyering  <meyering@lucent.com>
51683
51684         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
51685         gnu_nanosleep to rpl_nanosleep.
51686
51687 2000-02-09  Jim Meyering  <meyering@lucent.com>
51688
51689         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
51690         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
51691
51692 2000-02-08  Akim Demaille  <akim@epita.fr>
51693
51694         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
51695         `[' and `]' and remove uses of `changequote'.
51696         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
51697         (AC_SYS_LARGEFILE): Likewise.
51698         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
51699         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
51700         of changequote.
51701         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
51702         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
51703         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
51704         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
51705
51706 2000-02-05  Jim Meyering  <meyering@lucent.com>
51707
51708         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
51709         Remove explicit use of AC_HEADER_TIME.  It is required by
51710         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
51711         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
51712         in autoconf whereby the expansion of the latter ended up preceding
51713         the expansion of its prerequisite, AC_HEADER_TIME.
51714         Reported by Volker Borchert.
51715
51716 2000-02-03  Jim Meyering  <meyering@lucent.com>
51717
51718         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
51719
51720 2000-02-03  Jim Meyering  <meyering@lucent.com>
51721
51722         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
51723         rather than with `#if HAVE_UTMPNAME'.
51724
51725 2000-02-02  Jim Meyering  <meyering@lucent.com>
51726
51727         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
51728         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
51729         Reported by Eli Zaretskii.
51730
51731 2000-02-01  Jim Meyering  <meyering@lucent.com>
51732
51733         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
51734
51735 2000-01-31  Jim Meyering  <meyering@lucent.com>
51736
51737         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
51738         functions.  Add the time.h and sys/time.h headers along with the
51739         AC_REQUIRE'ment of AC_HEADER_TIME.
51740
51741 2000-01-31  Jim Meyering  <meyering@lucent.com>
51742
51743         * lib/nanosleep.h (nanosleep): Guard declaration with
51744         `#if ! HAVE_DECL_NANOSLEEP'.
51745         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
51746         the declaration in that vendor's sys/timers.h.
51747         Reported by Christian Krackowizer.
51748
51749         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
51750         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
51751         (ISPRINT): Likewise.
51752         Reported by Tom Tromey.
51753
51754 2000-01-30  Jim Meyering  <meyering@lucent.com>
51755
51756         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
51757
51758         * m4/prereq.m4 (utmp_includes): Define.
51759         Check for ut_user and ut_name members in both struct utmpx
51760         and struct utmp.
51761
51762 2000-01-30  Jim Meyering  <meyering@lucent.com>
51763
51764         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
51765         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
51766         header files where only utmpx.ut_user is declared.
51767
51768         * lib/readutmp.h (UT_USER): Define.
51769
51770 2000-01-29  Jim Meyering  <meyering@lucent.com>
51771
51772         * m4/lib-check.m4: New file containing library-related checks from
51773         fileutils and sh-utils (textutils had none).
51774
51775 2000-01-28  Jim Meyering  <meyering@lucent.com>
51776
51777         * m4/perl.m4: Change format of warning message to look more like that
51778         from the missing script.  Suggestion from François Pinard.
51779
51780 2000-01-25  Jim Meyering  <meyering@lucent.com>
51781
51782         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
51783         well as time.h in the compile check.
51784         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
51785         Fix typo in cross-compiling case: s/yes/no/.
51786
51787 2000-01-23  Jim Meyering  <meyering@lucent.com>
51788
51789         * m4/jm-macros.m4: Move df-related tests here from
51790         fileutils/configure.in
51791
51792         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
51793         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
51794
51795         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
51796         s/space/ac_fsusage_space/.
51797         (jm_FILE_SYSTEM_USAGE): Take two parameters.
51798
51799         * m4/ftruncate.m4: New file (derived from part of
51800         fileutils/configure.in).
51801         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
51802         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
51803
51804         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
51805         AC_SUBST these here, rather than just in sh-util/configure.in, so
51806         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
51807         all the same.
51808         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
51809         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
51810         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
51811         (AC_SUBST(POW_LIBM)): Likewise.
51812         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
51813
51814 2000-01-23  Jim Meyering  <meyering@lucent.com>
51815
51816         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
51817         obstack.c.
51818
51819 2000-01-22  Jim Meyering  <meyering@lucent.com>
51820
51821         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
51822
51823         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
51824
51825         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
51826         configure.in
51827         (AC_CHECK_HEADERS): Likewise for sh-utils.
51828         (AC_CHECK_HEADERS): Likewise for textutils.
51829         Merge the three lists of headers.
51830
51831         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
51832         from fileutils' configure.in.
51833
51834         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
51835         code. Moved tests into their own function (_jm_DECL_HEADERS) in
51836         check-decl.m4.
51837
51838         * m4/check-decl.m4: Use #if rather than #ifdef.
51839         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
51840         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
51841         (_jm_DECL_HEADERS): Define new function.
51842         (jm_CHECK_DECLARATIONS): Require it.
51843
51844 2000-01-22  Jim Meyering  <meyering@lucent.com>
51845
51846         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
51847         [! HAVE_DECL_STRTOULL]: Declare strtoull.
51848         Required for some AIX systems.  Reported by Christian Krackowizer.
51849         [TESTING] (main): New function.
51850
51851         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
51852         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
51853         letters.
51854
51855         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
51856         iswprint.
51857
51858         * lib/strverscmp.c (ISDIGIT): Define.
51859         (strverscmp): Use ISDIGIT, not isdigit.
51860
51861 2000-01-19  Jim Meyering  <meyering@lucent.com>
51862
51863         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
51864         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
51865         defines `struct timespec' in <sys/time.h>
51866
51867         * m4/c-bs-a.m4: Remove uses of changequote altogether.
51868         Thanks to Akim for explaining.
51869
51870 2000-01-17  Paul Eggert  <eggert@twinsun.com>
51871
51872         * lib/nanosleep.c (nanosleep):
51873         Don't use SA_INTERRUPT to decide whether to call sigaction, as
51874         POSIX.1 doesn't require SA_INTERRUPT and some systems
51875         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
51876         it's been part of POSIX.1 since day 1 (in 1988).
51877
51878 2000-01-17  Jim Meyering  <meyering@lucent.com>
51879
51880         * lib/interlock: Remove unused file.  Reported by François Pinard.
51881
51882 2000-01-16  Paul Eggert  <eggert@twinsun.com>
51883
51884         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
51885         alert, backslash, formfeed, and vertical tab unnecessarily in
51886         shell quoting style.
51887
51888 2000-01-16  Jim Meyering  <meyering@lucent.com>
51889
51890         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
51891         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
51892         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
51893         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
51894
51895 2000-01-16  Jim Meyering  <meyering@lucent.com>
51896
51897         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
51898         because the latter didn't work.
51899
51900 2000-01-15  Jim Meyering  <meyering@lucent.com>
51901
51902         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
51903         (AC_REPLACE_FUNCS): Add memcpy and memset.
51904         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
51905         Add strpbrk.
51906         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
51907
51908 2000-01-12  Jim Meyering  <meyering@lucent.com>
51909
51910         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
51911         (jm_PREREQ): Use it.
51912         (jm_PREREQ_READUTMP): New macro.
51913         (jm_PREREQ): Use it.
51914
51915 2000-01-11  Paul Eggert  <eggert@twinsun.com>
51916
51917         Quote multibyte characters correctly.
51918         * m4/c-bs-a.m4: New file.
51919         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
51920         (jm_PREREQ): Use it.
51921
51922 2000-01-11  Paul Eggert  <eggert@twinsun.com>
51923
51924         * m4/uintmax_t.m4: Port to autoconf 2.13.
51925
51926 2000-01-08  Jim Meyering  <meyering@ascend.com>
51927
51928         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
51929         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
51930
51931 2000-01-04  Jim Meyering  <meyering@ascend.com>
51932
51933         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
51934         jm_STRUCT_DIRENT_D_TYPE.
51935         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
51936         jm_STRUCT_DIRENT_D_INO.
51937         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
51938         jm_STRUCT_UTIMBUF.
51939         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
51940         renamings.
51941         * m4/utime.m4: Likewise.
51942
51943         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
51944         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
51945
51946 2000-01-03  Paul Eggert  <eggert@twinsun.com>
51947
51948         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
51949         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
51950
51951 2000-01-02  Jim Meyering  <meyering@ascend.com>
51952
51953         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
51954         remember if this is necessary.
51955
51956 1999-12-26  Jim Meyering  <meyering@ascend.com>
51957
51958         * m4/jm-macros.m4: Use it here.
51959         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
51960
51961 1999-12-23  Jim Meyering  <meyering@ascend.com>
51962
51963         * m4/jm-macros.m4: Check for clock_gettime (moved from
51964         fileutils/configure.in)
51965         Check for gettimeofday.
51966
51967 1999-12-20  Jim Meyering  <meyering@ascend.com>
51968
51969         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
51970         autoconf-2.14a-1999-12-20.
51971
51972 1999-12-19  Jim Meyering  <meyering@ascend.com>
51973
51974         * m4/lstat-slash.m4: New file.
51975         * m4/jm-macros.m4: Use the new macro:
51976         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
51977
51978 1999-12-07  Jim Meyering  <meyering@ascend.com>
51979
51980         * m4/perl.m4: Require that File::Compare be available, too.
51981         Too many systems seem to lack it.
51982
51983         * m4/strftime.m4: Add checks for most of the cpp macros tested in
51984         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
51985
51986 1999-11-18  Paul Eggert  <eggert@twinsun.com>
51987
51988         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
51989         problem with the QNX 4.25 shell, which doesn't propagate exit
51990         status of failed commands inside shell assignments.
51991
51992 1999-11-17  Jim Meyering  <meyering@ascend.com>
51993
51994         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
51995
51996 1999-11-07  Jim Meyering  <meyering@ascend.com>
51997
51998         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
51999
52000 1999-11-06  Jim Meyering  <meyering@ascend.com>
52001
52002         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
52003         * m4/jm-macros.m4 (jm_MACROS): Use it here.
52004
52005 1999-11-05  Jim Meyering  <meyering@ascend.com>
52006
52007         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
52008         configure.in of textutils, fileutils, and sh-utils into this one
52009         (shared between those packages) file.
52010         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
52011         AC_STRUCT_ST_BLKSIZE.
52012
52013 1999-11-03  Jim Meyering  <meyering@ascend.com>
52014
52015         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
52016         of AC_CHECK_TYPE checks includes unistd.h.
52017         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
52018         Suggestion from Akim Demaille.
52019
52020 1999-10-30  Jim Meyering  <meyering@ascend.com>
52021
52022         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
52023         m4-quoted string.
52024         * m4/ls-mntd-fs.m4: Likewise.
52025         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
52026         * m4/jm-winsz1.m4: Likewise.
52027
52028         * m4/const.m4: Remove file, since the fix made it into the experimental
52029         version of autoconf.
52030         * m4/mktime.m4: Likewise.
52031
52032         * m4/check-type.m4: Remove file, now that the latest version of
52033         AC_CHECK_TYPE takes a third arg to specify additional #includes.
52034
52035         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
52036         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
52037         AC_CHECK_TYPE.
52038
52039 1999-10-04  Jim Meyering  <meyering@ascend.com>
52040
52041         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
52042
52043 1999-09-22  Paul Eggert  <eggert@twinsun.com>
52044
52045         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
52046         2.95.1 bug with HP-UX 10.20.
52047
52048 1999-09-17  Jim Meyering  <meyering@ascend.com>
52049
52050         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
52051         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
52052         due to missing strdup (against sh-utils-2.0).
52053
52054 1999-08-29  Jim Meyering  <meyering@ascend.com>
52055
52056         * m4/jm-macros.m4: Require jm_BISON.
52057         * m4/bison.m4: New file.
52058
52059 1999-08-17  Paul Eggert  <eggert@twinsun.com>
52060
52061         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
52062         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
52063
52064 1999-08-05  Jim Meyering  <meyering@ascend.com>
52065
52066         * m4/getline.m4: Rename test file from conftestdata to conftest.data
52067         to avoid conflicts with `conftest' on 8+3 filesystems.
52068         Suggestion from Eli Zaretskii.
52069
52070 1999-08-04  Jim Meyering  <meyering@ascend.com>
52071
52072         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
52073         fileutils and sh-utils (textutils's getline test was inadequate).
52074         (AM_FUNC_GETLINE): Run this test.
52075         (AC_CHECK_FUNCS): Check for getdelim.
52076         Reported by Bob Proulx.
52077
52078 1999-08-02  Jim Meyering  <meyering@ascend.com>
52079
52080         * m4/jm-macros.m4: Add a comment.
52081
52082 1999-08-01  Paul Eggert  <eggert@twinsun.com>
52083
52084         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
52085         <inttypes.h> defines strtoumax as a macro (and not as a
52086         function).
52087
52088 1999-08-01  Paul Eggert  <eggert@twinsun.com>
52089
52090         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
52091         that we can shift, multiply and divide unsigned long long
52092         values; Ultrix cc can't do it.
52093
52094 1999-08-01  Paul Eggert  <eggert@twinsun.com>
52095
52096         * m4/mktime.m4: New file, which is a preview of what should appear
52097         in the next public autoconf release.
52098
52099 1999-08-01  Paul Eggert  <eggert@twinsun.com>
52100
52101         * m4/lfs.m4: Remove this file.
52102         * m4/largefile.m4: New file.  It contains the old contents of
52103         lfs.m4, except that all names with prefix AC_LFS have been
52104         changed to use the prefix AC_SYS_LARGEFILE instead, to be
52105         compatible with future autoconf versions.  Also, some minor m4
52106         quoting problems have been fixed.
52107
52108 1999-08-01  Paul Eggert  <eggert@twinsun.com>
52109
52110         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
52111         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
52112         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
52113         and simplify the shell code.
52114
52115 1999-08-01  Jim Meyering  <meyering@ascend.com>
52116
52117         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
52118         m4.
52119
52120 1999-07-20  Jim Meyering  <meyering@ascend.com>
52121
52122         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
52123
52124 1999-07-15  Jim Meyering  <meyering@ascend.com>
52125
52126         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
52127
52128 1999-05-22  Jim Meyering  <meyering@ascend.com>
52129
52130         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
52131
52132 1999-05-20  Jim Meyering  <meyering@ascend.com>
52133
52134         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
52135         Add a colon after each `then' in case $4 is empty.
52136
52137 1999-05-16  Jim Meyering  <meyering@ascend.com>
52138
52139         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
52140
52141 1999-05-10  Jim Meyering  <meyering@ascend.com>
52142
52143         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
52144
52145         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
52146         AC_FUNC_MKTIME.
52147
52148 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
52149
52150         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
52151
52152 1999-05-04  Paul Eggert  <eggert@twinsun.com>
52153
52154         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
52155         not CPPFLAGS, so that linking works correctly in IRIX.
52156
52157 1999-04-30  Paul Eggert  <eggert@twinsun.com>
52158
52159         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
52160
52161 1999-04-20  Paul Eggert  <eggert@twinsun.com>
52162
52163         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
52164         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
52165         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
52166         jm_AC_TYPE_UNSIGNED_LONG_LONG.
52167         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
52168
52169         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
52170
52171 1999-04-20  Jim Meyering  <meyering@ascend.com>
52172
52173         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
52174         AC_REPLACE xstroull if necessary.  From Paul Eggert.
52175         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
52176
52177 1999-04-18  Jim Meyering  <meyering@ascend.com>
52178
52179         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
52180         * m4/jm-macros.m4: Use it.
52181
52182 1999-04-06  Jim Meyering  <meyering@ascend.com>
52183
52184         * m4/strftime.m4: Remove test for %f.
52185
52186 1999-03-29  Jim Meyering  <meyering@ascend.com>
52187
52188         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
52189         superset of the AC_TYPE_* checks in the textutils, fileutils,
52190         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
52191         AC_TYPE_PID_T.
52192
52193 1999-03-28  Jim Meyering  <meyering@ascend.com>
52194
52195         * m4/jm-macros.m4: Define GNU_PACKAGE here.
52196         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
52197         replaced e.g., in the *.sh files of the sh-utils.
52198
52199 1999-03-20  Jim Meyering  <meyering@ascend.com>
52200
52201         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
52202         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
52203         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
52204
52205 1999-03-19  Jim Meyering  <meyering@ascend.com>
52206
52207         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
52208
52209 1999-03-12  Jim Meyering  <meyering@ascend.com>
52210
52211         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
52212
52213 1999-03-07  Jim Meyering  <meyering@ascend.com>
52214
52215         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
52216         declared.
52217
52218 1999-02-17  Jim Meyering  <meyering@ascend.com>
52219
52220         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
52221         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
52222
52223 1999-02-07  Jim Meyering  <meyering@ascend.com>
52224
52225         * m4/group-member.m4: New file -- extracted from sh-utils'
52226         configure.in.
52227
52228         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
52229         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
52230
52231 1999-02-06  Jim Meyering  <meyering@ascend.com>
52232
52233         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
52234         * m4/fnmatch.m4: Likewise.
52235         * m4/getgroups.m4: Likewise.
52236         * m4/lstat.m4: Likewise.
52237         * m4/malloc.m4: Likewise.
52238         * m4/putenv.m4: Likewise.
52239         * m4/realloc.m4: Likewise.
52240         * m4/regex.m4: Likewise.
52241         * m4/stat.m4: Likewise.
52242         * m4/strftime.m4: Likewise.
52243         Suggestion from Alain Magloire.
52244
52245         * m4/chown.m4: Use `.$ac_objext', not `.o'.
52246         * m4/fnmatch.m4: Likewise.
52247         * m4/getgroups.m4: Likewise.
52248         * m4/getline.m4: Likewise.
52249         * m4/lstat.m4: Likewise.
52250         * m4/malloc.m4: Likewise.
52251         * m4/memcmp.m4: Likewise.
52252         * m4/putenv.m4: Likewise.
52253         * m4/realloc.m4: Likewise.
52254         * m4/regex.m4: Likewise.
52255         * m4/stat.m4: Likewise.
52256         * m4/strftime.m4: Likewise.
52257         Suggestion from Alain Magloire.
52258
52259         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
52260         an argument.
52261
52262         * m4/regex.m4: Add a run-time Test for proper operation of
52263         re_compile_pattern.
52264
52265 1999-01-31  Jim Meyering  <meyering@ascend.com>
52266
52267         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
52268
52269 1999-01-30  Jim Meyering  <meyering@ascend.com>
52270
52271         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
52272
52273         * m4/jm-mktime.m4: Make this a wrapper around the official
52274         AM_FUNC_MKTIME rather than my private copy, now that the official one
52275         is up to date.
52276         * m4/mktime.m4: Remove file.
52277
52278         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
52279         * m4/uptime.m4: Likewise.
52280         * m4/uintmax_t.m4: Likewise.
52281
52282 1999-01-28  Jim Meyering  <meyering@ascend.com>
52283
52284         * m4/jm-macros.m4: Use jm_AFS.
52285         * m4/afs.m4: New file (from fileutils' configure.in).
52286
52287         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
52288         * m4/chown.m4: Likewise.
52289         * m4/d-ino.m4: Likewise.
52290         * m4/d-type.m4: Likewise.
52291         * m4/fnmatch.m4: Likewise.
52292         * m4/getgroups.m4: Likewise.
52293         * m4/gettext.m4: Likewise.
52294         * m4/jm-mktime.m4: Likewise.
52295         * m4/jm-winsz2.m4: Likewise.
52296         * m4/lcmessage.m4: Likewise.
52297         * m4/ls-mntd-fs.m4: Likewise.
52298         * m4/malloc.m4: Likewise.
52299         * m4/memcmp.m4: Likewise.
52300         * m4/putenv.m4: Likewise.
52301         * m4/realloc.m4: Likewise.
52302         * m4/st_mtim.m4: Likewise.
52303         * m4/strftime.m4: Likewise.
52304
52305 1999-01-16  Jim Meyering  <meyering@ascend.com>
52306
52307         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
52308         (ARGMATCH_DIE_DECL): Define.
52309
52310 1999-01-12  Jim Meyering  <meyering@ascend.com>
52311
52312         * m4/Makefile.am.in: Rewrite to avoid using fmt.
52313         Reported by Lars Hecking.
52314
52315 1999-01-10  Jim Meyering  <meyering@ascend.com>
52316
52317         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
52318         gross kludge.
52319         * m4/inttypes_h.m4: Likewise.
52320         * m4/lstat.m4: Likewise.
52321         * m4/malloc.m4: Likewise.
52322         * m4/readdir.m4: Likewise.
52323         * m4/realloc.m4: Likewise.
52324         * m4/st_dm_mode.m4: Likewise.
52325         * m4/stat.m4: Likewise.
52326         * m4/utimbuf.m4: Likewise.
52327         * m4/utimes.m4: Likewise.
52328
52329         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
52330         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
52331         comments in config.h.in are meaningful.
52332
52333         * m4/jm-macros.m4: Require autoconf-2.13 here.
52334
52335         * m4/regex.m4: By default, don't use the included regex.c on systems
52336         with glibc 2.  Suggestion from Uli Drepper.
52337
52338 1999-01-02  Jim Meyering  <meyering@ascend.com>
52339
52340         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
52341
52342 1998-12-18  Jim Meyering  <meyering@ascend.com>
52343
52344         * m4/Makefile.am.in (Makefile.am): Simplify rule.
52345         Based on a suggestion from Lars Hecking.
52346
52347 1998-11-16  Paul Eggert  <eggert@twinsun.com>
52348
52349         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
52350
52351 1998-11-16  Jim Meyering  <meyering@ascend.com>
52352
52353         * m4/lfs.m4: Double-quote the `uname...` expression.
52354
52355 1998-11-14  Jim Meyering  <meyering@ascend.com>
52356
52357         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
52358         * m4/stat.m4: Likewise.
52359
52360 1998-11-03  Jim Meyering  <meyering@ascend.com>
52361
52362         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
52363         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
52364
52365 1998-10-18  Jim Meyering  <meyering@ascend.com>
52366
52367         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
52368
52369 1998-10-17  Jim Meyering  <meyering@ascend.com>
52370
52371         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
52372         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
52373         calls for those previously hard-coded headers.  Instead, take a new
52374         parameter.
52375         (jm_CHECK_DECLARATIONS): Reflect interface change.
52376         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
52377         (jm_CHECK_DECL_LOCALTIME_R): New macro.
52378
52379         * m4/mktime.m4: Test for spring-forward gap before long-running test.
52380
52381 1998-10-14  Jim Meyering  <meyering@ascend.com>
52382
52383         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
52384         instead of "TZ=America/Vancouver".  From Paul Eggert.
52385
52386 1998-10-11  Jim Meyering  <meyering@ascend.com>
52387
52388         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
52389         This adds a test for a recently added compatibility fix for mktime.c.
52390         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
52391
52392 1998-09-27  Jim Meyering  <meyering@ascend.com>
52393
52394         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
52395
52396         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
52397         ../configure.in, including a change from Gordon Matzigkeit to allow
52398         cross-compiling for the Hurd.
52399
52400         * m4/glibc.m4: New file/macro to test for the GNU C Library
52401         versions 1 and 2.  From Gordon Matzigkeit.
52402         Indent.
52403
52404 1998-09-21  Jim Meyering  <meyering@ascend.com>
52405
52406         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
52407
52408 1998-08-18  Paul Eggert  <eggert@twinsun.com>
52409
52410         Port nanosecond-resolution times to UnixWare 2.1.2 and
52411         pedantic Solaris 2.6.
52412
52413         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
52414         AC_STRUCT_ST_MTIM.
52415         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
52416         Generate name of ns member, instead of just 1 or undef.
52417         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
52418
52419 1998-08-15  Jim Meyering  <meyering@ascend.com>
52420
52421         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
52422         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
52423         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
52424         instead of jm_TYPE_SSIZE_T.
52425
52426 1998-08-12  Jim Meyering  <meyering@ascend.com>
52427
52428         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
52429
52430 1998-08-02  Jim Meyering  <meyering@ascend.com>
52431
52432         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
52433         in acconfig.h manually.
52434
52435 1998-07-31  Paul Eggert  <eggert@twinsun.com>
52436
52437         * m4/st_mtim.m4: New file.
52438
52439 1998-07-28  Jim Meyering  <meyering@ascend.com>
52440
52441         * m4/utimes.m4: Undef stat.
52442
52443 1998-07-25  Jim Meyering  <meyering@ascend.com>
52444
52445         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
52446         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
52447
52448 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
52449
52450         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
52451         uid and gid actually remain unchanged.
52452
52453 1998-07-07  Jim Meyering  <meyering@ascend.com>
52454
52455         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
52456
52457 1998-07-04  Jim Meyering  <meyering@ascend.com>
52458
52459         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
52460         to prove that this macro can be used in packages without regex.c.
52461
52462 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
52463
52464         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
52465         is to be used.
52466
52467 1998-07-03  Jim Meyering  <meyering@ascend.com>
52468
52469         * m4/gettext.m4: Add -lintl if it's found to be necessary.
52470
52471         * m4/gettext.m4: New file -- from gettext-0.10.35.
52472         * m4/lcmessage.m4: Likewise.
52473         * m4/progtest.m4: Likewise.
52474
52475         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
52476         * m4/jm-macros.m4: Require the new macro.
52477
52478 1998-06-29  Jim Meyering  <meyering@ascend.com>
52479
52480         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
52481         for the definition of NGROUPS (used in a system header included
52482         by sys/mount.h).
52483
52484 1998-06-28  Jim Meyering  <meyering@ascend.com>
52485
52486         * m4/ls-mntd-fs.m4: New file.
52487         * m4/fstypename.m4: New file.
52488
52489         * m4/jm-macros.m4: Require the new macro.
52490         * m4/jm-glibc-io.m4: New file.
52491
52492 1998-05-19  Jim Meyering  <meyering@ascend.com>
52493
52494         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
52495         * m4/lchown.m4: New file.
52496
52497         * m4/Makefile.am.in: New file.
52498         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
52499
52500 1998-05-14  Jim Meyering  <meyering@ascend.com>
52501
52502         * m4/Makefile.am (EXTRA_DIST): Add them.
52503         * m4/jm-macros.m4: New file.
52504         * m4/utimbuf.m4: New file.
52505
52506 1998-05-12  Jim Meyering  <meyering@ascend.com>
52507
52508         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
52509
52510 1998-05-11  Jim Meyering  <meyering@ascend.com>
52511
52512         * m4/isc-posix.m4: New file.
52513
52514 1998-05-10  Jim Meyering  <meyering@ascend.com>
52515
52516         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
52517
52518 1998-05-09  Jim Meyering  <meyering@ascend.com>
52519
52520         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
52521         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
52522         with automake.
52523
52524         * m4/ssize_t.m4: New file.
52525         * m4/mktime.m4: Remove file -- the new automake has this now.
52526
52527 1998-04-26  Jim Meyering  <meyering@ascend.com>
52528
52529         * m4/assert.m4: New file.
52530         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
52531
52532 1998-04-05  Jim Meyering  <meyering@ascend.com>
52533
52534         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
52535         (jm_PREREQ): Use it here.
52536
52537 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
52538
52539         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
52540         in acconfig.h.
52541
52542 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
52543
52544         * m4/prereq.m4: New file.
52545         * m4/error.m4: New file.
52546         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
52547
52548 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
52549
52550         * m4/getline.m4: Don't set am_cv_func_working_getline before the
52551         cache-check for the same variable -- that defeated the purpose of
52552         the test; the test program was never run.  This was a problem only
52553         on systems with losing getline functions -- HP-UX 10.20 is one.
52554         Reported by Bjorn Helgaas.
52555
52556 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
52557
52558         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
52559
52560 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
52561
52562         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
52563
52564         * m4/const.m4: New file.  Use an initializer in this declaration
52565         typedef int charset[2]; const charset x;
52566         Reported by Bob Glickstein.
52567
52568 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
52569
52570         * m4/chown.m4: Fix reversed types on -1 args to chown.
52571         From Kaveh Ghazi.
52572
52573 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
52574
52575         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
52576         Add lseek and memchr.
52577
52578         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
52579         T.E.Dickey <dickey@clark.net> said that some older preprocessors
52580         have a 20-character limit on names.
52581
52582 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
52583
52584         * m4/inttypes_h.m4: New file.
52585         * m4/uintmax_t.m4: New file.
52586         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
52587
52588
52589         -----
52590
52591         Local Variables:
52592         coding: utf-8
52593         End:
52594
52595         Copyright (C) 1997-2009 Free Software Foundation, Inc.
52596
52597         Copying and distribution of this file, with or without
52598         modification, are permitted provided the copyright notice
52599         and this notice are preserved.